표면 부호의 구조: 위상학적 양자 오류 정정
표면 부호(Surface Code)는 2차원 격자 위에 큐비트를 배열하여 논리 큐비트를 부호화하는 위상학적 안정자 부호이다. X형 및 Z형 안정자 측정을 통해 오류 증후군을 추출하고, 디코더를 통해 오류를 정정함으로써 현재 양자 하드웨어에서 가장 현실적인 결함 허용 방식으로 평가받는다.
개념 소개
양자 계산에서 오류는 피할 수 없다. 개별 큐비트는 환경과의 상호작용(결어긋남)이나 게이트 불완전성으로 인해 지속적으로 오류를 겪는다. 표면 부호(Surface Code)는 이 문제를 해결하기 위해 고안된 양자 오류 정정 부호로, 2차원 격자에 물리 큐비트를 배치하여 단 하나의 논리 큐비트를 부호화한다.
표면 부호의 핵심 장점은 다음 세 가지로 요약된다:
- 국소 연산만으로 안정자 측정 가능: 각 안정자는 인접한 4개 큐비트만을 포함하므로 물리적 구현이 용이하다.
- 높은 오류 임계값: 이론적 임계값이 약 내외로, 다른 부호에 비해 월등히 높다.
- 평면 구조: 3차원 연결 없이 2D 칩 위에 구현 가능하다.
핵심 원리
격자 구조와 큐비트 배치
거리(distance) 의 표면 부호는 격자의 데이터 큐비트와 그 사이에 배치된 보조(ancilla) 큐비트로 구성된다. 데이터 큐비트 수는 개이며, 보조 큐비트는 개이다.
D - A - D - A - D
| | | | |
A - D - A - D - A
| | | | |
D - A - D - A - D
D: 데이터 큐비트, A: 보조(안정자 측정용) 큐비트
안정자 연산자
표면 부호는 **안정자 형식(Stabilizer Formalism)**에 기반한다. 두 종류의 안정자가 정의된다:
- X형 안정자(플래킷, Plaquette):
- Z형 안정자(꼭짓점, Vertex):
모든 안정자는 서로 교환(commute)하며, 이 성립한다. (공유 큐비트가 0개 또는 짝수 개이기 때문이다.)
부호 공간 는 모든 안정자의 공통 고유 상태로 정의된다:
오류 증후군 측정
오류가 발생하면 일부 안정자의 고유값이 에서 로 바뀐다. 이 측정 결과 집합을 **증후군(Syndrome)**이라 한다.
- 비트 반전 오류( 오류): 인접한 형 안정자 쌍에서 결과 발생
- 위상 반전 오류( 오류): 인접한 형 안정자 쌍에서 결과 발생
오류는 격자 위의 **체인(chain)**으로 표현된다. 비트 반전 오류 체인의 끝점(endpoint)이 증후군 결함(defect)을 생성한다.
논리 연산자
논리 큐비트의 , 연산자는 격자를 가로지르는 **끈 연산자(string operator)**로 표현된다:
부호 거리 는 가능한 가장 짧은 논리 연산자의 길이로 정의되며, 이는 최소 개의 오류가 발생해야 논리 오류가 일어남을 의미한다. 따라서 오류 정정 능력은 개이다.
디코딩
증후군으로부터 실제 오류를 추정하는 과정을 **디코딩(Decoding)**이라 한다. 가장 대표적인 알고리즘은 **최소 중량 완전 매칭(Minimum Weight Perfect Matching, MWPM)**으로, 결함 쌍을 최소 거리로 매칭한다.
# pymatching 라이브러리를 활용한 MWPM 디코딩 예시
import numpy as np
import pymatching
# d=3 표면 부호의 패리티 검사 행렬 H 구성 (예시)
H = np.array([
[1, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 0, 0, 0],
]) # 단순화된 예시
matching = pymatching.Matching(H)
syndrome = np.array([1, 0, 0, 1]) # 증후군 벡터
correction = matching.decode(syndrome)
print("추정 정정:", correction)
예시·응용
d=3 표면 부호
가장 단순한 비자명(non-trivial) 표면 부호는 거리 3으로, 9개의 데이터 큐비트와 8개의 보조 큐비트를 사용한다. 이 부호는 임의의 단일 큐비트 오류를 정정할 수 있다.
Google의 Sycamore 프로세서를 활용한 실험에서는 거리 3에서 5로 부호 크기를 증가시켰을 때 논리 오류율이 감소하는 결과, 즉 **아래 임계값 동작(below-threshold behavior)**이 실증되었다.
임계값 정리
물리 오류율 가 임계값 보다 낮을 때, 부호 거리 를 증가시키면 논리 오류율이 지수적으로 감소한다:
표면 부호의 (디코더 및 오류 모델에 따라 다름)이며, 이는 현재 초전도 큐비트 시스템의 오류율( 내외)과 충분히 겹쳐 현실적 구현 가능성을 보여준다.
정리
표면 부호는 2차원 격자 구조, 국소 안정자 측정, 높은 오류 임계값이라는 세 가지 특성 덕분에 결함 허용 양자 계산의 핵심 후보로 자리잡고 있다. 격자의 형·형 안정자로 부호 공간을 정의하고, 증후군 측정과 MWPM 디코딩을 통해 오류를 능동적으로 정정한다. 부호 거리 를 늘릴수록 논리 큐비트의 충실도가 지수적으로 향상되며, 이것이 확장 가능한 양자 컴퓨터 구현의 기반이 된다.
연습문제
Q1.거리 $d=5$인 표면 부호에서 데이터 큐비트의 수와 정정 가능한 최대 오류 개수를 각각 구하라.
힌트 보기
데이터 큐비트 수는 $d^2$이며, 정정 능력은 $\lfloor (d-1)/2 \rfloor$이다.
해설 보기
데이터 큐비트 수 = $5^2 = 25$개. 정정 가능한 최대 오류 개수 = $\lfloor (5-1)/2 \rfloor = 2$개. 즉 임의의 2큐비트 오류까지 정정 가능하며, 3개 이상의 오류가 동시에 발생하면 정정 실패 가능성이 생긴다.
Q2.X형 안정자 $A_p = X_1 X_2 X_3 X_4$와 Z형 안정자 $B_v = Z_1 Z_2 Z_3 Z_4$가 공유 큐비트 2개를 가질 때, 두 연산자가 교환함을 보여라.
해설 보기
$X$와 $Z$는 동일 큐비트에서 반교환($XZ = -ZX$)한다. 공유 큐비트가 2개(짝수)이면 반교환이 두 번 발생하여 부호가 $(-1)^2 = +1$로 상쇄된다. 따라서 $A_p B_v = B_v A_p$, 즉 두 연산자는 교환한다. 표면 부호 격자에서 임의의 플래킷과 꼭짓점 안정자는 항상 0개 또는 2개의 큐비트를 공유하도록 설계되어 있어 이 조건이 항상 만족된다.
Q3.물리 오류율이 $p = 0.5\%$이고 임계값이 $p_{th} = 1\%$일 때, 거리 $d=3$과 $d=5$에서의 논리 오류율 비율 $p_L(d=5)/p_L(d=3)$을 근사식으로 비교하라.
힌트 보기
$p_L \approx (p/p_{th})^{\lfloor(d+1)/2\rfloor}$ 를 사용하라.
해설 보기
$r = p/p_{th} = 0.5/1 = 0.5$. $d=3$: 지수 $= \lfloor 4/2 \rfloor = 2$이므로 $p_L(3) \approx 0.5^2 = 0.25$. $d=5$: 지수 $= \lfloor 6/2 \rfloor = 3$이므로 $p_L(5) \approx 0.5^3 = 0.125$. 따라서 비율 $= 0.125/0.25 = 0.5$. 거리를 3에서 5로 늘리면 논리 오류율이 절반으로 줄어들며, 이것이 아래 임계값 동작의 전형적 예시이다.