양자 회로 생성 및 코딩

가역적 Quantum gate CNOT Entanglement, Reversible, Error Correction

coding art 2026. 1. 29. 17:50
728x90

아래 블로그 내용은 다음 사이트의 일부 내용을 참조로 해서 작성되었습니다.

Quantum Logic Gates: 

https://www.youtube.com/watch?v=c0D8X4eN_Cg&list=PLnK6MrIqGXsL1KShnocSdwNSiKnBodpie

 

초전도체 물리학에 기반을 둔 2개 큐비트으로 구성되는 Transmon 양자 회로 유닛을 대상으로 고전 컴퓨터의 논리 게이트 처럼 도입 가능한 양자 논리 게이트를 살펴 보기로 한다. 상당히 복잡할 수밖에 없는 현실 문제들을 풀기 위한 알고리듬 수립을 위해서는 다양한 종류의 양자 논리 게이트들의 조합을 통해 해법을 모색해야 한다.

 

앞으로 논의할 상당수의 양자 논리 게이트라고 하는 것들은 Transmon 회로에 레이저나 마이크로웨이브를 쏜 결과물을 의미한다고 볼 수 있으며, 현재는 그 보다 많은 수의 큐비트들을 묶은 게이트 회로들이 만들어지고 있다.

 

고전적인 논리게이트와 일치하는 양자 논리 게이트로서 XOR 과 CNOT 를 살펴보자.

 

NOT 게이트: 파울리 X 게이트(큐비트 1개)

XOR 게이트: CNOT 게이트(큐비트 2개)

 

⊕ 가 OR 논리 연산을 나타낼 때, 아래의 연산에서 복합적인 형태의 ket 벡터 |a, a⊕b> 의 의미를 살펴보자. 연산 결과는 텐서 곱 형태와 동일하게 매칭된다는 것을 알 수 있다.

Ket 벡터 |x, y> 에 대한 CNOT(Controlled NOT) 게이트에 연산에서 앞부분의 x Control 큐비트이며 y Target 큐비트가 된다. 위 연산 결과를 살펴보면 Control 큐비트가 0 이면 Target 큐비트에 변화가 없으나 Control 큐비트가 1 이면 Target 큐비트 값이 반전 된다.

 

한편 2개의 큐비트로 구성되는 Transmon에서 그림과 같이 4개의 양자 상태를 사용하여 입력 확률 파동함수 ψ 를 나타낼 수 있으며, 각 상태별 진폭의 제곱의 합은 1.0 이 된다.

CNOT 게이트 연산이 적용되면 |10> 과 |11> 의 진폭 값이 바뀌면서 입력 확률 파동함수 ψ 는 다음과 같이 φ 로 변화된다.

즉 Control 게이트의 값이 0 이면 Target 게이트 값의 변화가 없고 Control 게이트 값이 1 이면 Target 게이트 값이 반전된다. 회로상에서는 Control 게이트는 2개의 평행한 큐비트 선 중에서 윗부분은 MSB(Most Significant Bit)에 해당하며 아랫부분은 LSB(Least ∙∙∙)에 해당한다. ●에서 시작하는 수직선은 Control 선을 나타내며 수직선과 만나는 곳의 ⊕ 는 Target 큐비트에서의 XOR 논리 연산을 의미한다.

 

2개의 큐비트가 각각 |0>A, |0>B 로 초기화된 상태의 텐서곱 |0>A|0>B 에 대해서 |0>A 에 Hadamard 연산 및 CNOT 연산을 실행 후 텐서곱은 아래와 같이 A, B 둘 다 |0> 인 상태와 |1> 인 물리적으로는 스핀 값이 서로 반대인  양자얽힘 상태가 얻어진다. 이와 같이 2개의 큐비트 그룹을 형성하는 Transmon 에서 서로 스핀값이 반대인 2개의 상태로 스핀값의 합이 영인 양자 얽힘 그룹이 만들어지면 이 둘이 공간적으로 분리될 경우에도 하나의 양자상태는 나머지 양자 상태에 종속적이게 된다.  즉 한 양자 상태가 붕괴도어 스핀 값이 시계방향(,clockwise)이라면, 나머지는 반시계 방향(anti-clockwise)이 되는 것이다. 이러한 특성은 통신 영역에서 응용을 위한 연구가 이루어지고 있다.

 

