얽힘과 측정
1부를 통해 우리는 CNOT 게이트와 XOR 게이트의 유사성에 대해 살펴보았다. 앞서 언급된 것 처럼 두 게이트의 진리표는 매우 비슷하지만, 양자게이트의 경우 \(|0\rangle + |1\rangle\) 과 같은 중첩 상태를 입력값을 처리할 수 있고, 그 결과로 \(|0\rangle |0\rangle + |1\rangle |1\rangle\) 과 같은 얽힘 상태가 생성된다는 점이 결정적 차이였다. 이를 바탕으로 이번 연재분에서는 좀 더 깊이 있게 측정 기반 양자 컴퓨팅의 원리를 이해하려고 한다.
아래 그림 1과 같은 양자 컴퓨팅 회로를 살펴보자. 기존에 배웠던 회로와 같이 CNOT 게이트를 바탕으로 얽힘 상태를 생성하는 점은 같지만, 몇 가지 새로운 내용들이 등장했다. 첫번째로, 큐비트 1의 입력값을 \(|+\rangle\) 로 표기한 부분이다. 해당 양자 상태는 \(|0\rangle\) 과 \(|1\rangle\) 이 반씩 섞인 중첩 상태이며, 수학적으로는 \(|+\rangle = |0\rangle + |1\rangle\) 과 같이 표기할 수 있다. 더 정확하게 쓰려면, \(|+\rangle = \frac{1}{\sqrt{2}}\left(|0\rangle + |1\rangle\right)\) 처럼 계수를 붙여줘야 하지만, 본문에서 보다 간명한 논의 전개를 위해 핵심적인 내용이 아닌 계수는 모두 생략할 것이다. 두번째로, 아래쪽 레일 가장 오른쪽에 위치한 눈금자인데 이는 큐비트가 \(|0\rangle\) 인지 또는 \(|1\rangle\) 인지 읽어내는 측정 장치이다. 얽힘을 만들어내는 CNOT 게이트와 측정이 함께 사용되게 되면 고전 컴퓨터에서 볼 수 없는 기묘한 일들이 발생하게 되는데, 이를 쉬운 예제를 통해 알아보자.
위 회로에서 아래쪽 레일의 큐비트2를 최종적으로 측정하게 되면 해당 0또는 1의 값을 얻게 되며, 측정 후에 얻어지는 결과값은 양자 정보가 아닌 디지털 데이터로 취급할 수 있다. 0 또는 1을 읽어낸다는 점에서 디지털 및 양자 컴퓨터는 일견 비슷해 보이지만, 양자 역학의 특성인 중첩 원리 때문에 발생하는 근본적인 차이점이 존재한다. 디지털 컴퓨터의 메모리에서 데이터를 읽을 때 0또는 1을 얻게 되긴 하지만, 여기서 얻게 되는 숫자는 이미 거기에 확실히 쓰여 있었고 우리는 그것을 알게 되는 것 뿐이다. 하지만 양자의 세계에서는 애초에 메모리에 존재하고 있던 큐비트가 0과 1의 중첩 상태인 것이 가능하고, 이를 읽는 순간 큐비트는 0과 1중 하나로 확률적인 양자 붕괴가 일어나고 이에 해당하는 디지털 출력값을 얻게 된다.
예를 들어, 그림 1에 등장한 양자 회로의 CNOT 게이트 직후, 큐비트 2 측정 직전에는 \(|0\rangle |0\rangle + |1\rangle |1\rangle\) 이라는 양자 상태가 존재하고 있다. 이러한 양자 상태는 두 큐비트가 모두 \(|0\rangle\)인 \(|0\rangle |0\rangle\) 상태와, 두 큐비트가 모두 \(|1\rangle\)인 \(|1\rangle |1\rangle\) 상태의 중첩으로 해석될 수 있다. 이러한 양자 상태에 대하여 큐비트 2의 상태를 측정하려는 시도를 해보자. \(|0\rangle |0\rangle\)과 \(|1\rangle |1\rangle\) 의 두 가지 가능성이 같은 정도의 가능성으로 존재하기 때문에 양자 붕괴 후 \(|0\rangle\)이 측정될 확률이 50%, \(|1\rangle\) 이 측정될 확률이 50%가 된다. 이러한 측정을 단 한 번만 행하게 되면 \(|0\rangle\) 또는 \(|1\rangle\) 을 얻는 것에 그치므로 이러한 확률적 성질을 볼 수 없지만, 같은 실험을 여러 차례 반복하면 각각의 경우에 대하여 50% 확률로 발생하는 결과를 얻게 된다.
지금까지 아래쪽 레일에 해당하는 큐비트 2의 결과값만을 논의했는데, 이 때 큐비트 1은 어떻게 될까? 앞서 언급했던 것과 같이 측정 직전의 양자 상태는 \(|0\rangle |0\rangle + |1\rangle |1\rangle\) 과 같이 표기할 수 있다. 반복하여 설명하자면, 해당 양자 상태는 큐비트 1,2가 동시에 \(|0\rangle\)이거나, 동시에 \(|1\rangle\) 인 상태의 중첩이라 할 수 있다. 따라서 측정 후 큐비트 2가 \(|1\rangle\) 인 결과 값을 얻었다면, 측정이 이루어지는 순간 큐비트 1도 마찬가지로 \(|1\rangle\) 로 결정되는 양자 붕괴가 발생한다. 측정에 의한 붕괴는 양자 역학의 기본 성질로서, 익히 알려진 슈뢰딩거의 고양이 사고 실험에서 고양이의 생사 여부를 확인하려고 시도하면 둘 중 하나의 결과를 얻게 되는 것과 같다.
이러한 회로를 다시 한 번 곰곰히 생각해보면 매우 신기한 현상이 벌어졌다는 것을 알 수 있다. 큐비트 1에 해당하는 위쪽 레일을 따라가보면, 이 큐비트에는 아무런 직접적인 조작이 가해지지 않았다. 물론 CNOT 게이트에서 control 큐비트 역할을 담당했지만, 개념적으로 해당 큐비트는 아래쪽 target 큐비트 값의 조작 여부를 결정하는 일종의 깃발flag 역할에 불과하다. 다시 말해, control 큐비트 자체에는 직접적인 제어가 단 한번도 가해지지 않았다. 이런 개념을 바탕으로 생각을 해보면, 큐비트 1은 회로의 처음과 끝에서 같은 결과값을 가져야 될 것으로 생각해 볼 수 있다. 하지만, 위의 설명에서 볼 수 있듯 큐비트 2를 측정하게 되면 \(|+\rangle\) 상태로 시작한 양자 상태가 \(|1\rangle\) 이라는 전혀 다른 양자 상태로 바뀌게 된다.
얽힘을 통한 큐비트 간접 제어
이러한 모순은 위 문단에서 CNOT 게이트를 고전적으로 해석한 것에 그 원인이 있다. CNOT 게이트를 단순히 target 큐비트를 통제하는 깃발 신호flag로 다루었기 때문이다. 그것이 아니라 이를 양자 역학적으로 해석하여, CNOT 게이트는 얽힘을 생성하거나 해제하는 장치라는 개념으로 다루게 되면 보다 정확한 해석을 할 수 있다. CNOT 게이트에 의해 얽힘이 생성되는 순간부터 모든 큐비트는 단일 객체로 독립된 것이 아니라 서로의 운명이 엮여진, 다시 말해 분리될 수 없는 단일 구조체로 보아야 한다. 이 때문에 큐비트 2의 측정이 큐비트 1의 상태에 영향을 미치게 된 것이다.
한 걸음 더 나아가 아래 그림 2와 같은 회로를 살펴보자. 이번에는 측정 직전에 하다마드 게이트 \(H\) 를 큐비트 2에 적용하였다. 하다마드 게이트는 \(|0\rangle\) 큐비트를 \(|+\rangle = |0\rangle + |1\rangle\) 큐비트로, \(|1\rangle\) 큐비트를 \(|-\rangle = |0\rangle – |1\rangle\) 큐비트로 바꾸어 준다. 따라서, 하다마드 게이트 전 양자 상태 \(|0\rangle |0\rangle + |1\rangle |1\rangle\) 은 \(|0\rangle |0\rangle + |0\rangle |1\rangle + |1\rangle |0\rangle – |1\rangle |1\rangle\) 로 바뀌게 된다. 이러한 양자 상태는 다시 큐비트 2를 따로 묶어내면 과 같이 보다 간단하게 표기할 수 있다.
이후 큐비트 2를 측정하게 되면, \(|0\rangle\) 또는 \(|1\rangle\) 의 값을 얻게 되고, 각각의 경우 큐비트 1은 이에 대응되는 \(|+\rangle\) 또는 \(|-\rangle\) 의 상태를 얻게 된다. 앞서 다룬 예제에서는 큐비트 1의 결과 값은 \(|0\rangle\) 또는 \(|1\rangle\) 이었지만, 이번에는 \(|+\rangle\) 또는 \(|-\rangle\) 값을 얻는 것으로 바뀌었다. 이 두 가지 상황을 비교해보면 재미있는 점을 발견할 수 있다. 하다마드 게이트라는 추가적인 조작의 대상은 큐비트 2였지만, 정작 큐비트 2는 이전과 그대로이고 큐비트 1의 상태가 다시 한 번 바뀌게 되었다.
만약 방금 설명한 예제의 결과가 여전히 받아들이기 어렵게 느껴진다면, 이는 여전히 양자컴퓨터를 고전컴퓨터처럼 생각하고 있기 때문일 것이다. 즉, 큐비트 1과 2를 서로 독립된 개체로 가정 바탕 위에서 사고를 전개하였기 때문에, 큐비트 2를 조작했는데 엉뚱하게 큐비트 1이 바뀌는 것 같은 착각을 한 것이다. 실제로 일어난 일은, 큐비트 1과 2는 얽힘이 되는 순간부터 서로가 한 몸이 되었기 때문에, 큐비트 2에 조작을 가하더라도 큐비트 1을 포함한 전체 양자 상태가 영항을 받게 된다.
양자 텔레포테이션
위의 두 예제로 워밍업을 마쳤으므로, 가장 유명할 뿐 아니라 가장 재미있는 예제인 양자 텔레포테이션을 다루어 보자. SF 장르물에서도 흔히 등장하는 개념인데, 드라마나 영화에서는 주로 사람을 아주 먼 곳으로 순간 이동시켜주는 기술로 묘사된다.
아래 그림 3 예제 회로를 보자. 3개의 큐비트가 있으며, 위쪽부터 1,2,3이라고 이름을 붙이자. 회로의 시작 지점에서 큐비트 2,3은 아주 가까이 있고, 1은 매우 멀리 떨어진 지역에 있다. 지금부터 큐비트 1에 주어지는 임의의 양자 상태가 어떻게 큐비트 3으로 순간 이동할 수 있는지 살펴볼 것이다.
우선 큐비트 2,3에 가해지는 하다마드 게이트와 CNOT 게이트는 앞서 다루었던 예제와 완전히 같다. 앞선 예제에서는 \(|0\rangle\) 에 하다마드 게이트가 가해지는 것을 줄여서 \(|+\rangle\) 큐비트 형태로 직접적으로 표현했을 뿐이다. 따라서 첫번째 CNOT 게이트 직후의 큐비트 2,3은 \(|0\rangle |0\rangle + |1\rangle |1\rangle\) 의 형태로 얽히게 된다.
이후 큐비트 2는 멀리 떨어진 큐비트 1로 이동하게 된다. 이전 연재분에서 다뤘듯이, CNOT 게이트는 물리 큐비트 간의 상호 작용을 필요로 하기 때문에 큐비트 1,2는 서로 가까운 거리에 있어야 CNOT 게이트가 직접적으로 가해질 수 있다.
여기서 큐비트 2는 어떻게 먼 거리를 이동할까? 원리적으로는 어떤 종류의 큐비트이건 장거리 여행 시 주변 환경에 전혀 방해받지 않고 나아갈 수 있다면 가능하다. 하지만 실제 물리계에서 해당 조건을 아주 먼 거리에서도 현실적으로 잘 충족시키는 큐비트는 광자밖에 없다. 따라서 양자 텔레포테이션 실험에서는 광자가 먼 거리를 이동하는 역할을 주로 담당한다.
큐비트 2는 먼 거리를 여행하여 큐비트 1이 위치한 지역에 도착한 후, 회로에 나타난 CNOT 게이트 및 하다마드 게이트가 두 큐비트 간에 순차적으로 수행되게 된다. 이 때 가해지는 게이트는 처음 큐비트 2,3에 가해졌던 게이트의 순서를 뒤집어 놓은 것 같은 모양을 갖는데, 이는 의도적으로 설계된 구조이다.
왜 이러한 설계가 의도적인 것인지는 전문 지식의 영역으로 남겨 두고, 여기서는 실제 측정에 따른 결과값만을 살펴보자. 큐비트 1, 2에 동시에 측정이 행해지게 되고 측정 후에는 0 또는 1의 디지털 비트들을 얻게 된다. 따라서 큐비트 1,2를 측정하게 되면 아래 표에 주어진 4가지 경우의 수 중 하나를 얻게 된다. 해당 표에서 쓰이는 계수들은 을 만족하는 복소수들로써, \(\alpha|0\rangle + \beta |1\rangle\) 는 블로흐 구 상에 위치할 수 있는 임의의 단일 큐비트 상태를 의미한다.
큐비트 1,2측정 결과 (kl) |
큐비트 3 양자 상태 |
추가 게이트 |
00 |
\(\alpha|0\rangle + \beta |1\rangle\) |
I |
01 |
\(\alpha|1\rangle + \beta |0\rangle\) |
X |
10 |
\(\alpha|0\rangle – \beta |1\rangle\) |
Z |
11 |
\(\alpha|1\rangle – \beta |0\rangle\) |
ZX |
도입부 예제와 같이 측정을 하게 되면 붕괴가 발생하게 되는데, 측정 시점에서 큐비트 1,2로부터 매우 멀리 떨어진 큐비트 3은 어떤 결과를 얻게 될까? 우리는 이미 CNOT 게이트, 하다마드 게이트, 중첩, 측정 및 붕괴의 모든 개념을 다루었기 때문에 회로를 차근차근 따라가며 계산을 해볼 수 있다. 이러한 계산을 통해 얻은 결과값을 위 표에 표시해 두었다.
표에서 알 수 있듯, 측정에 따른 4가지 경우의 수에 대하여 큐비트 3의 형태는 α, β 계수가 \(|0\rangle\)과 \(|1\rangle\) 에 가해졌다는 점에서 대략 비슷하다. 다만 구체적인 형태는 서로 조금씩 다르므로, 애초에 목적했던 텔레포테이션 – 큐비트 1의 상태를 완벽하게 3으로 보내는 – 을 정확히 구현하려면 추가적인 조작이 필요하다. 4개의 측정 결과 시나리오에 따라 각각 요구되는 추가적인 양자 게이트 조작을 위 표의 가장 오른쪽 열에 표시하였다.
위와 같은 추가 게이트 조작 과정에서 디지털 컴퓨터는 핵심적인 역할을 수행한다. 측정 후에는 이미 양자에서 디지털 정보로 변환된 2개 비트의 조합, 즉 4개의 경우의 수가 있고, 이에 따른 맞춤형 추가 양자 게이트를 수행하면 된다. 이 때 비트 조합 기반 논리 해석 및 수행 과정은 디지털 컴퓨터의 영역으로 볼 수 있다. 따라서 양자 텔레포테이션 수행 과정 주 디지털 컴퓨터의 역할은 최종 완성을 위한 화룡점정으로 해석할 수 있다.
이 때, 큐비트 1,2들은 큐비트 3으로부터 매우 먼 곳에 있으므로, 측정 후 얻은 디지털 데이터를 같은 거리만큼 전송할 필요가 있다. 이 디지털 데이터를 받고 난 후에 이를 바탕으로 추가 양자 게이트를 가해야만 비로소 양자 텔레포테이션이 완성된다. 따라서 양자 텔레포테이션은 SF 영화에서와 같은 순간 이동일 수 없다. 여전히 디지털 데이터를 전송 받아야 하고, 여기서의 전송 속도는 빛의 속도를 초과할 수 없기 때문이다.
로컬 텔레포테이션
측정 기반 양자 컴퓨팅을 다루는 본 연재에서 다소 무관해 양자 텔레포테이션을 등장시킨 데는 중요한 이유가 있다. 양자 텔레포테이션은 측정 기반 양자컴퓨팅의 핵심 개념을 대부분 담고 있기 때문이다. 디지털 컴퓨터가 아무리 복잡하더라도, 그 근본 정보 처리 동작을 NAND 와 같은 기본 게이트로 환원시킬 수 있는 것과 비슷하게, 측정 기반 양자컴퓨팅은 결국 양자 텔레포테이션의 반복으로 해석할 수 있다.
양자 텔레포테이션이 이해가 되었다면 로컬 텔레포테이션이라 불리는 그림 11 변형 회로를 살펴보자. 큐비트 개수가 2개로 줄어서 더 단순화 되었지만, 큐비트가 전송될 뿐 아니라 측정된 디지털 데이터를 반영한 양자 게이트가 가해진다는 점에서 동일하다. 두 큐비트가 늘 가까이 있어야 한다는 점에서 로컬이라는 단어가 추가되었다.
지금부터 주어진 로컬 텔레포테이션 게이트에서 CNOT 을 제거하고 CZ와 하다마드 게이트만으로 이루어진 형태로 바꿔보자. 우선 \(X=HZH\) 라는 등식을 활용할 것이다. 여기서 Z 는 파울리 Z 게이트라 불리는 단일 큐비트 게이트로, 행렬로 표시하면 \(\begin{pmatrix} 1 & 0 \\ 0 & -11 \end{pmatrix}\) 의 형태로 주어진다. 하다마드 게이트 \(H = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}\)와의 행렬곱을 수행하면 위 등식이 참임을 쉽게 확인할 수 있다.
CNOT 게이트는 때로 CX 게이트로 표기하기도 하는데, 이는 \(|0\rangle\)과 \(|1\rangle\) 을 서로 뒤집어 주는 NOT 게이트 동작이 파울리 X 게이트인 \(X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\)와 같기 때문이다. 따라서 등식과 control 큐비트의 개념을 결합하면 그림 5에 주어진 것과 같이 CNOT 게이트를 2개의 하다마드 게이트 (H) 와 CZ 게이트(수직으로 연결된 두 개의 점)의 합으로 나타낼 수 있다.
최초 로컬 텔레포테이션 회로의 CNOT 게이트를 위 등가 회로를 이용해서 대체한 후, 측정 결과에 따른 추가적인 Z 게이트 동작에 대한 표기법을 바꾸면 아래와 같이 표할 수 있다. 다시 말해, 추가 게이트 동작을 조건부 형태를 띄는 출력 양자 상태 표기로 흡수할 수 있다. 또한, 기존의 등식을 활용하면 의 등식이 참임을 알 수 있으므로, 그림 6과 같은 최종 결과값을 얻을 수 있다.
게이트 텔레포테이션
표준 양자 텔레포테이션과 로컬 텔레포테이션 모두 임의의 양자 큐비트가 전송됨을 확인할 수 있었다. 그런데 그림 6을 얻는 과정에서 우리는 기존의 조건부 Z 게이트를 큐비트 출력으로 흡수시킨 바 있다. 즉, 게이트가 가해진 양자 상태는 그 자체를 하나의 양자 상태로 생각해버려도 무방하다. 바꿔 말해, 게이트와 양자 상태는 분리된 개념을 생각할 수 있지만 또한 결합된 하나의 개념으로 취급하는 것도 가능하다.
이번에는 이러한 개념을 반대 방향으로 적용해 보자. 우리가 최초에 다루었던 입력 양자 상태인 \(\left|\phi\right\rangle\) 의 경우 임의의 양자 상태였으므로 별다른 조건이 달려 있지 않다. 따라서 우리는\(\left|\phi\right\rangle\) = \(U_Z(\alpha)\)\(\left|\psi\right\rangle\) 을 만족시키는 \(\left|\psi\right\rangle\) 가 언제나 존재함을 알 수 있다. 이 때, \(U_Z(\alpha)\)는 블로후 구 상에서 Z 축을 중심으로 \(\alpha\) 각 만큼 회전함을 의미한다. 따라서 이제 \(\left|\phi\right\rangle\) = \(U_Z(\alpha)\)\(\left|\psi\right\rangle\) 와 같은 표현이 성립함을 알 수 있고, 이는 주어진 양자 상태를 게이트가 가해진 양자 상태로 재해석 한 것에 해당한다. 이 내용을 그림 6에 적용하면 그림 7과 같은 회로를 얻는다.
지금까지 설명한 여러 단계의 등가 회로 치환을 통해 얻어진 위 그림 7은 게이트 텔레포테이션이라 불리는 매우 재미있는 회로이다. 왼쪽 위의 단일 큐비트 게이트 \(U_Z(\alpha)\) 가 측정되고 나서, 조건부 표현이 들어간 오른쪽 하단의 별도 큐비트의 결과값으로 전송되었다. 기존 양자 텔레포테이션과의 차이점은, 큐비트가 아닌 게이트 자체가 전송된 것으로 해석될 수 있다는 점이다. 따라서 이를 게이트 텔레포테이션이라 부를 수 있으며, 해당 개념은 측정 기반 양자컴퓨팅의 발명이 가능케 한 핵심 기반이 되었다. 더 나아가 \(U_Z(\alpha)\) 게이트와 CZ 게이트는 서로 순서를 바꾸어 적용이 가능한데, 이에 기초하여 그림 8과 같은 비교적 간단한 형태의 회로를 구성할 수 있다.
이 때, 위 회로의 박스로 표현된 \(HU_Z(\alpha)\) 표현 해석 시 게이트가 가해지는 순서는 오른쪽부터 인 점에 유의해야 한다. 행렬 연산을 배웠다면 행렬의 표기법과 유사하다고 생각하면 쉽게 기억할 수 있다. 지금부터는 그림 8의 주어진 단위 회로를 반복적으로 활용하여 임의의 단일 큐비트 연산이 측정 기반 양자컴퓨팅에서 어떻게 이루어지는지 살펴볼 것이다.
임의의 단일 큐비트 게이트
우리는 앞서 임의의 단일 큐비트 게이트와 얽힘 2-큐비트 게이트만 있다면 범용 양자컴퓨터 구성이 가능함을 논의하였다. 이러한 맥락 하에서 이 중 첫번째 조건인 임의의 단일 큐비트 게이트가 측정 기반 양자 연산에서 어떻게 구성되는지 살펴보자.
임의의 단일 큐비트 게이트 \(U(\theta)\) 의 경우, 블로흐 구 상에서 X축 및 Z축의 회전 두 가지 게이트만 사용하여 분해할 수 있음이 잘 알려져 있다. 증명은 생략하고 결론만을 수학적으로 표현하면 다음과 같다.
\(U(\theta)=U_Z(\gamma)U_X(\beta)U_Z(\alpha)\)
이 때, 기존에 사용된 \(X=HZH\) 관계식을 활용하면 \(U_X(\beta) = HU_Z(\beta)H\) 의 등식이 성립함을 알 수 있다. 따라서 임의의 단일 큐비트 게이트는 아래와 같이 Z축 회전과 하다마드 게이트들만의 곱으로 나타낼 수 있음을 알 수 있다.
\(U(\theta) = HHU_Z(\gamma) HU_Z(\beta)HU_Z(\alpha)\)
위 사실을 바탕으로 아래의 회로를 살펴보자. 이는 그림 8 에서 주어진 회로 3개를 직렬로 연결한 것에 해당한다. 다시 말해, 제일 위층에서 그림 8의 동작이 일어나고, 이 때 발생한 출력이 다음 단 회로의 입력값으로 전달된다. 그 다음 번에도 마찬가지 동작이 발생한다.
그림 9은 직렬로 연결된 형태로 순차적으로 연산이 이루어진다는 의미를 담고 있다. 그런데 이는 다시 아래의 그림 10와 같이 변형 될 수 있다. 앞서 Z 게이트와 CZ 게이트의 적용 순서를 서로 바꿀 수 있었던 것처럼, CZ 게이트는 전단계의 측정, Z회전 및 하다마드 게이트와 순서가 자유롭게 교환되므로 왼쪽으로 이동시키는 게 가능하고, 그 결과로써 아래 그림을 얻게 된다.
바뀐 회로의 모양을 바탕으로 연산 순서를 다시 해석해 보면, 최초에 모든 인접 큐비트 간 CZ 게이트를 가한 후 일련의 단일 큐비트 게이트와 측정을 반복하는 것으로 볼 수 있다. 가장 위쪽 레일을 제외한 나머지 모든 큐비트는 \(\left|+\right\rangle\) 로 주어진다. 이렇게 인접한 \(\left|+\right\rangle\) 큐비트 간 CZ 게이트가 가해져 얽힘이 형성된 상태를 클러스터 상태라고 부르며, 이 때문에 측정 기반 양자 컴퓨팅은 클러스터 상태 양자 컴퓨팅으로 불리기도 한다.
일반화된 양자 텔레포테이션
다시 회로로 돌아가 입력값과 출력값의 관계를 알아보자. 그림6의 기본 모듈을 세 차례 반복하는 것에 불과하므로, 입출력 관계식이 아래와 같이 주어짐을 쉽게 알 수 있다.
\(\left|\psi_{out}\right\rangle = \left(X^m H U_Z(\gamma)\right) \left(X^l H U_Z(\beta)\right) \left(X^k H U_Z(\alpha)\right)\)
위 식은 이전에 다루었던 임의의 단일 큐비트 공식과 매우 비슷한데, 괄호의 첫 부분마다 조건부 파울리 X 게이트가 삽입되어 있다는 점이 다르다. 두 공식을 최대한 유사하게 만들기 위하여 양자 역학에서 널리 사용되는 교환 관계commutation relation를 사용할 수 있으며, 그 결과로 다음과 같은 식이 주어진다.
\(\left|\psi_{out}\right\rangle = X^m Z^l X^k \left(H U_Z((-1)^l \gamma)\right) \left(H U_Z((-1)^k \beta)\right) \left(H U_Z(\alpha)\right)\)
여전히 임의의 단일 큐비트 게이트와 약간의 차이가 있지만, \(HU_Z(\theta)\) 형태 게이트가 세 번 연속 등장한다는 점에서 동일하다. 이제 남은 차이점들을 해결해 보자.
우선 식의 최초에 등장하는 \(X^m Z^l X^k\) 게이트들은 나머지 조건부 표현들에 비해 크게 중요하지는 않다. 최종 계산이 끝나는 시점에서 측정은 완료되어 \(k,l,m\) 에 해당하는 3개의 비트값들은 디지털 데이터로 이미 확보되어 있다. 따라서, 을 해석하는 시점에 알고 있는 사실을 잘 적용만 하면 된다.
해결하기 어려운 차이는 중반부에 등장하는 \(\left(H U_Z((-1)^l \gamma)\right) \left(H U_Z((-1)^k \beta)\right)\) 표현이다. 우리의 원래 의도는 Z회전 시 순차적으로 \(\alpha, \beta, \gamma\) 를 회전 각도로 적용하는 것이다. \(\alpha\)는 잘 표현되어 있어 별 문제가 안되지만, 문제는 \(\beta\)와 \(\gamma\)이다. 애초의 의도대로 \(\beta\)와 \(\gamma\)만큼 회전시킬 경우, \(k\) 나 \(l\) 값이 1로 측정이 된다면 의도 했던 것과 다른 회전을 하게 되며 따라서 임의의 단일 큐비트 게이트 구성에 실패하게 된다.
하지만 이 문제는 비교적 간단한 프로토콜로 해결될 수 있다. 최초 측정값인 \(k\) 가 만약 0이라면 원래 준비했던 대로 두번째 스테이지에서 \(\beta\)각도 만큼 Z축을 중심으로 회전하면 된다. 그러나 반대로 \(k\) 값이 1로 측정된다면 \(\beta\)가 아니라 – \(-\beta\)만큼 회전을 해주면 \((-1)^k\)과 서로 상쇄되어 실제로 \(HU_Z(\beta)\)가 수행되는 결과를 가져온다. 설명된 프로토콜을 수행한다면 측정된 \(k\)값과 무관하게 원했던 \(\beta\) 각도 만큼 Z축 회전을 수행할 수 있다. 같은 방식을 \(HU_Z((-1)^l \gamma)\) 에도 똑같이 적용할 수 있다.
기술된 동작은 양자 텔레포테이션에서 적용되었던 디지털 측정 데이터 기반 조건부 게이트와 매우 유사하다. 양자 텔레포테이션에서는 측정 결과인 2비트 디지털 정보에 따라 게이트를 가하거나 하지 않거나 선택을 한다. 위에서 예로 든 임의의 단일 큐비트 게이트는 \(k, l\) 의 측정 디지털 데이터를 1비트씩 순차적으로 적용하여 회전 방향을 선택한다. 약간의 차이는 존재하나 측정 디지털 데이터를 바탕으로 조건부 게이트를 가해준다는 점에서 동일하다.
따라서 양자 텔레포테이션과 매우 유사한 프로토콜을 적용함으로써 임의의 단일 큐비트 게이트를 구성할 수 있음을 보였다. 요약하자면, 클러스터 상태를 미리 준비하고, 여기에 \(HU_Z(\theta)\) 게이트를 순차적으로 가하되, 전 단계 결과값을 반영한 회전 부호 결정을 반복하면 된다. 이러한 동작은 보다 일반화된 양자 텔레포테이션으로 볼 수 있으며, 그림 6에 표현된 기능 블록은 측정 기반 양자 컴퓨팅의 기본 골격을 이루게 된다.
피드포워드
지금까지 측정 결과를 반영한 조건부 게이트를 가하는 기술을 정보 처리 및 논리의 영역에서 설명하였다. 하지만 실제 양자 컴퓨터 하드웨어 제작을 위해서는 어떤 일을 해야 할까? 제어 이론 분야에서는 이러한 일련의 동작을 피드포워드feedforward라는 용어로 부르며, 이는 입력값이 측정부에 도착하기 전에 조작을 해주는 개념을 일컫는다.
예를 들어, 아래 그림 11과 같은 노이즈 캔슬링 헤드폰을 살펴보자. 귀보다 더 바깥쪽에 위치한 마이크는 외부 잡음을 지속적으로 수집하여 데이터로 변환한 후, 이 잡음을 상쇄할 간섭 신호를 반도체에서 미리 생성하여 결합함으로써 제거할 수 있다. 외부 입력값이 최종 측정 장치 –사람의 귀– 에 도착하기 전에 처리하여 잡음 제거라는 원하는 기능을 수행하게 된다.
상기의 단일 큐비트 구성 회로 또한 사실상 같은 원리로 동작한다. 첫번째 스테이지에서 \(k\) 값을 측정하는 일은 헤드셋의 외부 마이크가 잡음을 측정하여 수집하는 것과 같다. 이후, \(k\) 값에 따라 \(\beta\) 회전 부호를 결정하는 일은 헤드셋 내부에서 외부 잡음을 상쇄하는 신호를 인가해주는 동작에 해당한다. 이 때, \(\beta\) 회전은 큐비트 2가 최종적으로 측정되어 \(l\) 값을 얻기 전에 미리 적용되며, 이는 잡음 처리가 헤드셋 사용자의 귀에 도달하기 전에 이루어지는 것에 대응하는 개념이 된다. 따라서 측정 기반 양자컴퓨팅에서 이루어지는 이러한 일련의 동작은 피드포워드라는 용어로 불리게 된다.
측정 기반 범용 양자컴퓨팅
앞서 측정 기반 양자컴퓨팅은 회로 기반 모델과 같이 범용 양자 연산을 할 수 있다는 사실을 언급한 바 있다. 하지만 아직 CNOT 게이트 등 얽힘 2큐비트를 측정 기반으로 구성할 수 있음을 증명하지 않았기 때문에, 현재까지의 논리만으로는 범용성이 완전히 증명되지 않았다.
이에 대한 증명은 CNOT 게이트를 측정 기반 프로토콜로 구성할 수 있음을 보이면 되는데, 본 연재에서 다루기에는 매우 학술적인 내용이라 결론만 소개한다. 아래 그림 12는 CNOT 게이트를 클러스터 상태 다이어그램 형식으로 나타낸 것이다. 각 사각형은 \(\left|+\right\rangle\) 큐비트를 의미하고, 인접한 사각형 사이에는 클러스터 상태 생성을 위한 CZ 게이트가 가해지게 된다. 사각형 네모 안의 X, Y 는 측정 방식을 나타내는데, 0,1을 얻는 측정 기저가 블로흐 구의 어떤 축에 해당하는 지를 의미한다. 가장 왼쪽과 오른쪽의 동그라미는 각각 입력 및 출력 큐비트를 표기한 것이다. 측정 기반 양자컴퓨팅의 원리를 차근차근 적용하면, CNOT 게이트가 아래 다이어그램에 나타난 방식으로 구현 가능함을 알 수 있다.
지금까지의 논리를 종합하면, 측정 기반 방식을 통해서 임의의 단일 큐비트 게이트를 제작할 수 있을 뿐 아니라 CNOT 게이트 또한 구현할 수 있었다. 연재 초반에 언급되었던 것처럼 이 두 종류 게이트를 확보하는 것은 범용 양자컴퓨터 제작을 위한 충분 조건이 되므로, 측정 기반 방식으로 범용 연산을 할 수 있음이 증명되었다.
피드포워드와 오류 정정
측정 기반 방식으로 임의의 단일 큐비트 게이트를 구현하는 방식을 살펴 보면 하드웨어 제작이 상당히 도전적인 과제임을 알 수 있다. 디지털 컴퓨터와 달리 양자컴퓨터의 정보 단위인 큐비트는 시간이 지남에 따라 결맞음이 점차 감소되는 현상을 겪게 되며, 정도의 차이는 있지만 거의 모든 종류 큐비트에서 발생한다. 결맞음을 잃게 되면 양자 정보 연산 오류로 이어지게 되므로, 어떤 종류의 연산이건 결맞음을 잃기 전에 재빨리 처리할 필요가 있다. 따라서 이러한 고속 처리는 양자 컴퓨팅 하드웨어 기술에 있어 매우 중요하다.
이러한 시간 제약으로 인해 그림 10에 나타난 단일 큐비트 게이트를 위한 피드포워드 하드웨어 제작에는 상당한 난이도가 있다. 회로 기반의 경우 단순히 게이트를 가하기만 하면 되지만, 측정 기반의 경우 반복되는 측정을 하고 이를 바탕으로 조건부 게이트를 연속적으로 가해주는 복잡한 동작을 수행하기 때문이다. 이러한 관점에서 측정 기반 양자 컴퓨팅은 다소 하드웨어에 부담이 되는 불리한 기술로 여겨질 수도 있다.
하지만 궁극적인 목표로 여겨지는 오류정정 범용 양자컴퓨팅의 관점에서 보다 크게 생각해보면 새로운 시각을 얻게 된다. 양자컴퓨팅 분야의 모든 과학자는 예외 없이 범용 양자컴퓨팅을 위해서는 오류정정 기술이 반드시 필요하다고 입을 모아 말하고 있다. 따라서 여기서 잠시 측정 기반 연산 논의를 멈추고, 양자컴퓨팅의 핵심 기술 중 하나인 오류정정에 대하여 알아본 후 다시 측정 기반 연산 논의로 돌아올 것이다. 양자 오류 정정과 디지털 컴퓨터의 오류 정정은 매우 비슷하므로, 우선 이해하기 쉬운 디지털 오류정정에 대해 알아보자.
0 또는 1을 전송한다고 할 때, 작지만 0이 아닌 확률, 예를 들어 1% 정도로 0과 1이 서로 뒤집히는 경우가 있다고 해보자. 보다 안전하게 0과 1을 전송하려면 어떻게 해야 할까? 0을 보내는 것이 아니라 000을 보내고, 1을 보내는 것이 아니라 111을 보내면 어느 정도 해결이 된다. 세 비트를 보낸 후, 모두 다 측정하여 세비트가 완전히 일치하지 않는 경우가 발생하더라도 다수결 원칙으로 해결을 하면 되기 때문이다. 001 이라는 값을 받았다면, 0이 1로 뒤집힌 오류가 한 번 발생했을 확률이 1이 0으로 두 번 뒤집힐 확률보다 훨씬 크기 때문에, 최초 값이 0이었던 것으로 해석하면 상당히 안전하다.
양자 오류정정도 이와 유사한 방식으로 오류정정을 수행할 수 있다. 양자 역학적 특성 때문에 인코딩 방식 (0을 000으로 표기하는 것을 의미) 에 약간의 차이는 있지만, 큰 틀에서 유사하게 동작한다. 다수의 양자 자원을 투자하여 많은 (물리) 큐비트로 하나의 (논리) 큐비트를 표현하고, 이들 중 일부를 측정하여 해석하면 어떤 오류가 발생했는지 짐작할 수 있게 된다. 측정 후 결과를 바탕으로 발생한 오류의 유형을 도출하고 이를 바로잡을 수 있다는 점에서 디지털 컴퓨터의 오류 정정과 거의 유사하다. 그림 13에 이러한 동작을 나타내는 개념도를 그려보았다.
Encoder 는 0을 000으로 표기하는 것과 같은 동작을 의미하고, 박스 E는 알 수 없는 작은 확률의 오류를 의미한다. 박스 S 는 일부 논리 큐비트를 이루는 많은 물리 큐비트 중 일부를 빼내서 측정하는 것을 의미한다. 이 때 아래쪽의 두 줄로 표기된 부분은 양자 정보가 아닌 측정 후 디지털 정보를 의미한다. 측정된 정보는 디코더를 통해 해석되어 어떤 오류가 발생했는지 분석하고, 이를 상쇄해 줄 수 있는 Recovery 양자 게이트를 남아 있는 양자 정보에 가해줌으로써 양자 오류 정정 동작을 마치게 된다.
다시 측정 기반 양자 컴퓨팅 논의로 돌아가 양자 오류 정정과의 연결 지점을 찾아보자. 양자 오류 정정에 활용되는 일련의 동작을 하드웨어 관점에서 생각해 보면, 측정 기반 양자컴퓨팅에 활용되었던 방식과 완전히 같다는 것을 알 수 있다. 양자 정보를 측정하고, 여기서 얻어지는 디지털 데이터를 해석한 후 조건부 게이트를 가해주는 것이다. 따라서 측정 기반 방식에 필요한 피드포워드는 부담스러운 구성품이라기 보다는 양자 오류 정정을 위해 어차피 만들 수 밖에 없는 하드웨어인 것이다.
이렇듯 측정 기반 양자 컴퓨팅 시스템과 범용 연산에 필수적인 양자 오류 정정 기능을 통합하여 바라보면 다른 방식의 해석이 가능하다. 양자 오류 정정과 측정 기반 양자컴퓨팅의 연산 동작 방식이 거의 동일하다는 사실로부터 높은 효율성을 얻을 수 있다. 피드포워드 하드웨어만 잘 구성한 후 이를 측정 기반 연산 및 양자 오류 정정에 모두 적용하면 되기 때문이다. 반면에 회로 기반 양자 컴퓨팅 방식의 경우, 양자 오류 정정에 필요한 피드포워드 하드웨어는 기존의 게이트에 더해 추가적으로 발생하는 부담이 된다. 양자 오류가 전혀 없는 큐비트로 구성된 회로 기반 양자컴퓨터가 있다면 오류 정정 과정 없이 게이트만을 연속적으로 가해주며 연산을 수행할 수 있다. 하지만 대부분의 큐비트는 제한적인 결맞음으로 인한 한계를 갖고 있기에, 별도로 양자 오류 정정을 위한 피드포워드 시스템을 제작해야 한다.
이처럼 양자컴퓨팅 구성 방식은 겉으로 보기에는 얼른 파악하기 어려운 매우 복잡한 요소들을 품고 있다. 지금까지 논의한 내용조차 빙산의 일각일 뿐으로, 실제 양자컴퓨팅 제작은 훨씬 더 복잡하다. 따라서 양자 정보의 연산 방식만으로 특정 아키텍처의 유불리를 따지기는 불가능에 가깝고, 결국 개별 하드웨어에 잘 맞는 방식의 아키텍처를 선택하고 이를 실제로 제작해 테스트해 보는 수 밖에 없다. 이 때문에 현재 양자컴퓨팅 연구개발은 5-6개의 하드웨어 플랫폼 간의 치열한 경쟁이 벌어지는 춘추 전국의 시대를 맞이한 것이다.
측정기반 ‘광자’ 양자 컴퓨팅
앞서 양자 오류 정정과의 연관성을 통해 살펴보았듯 측정 기반 양자 컴퓨팅의 경우 요구 하드웨어의 종류가 단순화 된다는 장점에도 불구하고, 간단한 동작을 다소 복잡하게 수행한다는 인상을 지울 수 없다. 예를 들어, 그림 12 에 등장하는 CNOT 게이트만 보더라도, CBQC에서는 하나의 박스로 나타나는데 반해 MBQC 에서는 15개의 큐비트와 13번의 측정이 동반되고 있다.
물론 실제 MBQC 동작 구성을 이런 방식으로 하는 것은 아니다. 다시 말해, CBQC 아키텍처로 회로를 구성한 후 등장하는 게이트를 하나씩 그림 8이나 그림 10과 같은 방식으로 1:1 전환하는 것이 아니다. 목적하는 양자 연산에 필요한 알고리즘을 구성 후, 이를 MBQC 방식에 맞게 가장 효율적으로 구성하게 된다. 뿐만 아니라, 양자 연산과 오류 정정에 활용되는 하드웨어가 같은 만큼 처음부터 오류 정정 기능을 녹여 낸 일체형 알고리즘을 구성하여 수행하게 된다. 이러한 이유로 MBQC 에서 사용되는 알고리즘 구성과 수행 방식은 해당 분야 전문가가 아닌 한 이해하기 어려울 정도로 굉장히 복잡하다.
여러 복잡한 사정에도 불구하고 MBQC 에서 요구하는 측정 회수, 큐비트 수, 피드포워드 동작 회수 등은 CBQC 에 비해 일반적으로 높은 숫자를 요구하기 마련이다. 이를 수학적으로 증명하기는 쉽지 않지만 MBQC 의 특성상 많은 동작 횟수와 큐비트 개수를 요구하게 되는 경향성이 존재한다.
따라서 큐비트 개수를 많이 확보할 수 있는 기술이 MBQC 구성에 유리할 것으로 짐작할 수 있는데, 여러 경쟁 기술 중 최초의 난제만 극복한다면 큐비트 개수를 단숨에 많이 확보할 수 있는 것은 단연코 광자 방식이다. 이들을 엮어서 양자컴퓨팅을 연산을 수행하는 것에 대한 확장성이라면 광자 플랫폼이 가장 유리하다는 확답을 하기 어렵겠으나, 단순히 큐비트를 다수 생산한다는 측면에서는 광자 방식이 다른 모든 접근법에 비해 유리한 측면이 있다.
이는 CBQC 방식은 모두 물질 큐비트matter qubit를 사용하는 데 반해 광자 방식은 플라잉 큐비트flying qubit를 사용하는 데에 기인한다. 예를 들어, 원자로 큐비트를 만드는 경우 X개의 물리 큐비트가 필요하다면 X 개의 원자를 사용해야 한다. 따라서 매우 많은 개수의 물질들을 구성하고, 이들을 잘 연결하여 연산을 수행하는 것이 CBQC 아키텍처를 사용하는 플랫폼의 목표가 된다.
광자 방식의 경우는 다르다. 일반적으로 광자 1개를 큐비트 1개로 생각하면 되는데, 단 1개의 완벽한 양자 광원이 주어지면 1초에 광자를1억개씩 뽑아내는 것이 가능하다. 모든 플랫폼 중에서 거의 유일하게 물리 큐비트 개수가 실제 물질 개수와 같을 필요가 없는 것이다. PsiQuantum, Xanadu와 같은 광자 방식 양자컴퓨팅 회사들의 경우 큐비트 개수에 대한 로드맵을 보면 10개 내외의 큐비트 수준이었다가 다음 단계에서 갑자기 백만개나 1억개의 숫자를 목표로 제시하는데, 이는 광자의 이러한 특수성에 기인한다.
그렇다고 해서 1초에 광자를 1억개 뽑아내는 것을 1억 큐비트 머신으로 볼 수 있을 것인가? 그렇지는 않다. 큐비트를 많이 뽑아내는 것이 능사가 아니라 이들을 잘 엮어서 궁극적으로 원하는 양자 연산을 할 수 있을 것인지, 그에 대한 청사진이 비교적 분명한지, 언제쯤 그 목표가 달성될 수 있을 지 등을 종합적으로 봐야 한다. 이는 이온 트랩 등 물리 큐비트 머신에 대해서도 마찬가지인데, 단순히 원자들을 수 백 개, 수 천 개 포획만 할 수 있다 해서 수백, 수천 큐비트로 부를 수 없는 것과 같다 .
따라서 광자 양자컴퓨팅 기술에 필요한 것은 1개의 완벽에 가까운 소자를 만든 다음에, 이를 대량으로 양산하는 일이다. 예를 들어, 프랑스 광자 양자컴퓨팅 기업 Quandela에서는 세계 최고 성능의 양자점을 생산하는데, 발생하는 광자의 개수는 1초에 1억개를 초과한다. 하지만 이를 가만히 내버려 두면 사방으로 흩어져서 쓸모가 없기 때문에, 광자의 방향을 지정해주는 소자를 제작하고 이를 광섬유로 수집하는데 열을 올리고 있다. 만약 수집율이 10%에 불과하다면, 여전히 1,000만개의 엄청난 개수의 광자가 광섬유로 수집되겠지만 10번중에 1번 무작위로 추출되므로 도저히 쓸 것이 못된다. 하지만 99% 정도의 수집율을 달성할 수 있다면, 1초에 9,900만개의 광자가 나오고 1%의 경우에만 광자를 놓치게 되며, 이 정도 작은 오차는 양자 오류 정정을 통해 해결할 수 있다. 따라서 광자 수집율이 10%에서 99%로 개선 되면 10배로 성능이 개선되는 정도가 아니라, 완전히 쓸모 없던 머신이 1억 큐비트를 생산하는 기적의 양자 컴퓨팅 소자로 바뀌게 된다. 이렇듯 광자 기술은 핵심적인 문제를 완벽하게 해결하면 갑작스러운 기술의 퀀텀 점프가 발생하기 쉬운 구조이고, 이러한 특성을 반영하여 로드맵이 구성되어 있다.
1개의 소자를 완벽하게 만드는 것은 매우 어려운 일이나 이는 불가능하지 않다. 특히 반도체 분야로 인해 축적된 현대의 공정 기술은 상상 이상으로 정교하여, 수 십 억 개의 트랜지스터가 맞물려서 의도하는 복잡한 연산을 무한 반복할 수 있다. 이것이 바로 확장성의 본질이다. 진공관에서 트랜지스터로 기술이 넘어오는 데 엄청난 기술 장벽이 있었으나, 한 번 트랜지스터를 만들 수 있게 되고 나서는 무어의 법칙이 발생하고 이는 인텔 및 삼성 등 기업들에 의해 수십 년간의 기술 개발로 이어지게 되었다.
따라서 광자 양자 컴퓨팅 개발의 도전은 바로 이 트랜지스터에 해당하는 완벽한 소자를 만들 수 있냐는 것이다. 올해 2큐비트를 만들고, 2년 후에 10큐비트를 만들고, 5년 후에는 100큐비트에 도전하는 로드맵이 아니다. 광자 양자 컴퓨팅의 경우 1큐비트에 대하여 100의 완벽도를 추구한다고 할 때, 그 완성도가 10이나 20인 것을 엮어서 규모를 늘리는 것은 아무런 의미가 없다. 20짜리 완성도 소자들을 엮으면 엮을수록 전체 회로의 완성도는 오히려 곤두박질 칠 것이기 때문이다. 따라서 광기반 기술 개발은 완성도 90, 95, 99가 될 때까지 물밑에서 계속 완벽한 소자 제작을 추구할 것이다. 그러다 목표했던 완성도에 도달한 시점에는 갑작스럽게 백만 큐비트 머신이 나올지도 모를 일이다.
이러한 이해를 바탕으로 나머지 연재에서는 실제 광기반 양자 컴퓨팅 하드웨어의 구체적인 기술 난제에 대해 다루어 볼 것이다. MBQC 를 수행할 수 있는 광소자를 얼마나 완벽하게 만들고, 그들을 엮고, 이들을 매우 많은 개수로 반복해 제작하는 것이 핵심 개발 과제가 된다. 이에 대한 가장 현실적인 접근법은 광집적회로라 불리는 반도체 공정 기반 광소자 기술로, 양자 컴퓨팅 발전과는 병행으로 발전한 별개의 분야이다. 다음 연재에는 서로 다른 목적으로 발전한 두 분야가 만나 범용 양자컴퓨터 제작에 도전하는 이야기를 풀어보겠다.