양자컴퓨터 본론
지금까지 양자컴퓨터 서론에 해당하는 양자컴퓨터의 개념을 살펴 봤습니다.
양자컴퓨터를 탄생시킨 양자역학을 살펴 봤습니다.
이제 양자컴퓨터의 본 모습을 설명합니다.
이해의 편의를 위하여 고전컴퓨터와 비교하여 설명합니다. 또한 같은 사유로 회당 내용을 선형대수나 미분방정식 등 어려운 것은 생략하는 등, 가능한 한 짧게 다룹니다
1. 고전 컴퓨터의 작동 원리
기계가 사람처럼 생각을 할 수 있을까? 라는 생각을 한 사람은 영국의 천재 과학자 앨런 튜링(Alan Turing) 이었습니다. 그가 남긴 논문이 종전 계산기 주산을 대체하면서, 기계 계산기 컴퓨터를 탄생시켰습니다.
튜링은 2차대전 시에 독일의 암호생성기 에니그마(Enigma)의 알고리즘을 궁구하면서 해석하여, 영국이 승전하는 데 결정적인 공헌을 하였습니다. 독일의 작전을 사전에 파악하고 이에 대한 대비책을 만들어 승전의 계기를 확보한 것입니다.
인간은 정보를 통하여 의사소통을 합니다. 말, 문자, 그림, 동영상을 통하여 다른 상대방과 의사를 소통하는 것입니다. 그 소통수단으로서 컴퓨터를 만들어서 사용합니다. 컴퓨터에 검색엔진을 만들어 그 곳에 수많은 정보를 저장해 놓고, 사람들이 그 저장한 곳에 접속하여 문의를 하면 해당 답변을 보여 줍니다. 또한 SNS 라는 대화 프로그램의 창에 의사를 입력하면, 그것이 인터넷망을 타고서 상대방에게 출력으로 전달됩니다.
어떻게 이런 의사소통이 가능할까요?
너무나 쉽게 그리고 일상적으로 소통하기 때문에 우리는 별도로 알아볼 필요를 못 느낍니다. 스마트폰을 사서 통신회사와 계약을 하여 전화번호로서 의사소통을 하는 서비스를 이용하기만 하면 되기에 굳이 작동 원리를 알지 않아도 생활에 불편이 없기 때문입니다.
하지만 양자컴퓨터가 출현한 지금 양자컴퓨터를 알려면 고전컴퓨터(스마트폰, 노트북, 서버 등)와 비교를 하여야 쉽게 이해를 할 수가 있습니다.
고전컴퓨터는 Hardware 라는 컴퓨터 기계와 Software 라는 작동절차를 활용하여 사용됩니다. 이를 상세히 설명하면 많은 지면이 필요합니다. 간략히 요약합니다.
우리는 의사소통 수단으로 언어를 사용합니다. 고전컴퓨터는 0과 1로 구성된 비트 0과 동 1을 사용합니다.
양자컴퓨터는 큐비트 Ket 0과 Ket 1을 사용합니다.
고전컴퓨터의 Hardware는 기계 본체입니다. 입력장치, 연산장치, 정보 저장장치, 출력장치와 여러 보조장치로 컴퓨터 시스템을 만듭니다. 연산장치는 HW의 핵심 장치로서 Control Unit(제어장치)와 Arithmetic Logic Unit(논리와 산술 처리장치)로 구성됩니다. 이것을 Central Control Unit(중앙처리장치)라고 하며, 줄여서 CPU라고 사용합니다.
Software는 운영체제(Operation System, OS)라는 작동절차를 사용하여 인간이 시킨 일을 합니다. HW 작동 명령어를 다루며 이 명령어를 구사하여 실제로 숫자 계산을 하고, 논리처리(컴퓨터의 일 처리)를 합니다. 예를 들어서 가산기(Adder)라는 컴퓨터 HW에 2+3이라는 Task(일)를 명령하면, 이 명령어를 CU가 메모리에서 읽어와서 ALU에게 계산을 시킵니다.
ALU는 해답 5를 화면에 출력하여 보여 주는 것입니다. 정보 검색 프로그램 인공지능 챗지피티(Chat-GPT)에게 우리나라에서 역대 가장 위대한 장군을 물으면 이순신 장군이라고 답변해냅니다.
HW와 SW의 작동 절차를 상세히 다루지는 않습니다. 단지 양자컴퓨터의 HW와 SW를 이해할 수 있도록 준비운동에 활용하는 것입니다.
2. 양자컴퓨터의 작동 절차
양자컴퓨터에도 양자 Hard Ware와 양자 Soft Ware가 있습니다.
양자 HW는 ① Qubit(Ket 0 and Ket 1)② Qubit Register, ③ Quantum Gate, Quantum Circuit, ④ Classical-Quantum Control System, ⑤ 측정장치(양자 연산 결과를 측정), ⑥출력장치(비트 0과 비트 1을 출력)로 구성합니다.
(1) Qubit는 Ket 0과 Ket 1로 구성됩니다.
양자 연산을 위해서는 큐비트 Ket 0으로 초기화(준비태세)를 해야 합니다.
(2) 양자 큐비트 레지스터는 양자 정보 단위 Ket 0, Ket 1과 Ket 0&1 중첩상태, 동 얽힘상태를 임시로 저장해 놓고 양자연산 시에 불려와서 양자연산에 사용됩니다.
(3) 퀀텀 게이트는 양자 논리 게이트 입니다.
파울리(Pauli) 게이트(X, Y, Z 등 큐비트 연산 게이트), 아다마르(Hadamard) 게이트(양자 중첩 구현 게이트), CNOT Gate(양자 얽힘 구현 게이트) 등이 있습니다. 퀀텀 게이트를 이리저리 조합하여 퀀텀 회로를 만들어 양자 논리처리와 양자 계산을 합니다.
이외에도 연산 목적에 따른 다양한 퀀텀 게이트 및 회로가 있습니다.


