표면 부호(Surface Code)의 구조와 동작 원리
표면 부호는 2차원 격자 위에 물리 큐비트를 배치하고 국소 스태빌라이저 측정으로 오류를 검출·정정하는 위상학적 양자 오류 정정 부호이다. 높은 오류 임계값(~1%)과 근방 상호작용만을 요구하는 구조 덕분에 현재 가장 유망한 결함 허용(fault-tolerant) 양자컴퓨팅 아키텍처로 꼽힌다. 이 챕터에서는 격자 구조, 스태빌라이저 연산자, 논리 큐비트 정의, 신드롬 해석까지 체계적으로 다룬다.
Photo: the blowup / Unsplash개념 소개
양자 오류 정정의 핵심 과제는 결맞음 붕괴(decoherence) 와 게이트 오류 를 실시간으로 검출하면서도 논리 정보를 보존하는 것이다. 고전 반복 부호처럼 양자 상태를 단순 복사할 수 없으므로(no-cloning theorem), 양자 오류 정정은 여러 물리 큐비트에 논리 큐비트를 간접적으로 인코딩한다.
표면 부호(surface code) 는 Kitaev의 토릭 부호(toric code)에서 파생된 위상학적 스태빌라이저 부호로, 정사각형 2차원 격자 위에 물리 큐비트를 배치한다. 근방(nearest-neighbor) 상호작용만 필요하며, 비트 반전(X)과 위상 반전(Z) 오류를 모두 정정할 수 있다.
핵심 원리
1. 격자 구조
거리 인 표면 부호는 격자를 사용하며, 총 개의 물리 큐비트로 구성된다.
- 데이터 큐비트(data qubit): 격자의 꼭짓점(vertex)에 위치, 개
- 보조 큐비트(ancilla/syndrome qubit): 격자의 면(plaquette) 및 꼭짓점 교차점에 위치, 개
경계 조건에 따라 두 가지 변형이 있다.
| 종류 | 경계 | 논리 큐비트 수 |
|---|---|---|
| 토릭 부호 | 주기적(원환) | 2 |
| 평면 표면 부호 | 거칠음/매끄러움 혼합 | 1 |
실제 하드웨어 구현에는 평면 표면 부호가 주로 사용된다.
2. 스태빌라이저 연산자
표면 부호의 코드 공간은 두 종류의 국소 스태빌라이저 연산자로 정의된다.
면 스태빌라이저(plaquette / Z-type):
꼭짓점 스태빌라이저(vertex / X-type):
여기서 는 면 에 인접한 데이터 큐비트 집합, 는 꼭짓점 에 인접한 데이터 큐비트 집합이다. 모든 스태빌라이저는 서로 교환 가능()하며, 코드 공간은
로 정의된다. 이 공간의 차원이 바로 논리 큐비트 1개()에 해당한다.
3. 논리 연산자
논리 와 논리 는 스태빌라이저와 교환되지만 스태빌라이저 그룹에 속하지 않는 연산자로 정의된다.
와 는 각각 격자를 가로지르는 논리 사슬(logical chain) 이다. 두 사슬은 정확히 한 데이터 큐비트에서 교차하므로 가 성립한다.
4. 오류 신드롬과 디코딩
단일 큐비트에 비트 반전 오류 가 발생하면, 주변의 면 스태빌라이저 측정 결과가 로 바뀐다. 이 위반 쌍을 신드롬(syndrome) 이라 한다. 신드롬은 오류 발생 위치의 경계(endpoint)를 나타내며, 디코더는 이를 짝짓기(matching) 알고리즘으로 복원한다.
가장 보편적인 디코딩 알고리즘은 최소 가중치 완전 매칭(Minimum Weight Perfect Matching, MWPM) 으로, 신드롬 꼭짓점 쌍을 최단 경로로 연결해 정정 체인을 결정한다.
거리 인 표면 부호의 오류 정정 능력: 최대 개의 물리 오류를 정정할 수 있다.
예시·응용
거리-3 표면 부호 (9 데이터 큐비트)
# 간단한 표면 부호 스태빌라이저 생성 (Stim 라이브러리 예시)
import stim
# d=3 표면 부호 회로 생성
circuit = stim.Circuit.generated(
"surface_code:rotated_memory_z",
rounds=3,
distance=3,
after_clifford_depolarization=0.001
)
print(circuit)
오류 임계값
물리 오류율 가 임계값 이하일 때 논리 오류율은 거리 증가에 따라 지수적으로 감소한다.
표면 부호의 경우 (비편향 오류 모델 기준)로, 현재 초전도 큐비트 기술로 접근 가능한 수준이다.
Google의 Willow 프로세서 등에서 표면 부호 기반 실험이 진행되고 있으며, 거리 증가에 따른 논리 오류율 감소가 실험적으로 확인되었다.
정리
표면 부호는 2차원 격자 위의 형·형 국소 스태빌라이저로 코드 공간을 정의하고, 신드롬 측정과 MWPM 디코딩으로 오류를 정정한다. 거리 를 늘릴수록 논리 오류율이 지수적으로 감소하며, 약 1%의 높은 오류 임계값 덕분에 결함 허용 양자컴퓨팅의 핵심 기술로 자리잡고 있다.
연습문제
Q1.거리 $d=5$인 평면 표면 부호에 필요한 데이터 큐비트 수와 보조 큐비트 수를 각각 구하라.
힌트 보기
데이터 큐비트 수 공식 $d^2$, 보조 큐비트 수 공식 $d^2 - 1$을 적용한다.
해설 보기
데이터 큐비트는 $d^2 = 25$개, 보조 큐비트는 $d^2 - 1 = 24$개이므로, 총 물리 큐비트는 49개이다. 이는 $2d^2 - 2d + 1 = 50 - 10 + 1 = 41$과 같다(단, 표현식은 격자 형태에 따라 달라질 수 있음). 표준 평면 표면 부호에서 데이터 큐비트 $d^2 = 25$, 스태빌라이저 수 $d^2 - 1 = 24$이며, 이 부호로 최대 $\lfloor 2 \rfloor = 2$개의 물리 오류를 정정할 수 있다.
Q2.단일 데이터 큐비트에 $Z$ 오류가 발생했을 때 활성화되는 스태빌라이저 유형은 무엇이며, 그 이유를 설명하라.
해설 보기
$Z$ 오류는 $X$형 꼭짓점 스태빌라이저 $B_v = \prod X_i$를 위반한다. $Z$와 $X$는 반교환 관계($ZX = -XZ$)이므로, 오류 큐비트를 포함하는 꼭짓점 스태빌라이저의 측정값이 $+1$에서 $-1$로 반전된다. 반면 면 스태빌라이저 $A_p = \prod Z_i$는 $Z$와 교환 관계이므로($ZZ = ZZ$) 영향을 받지 않는다.
Q3.논리 $\bar{Z}$ 연산자를 구성하는 논리 사슬이 스태빌라이저 동치류(equivalence class) 내에서 변형 가능한 이유를 설명하라.
힌트 보기
스태빌라이저 연산자를 곱해도 코드 공간 위의 작용은 변하지 않음을 이용한다.
해설 보기
임의의 면 스태빌라이저 $A_p = \prod Z_i$를 논리 사슬 $\gamma_Z$에 곱하면 ($\bar{Z}' = A_p \cdot \bar{Z}$), 코드 공간 위에서 $A_p|\psi\rangle = |\psi\rangle$이므로 $\bar{Z}'|\psi\rangle = \bar{Z}|\psi\rangle$이다. 즉 논리 사슬은 스태빌라이저 배수만큼 변형(homological deformation)해도 동일한 논리 연산을 수행한다. 이는 표면 부호가 위상학적 불변량(homology)에 기반함을 보여 주며, 사슬이 격자를 완전히 가로지르지 않는 한(즉 경계가 사라지지 않는 한) 논리 정보가 보존된다.