양자 논리 게이트와 고전적 컴퓨터에서의 논리 게이트의 근본적인 차이점을 살펴보자. 아래 그림에서 NAND 게이트의 출력은 “1” 이거나 “0”이다. 여기서 3개의 입력 상태 조합이 동일한 출력값 “1”을 주기 때문에 이 출력값으로부터 입력값을 알아낼 수 없다. 반면에 CNOT 양자 논리 게이트에서는 역으로 입력값을 알 수가 있으며, 이를 가역적(reversible)이라 한다. 양자 상태 |ψ>에 대해서 마이크로웨이브에 의한 N 번의 조작 연산 결과로 얻어진 Un에 역으로 Un-1 을 가하면 가역성에 의해 원래의 양자 상태를 회복할 수 있다는 점이다. 단 이 과정에서 측정 또는 관측 작업이 이루어져 양자 상태가 붕괴되면 가역적으로 양자 상태를 회복할 수 없게 된다.

CNOT 양자 논리 게이트의 가역적인 특성은 중첩상태에서 마이크로파웨이브를 주입하더라도 그 양자 상태 변화가 블로흐 구(Bloch sphere) 구상에서 일어나게 된다. 즉 이러한 물리적 변환 과정에서 마찰력과 같은 원상 화복이 불가능한  에너지 소모가 없기때문에 가역적이 되는 것이다. 예를 들자면 공기와의 마찰을 무시할 수 있다면 손을 떠나는 야구공의 운동에너지 100%   최고점에서 중력에 의한 위치 에너지로 100% 전환되었다가 다시 떨어져서 100% 운동 에너지로 변환되는 과정을 들 수 있을 것이다.

 

양자 컴퓨팅에서의 오류에 관해서 살펴보기 전에 통신에서의 Error Correction 에 대해서 다음의 블로그를 참조하기 바란다.

channel coding: https://ejleep1.tistory.com/1257

BPSK 변조에서 AGWN ...: https://ejleep1.tistory.com/1248

 

"0"과 "1" 을 사용하는 이진법 통신에서 "0" 과 "1"을 3배씩 보내는 것이다. 3 비트 데이터이므로 가능한 경우 수는 8개이다. 결과가 "000" 이면 "0" 으로 처리하고 "111"이면 "1"로 처리한다. 노이즈로 인해 0 과 1이 섞인 경우는 다수결로 처리하기로 한다. 

|ψ>|0>+β|1>을 송신하는 문제를 고려해보자.

 

 |0>과 |1> 을 송신하려면 큐비트 수를 3개까지 증가 시킨 양자 회로를 생성시켜야 한다. 3배로 늘린 양자 상태는 다음과 같이 나타낼 수 있다.: |ψ>|000>+β|100>

 

CNOT 게이트 2회 적용과 아울러 비트 값을 뒤집는 인위적인 방법으로 노이즈를 가하고 다시 CNOT 게이트를 3회 적용한다. 각 단계에서 큐비트 값을 스스로 연산해 보자. 최종 결과를 대상으로 다수결을 적용해 보면 첫번째는 |ψ>|1>+β|1>, 두번째는 |ψ>= α|0>+ β|1>, 세번째는 |ψ>|0>+β|1>이 된다. 세결과에 대해서 다시 다수결을 적용하면 |ψ>|0>+β|1>이 됨을 알 수 있어 통신이 성공적임을 알 수 있다.

 

CNOT 을 적용하는 양자 코드 작성 실행도 중요하지만 주어진 문제 해결을 위래서는 양자 회로 생성도 동시에 고려하면서 코드 작성이 이루어져야 할것이다. 한편 양자 논리 게이트로는 파울리 X,Y,Z 게이트, CNOT 외에도 다양한 게이트들이 연구되고 있다.

 

Under Construction