양자 연산의 시간은 아주 짧습니다. 그 이유는 연산 시간이 길수록 양자상태(중첩, 얽힘 등)가 외부의 영향으로 쉽게 붕괴되기 때문입니다. 이를 해결하는 기능도 포함됩니다. 양자연산 시간을 늘리는 기술개발이 매우 중요합니다.
고전컴퓨터에는 이런 잡음(Noise) 해결 알고리즘이 내장되어 원할 하게 작동이 됩니다.
잡음이 있는 경우를 결깨짐(Decoherence) 이라고 부르며, 결이 맞는 경우를 결맞음(Coherence) 이라고 합니다. 결맞음 시간 일상화가 아주 아주 중요합니다. 이런 기술 개발에 우리나라 양자컴퓨터 천재들의 역할이 기대됩니다.
(4) 고전-양자 제어장치(C-QCU)는 양자 연산 알고리즘을 제어합니다.
(5) 측정(Measurement)은 양자 연산결과를 측정하여 큐비트 0과 큐비트 1을 산출해 냅니다. 이 과정에서 중첩되거나 얽혀 있는 큐비트가 붕괴되어 큐비트 0과 동 1이 산출되는 것입니다. 이 경우 큐비트 0과 큐비트 1이 되는 것은 측정 과정에서 확률을 조작에 의합니다. 예를 들어서 큐비트 0을 100%나 이에 가까운 90% 정도의 확률로 만들어 주면 큐비트 0이 산출되는 것입니다.
(6) 출력 단계에서는 큐비트가 비트 0과 동 1로 출력 됩니다.
3. 양자컴퓨터 Process 요약
1) 준비과정(초기화); 큐비트 준비, 큐비트 작동 환경 작동. 작동 환경으로는 초전도 냉각 시설, 진공 상태 유지 시설, 광자 작동 환경 시설, 반도체 작동 시설 등이 있습니다.
2) 입력 과정; 고전 비트와 큐비트 Encoding 장치가 작동 됩니다.
3) 연산 과정; 컨텀 게이트와 회로가 작동되어 양자 논리처리와 양자 산술 연산을 합니다.
4) 오류 감지 및 해결 과정; Noise로 인한 결깨짐을 파악하고 해결하는 기능입니다.
5) 측정 과정; 연산 결과인 큐비트를 검출하는 기능 입니다.
6) 저장 과정; 큐비트 측정 결과를 비트로 변환하여 저장하는 기능 입니다. 현재는 고전컴퓨터 저장장치인 Disc 및 D-RAM등을 활용하지만, 양자 전용 저장장치 개발이 진행 중입니다.
7) 출력 과정; 고전컴퓨터 출력 과정과 같습니다. 큐비트를 연산 하여 비트 0과 비트 1을 출력해 냅니다.
양자컴퓨터를 쉽게 이해하기 위해서는 양자 게이트 및 회로 기능 별도, 고전컴퓨터와 같은 프로세스 별도로 설명해야 하는 것입니다.
이처럼 다양한 각도로 설명하는 일이 양자컴퓨터의 어려운 점을 대변하는 것입니다.
다음은 Qubit, Hard Ware와 Soft Ware의 상세 설명으로 이어집니다.