먼저 읽으면 좋은 용어
개념 소개
양자 정보는 환경과의 결합(decoherence) 및 게이트 불완전성으로 인해 필연적으로 오류를 동반한다. 고전 오류 정정이 비트를 단순 복사해 다수결로 복원하듯, 양자 오류 정정은 복사 불가 원리(no-cloning theorem) 의 제약 안에서 정보를 여러 물리 큐비트에 얽힘 형태로 분산 인코딩한다.
표면 부호(Surface Code)는 격자에 물리 큐비트를 배치하는 위상학적 안정자 부호다. 여기서 는 부호 거리(code distance)이며, 정정 가능한 오류 수는 개다. 즉 이면 최대 2개의 독립 오류를 정정할 수 있다.
핵심 원리
격자 구조
표면 부호의 표준 구성은 다음과 같다.
- 데이터 큐비트(data qubit): 격자의 꼭짓점(vertex) 위치에 개 배치
- 보조 큐비트(ancilla qubit): 격자 면(plaquette)과 꼭짓점 체크 위치에 배치되어 안정자를 측정
전체 물리 큐비트 수는 개이며, 논리 큐비트 1개를 인코딩한다. 인코딩 비율(encoding rate)은 로 낮지만, 높은 오류 임계값으로 이를 상쇄한다.
안정자 연산자
표면 부호의 안정자 군(stabilizer group) 는 두 종류의 연산자로 구성된다.
꼭짓점 연산자 (Z-type / vertex stabilizer):
꼭짓점 주변 4개(경계는 2~3개) 데이터 큐비트에 Pauli-를 작용한다.
면 연산자 (X-type / plaquette stabilizer):
면 주변 4개 데이터 큐비트에 Pauli-를 작용한다.
임의의 와 는 공유 큐비트가 항상 짝수 개이므로 이 보장된다. 논리 연산자는 격자를 가로지르는 비자명(non-trivial) 체인으로 정의된다.
오류 증후군(Syndrome) 추출
안정자 측정 결과 집합을 증후군이라 한다. 오류가 없으면 모든 의 고유값은 이다. 단일 비트 플립( 오류)이 데이터 큐비트 에 발생하면, 를 공유하는 두 꼭짓점 안정자가 을 반환하여 오류의 끝점이 드러난다.
오류 체인은 증후군의 경계(boundary) 로 나타나므로, 최솟값 매칭(Minimum Weight Perfect Matching, MWPM) 알고리즘으로 가장 짧은 오류 경로를 추론해 정정한다.
import networkx as nx
def decode_syndrome_mwpm(syndrome_nodes: list[tuple[int,int]]) -> list[tuple]:
"""
syndrome_nodes: 증후군이 -1인 안정자의 2D 좌표 리스트
반환: 매칭된 (노드A, 노드B) 쌍 리스트 — 이 경로가 정정 연산 위치
"""
G = nx.Graph()
for i, u in enumerate(syndrome_nodes):
for j, v in enumerate(syndrome_nodes):
if i >= j:
continue
dist = abs(u[0] - v[0]) + abs(u[1] - v[1]) # Manhattan distance
G.add_edge(i, j, weight=-dist) # networkx는 최대 매칭 기준
matching = nx.max_weight_matching(G, maxcardinality=True)
return [(syndrome_nodes[a], syndrome_nodes[b]) for a, b in matching]
오류 임계값
오류 임계값 는 물리 오류율 이면 부호 거리 를 늘릴수록 논리 오류율이 지수적으로 감소하는 임계점이다. 표면 부호는 독립 탈분극화 오류 모델 하에서
로 계산되며, 이는 다른 주요 부호 대비 월등히 높은 수치다. 논리 오류율은 근사적으로
로 스케일된다.
예시·응용
Google의 실험적 검증: 표면 부호 구조에서 대비 로 거리를 증가시킬 때 논리 오류율이 실제로 감소함을 초전도 큐비트 플랫폼에서 확인한 연구가 발표된 바 있다.
격자 수술(Lattice Surgery): 두 논리 큐비트를 얽히게 하는 대표적 방법으로, 격자 경계를 임시로 합병·분리하여 논리 또는 측정을 수행한다. 보조 게이트 없이 국소 연산만으로 구현되어 오버헤드가 낮다.
자원 추정 예시: 논리 오류율 을 목표로 할 때, 물리 오류율 이면 이 필요하며 물리 큐비트 수는 약 개/논리 큐비트가 요구된다.
정리
표면 부호는 2차원 국소 상호작용만으로 결함 허용 양자 연산을 구현할 수 있는 가장 실용적인 오류 정정 구조다. 핵심은 데이터 큐비트를 직접 측정하지 않고 보조 큐비트로 안정자를 추출하는 비파괴 증후군 측정, 그리고 MWPM 기반 디코딩 알고리즘이다. 부호 거리 를 늘리면 지수적으로 낮은 논리 오류율을 달성할 수 있으나, 이에 비례한 물리 큐비트 오버헤드가 따른다.
Exercises
연습문제
Q1$d=3$ 표면 부호에서 정정 가능한 최대 오류 개수는 몇 개인가? 그 이유를 부호 거리의 정의로부터 설명하라.
힌트 보기
$t = \lfloor (d-1)/2 \rfloor$ 공식을 적용하고, 오류 체인의 길이와 논리 오류와의 관계를 생각하라.
해설 보기
$t = \lfloor (3-1)/2 \rfloor = 1$이므로 1개의 독립 오류를 정정할 수 있다. 부호 거리 $d=3$은 논리 연산자를 구성하는 최단 체인의 길이가 3임을 의미한다. 오류가 2개 이상이면 MWPM 디코더가 오류 체인의 끝점을 잘못 연결하여 논리 오류(격자를 관통하는 체인)가 형성될 수 있다.
Q2표면 부호에서 X-type 오류(비트 플립)가 발생했을 때 활성화되는 안정자는 Z-type 꼭짓점 연산자($A_v$)인가, X-type 면 연산자($B_p$)인가? 파울리 교환 관계로 설명하라.
해설 보기
Z-type 꼭짓점 연산자 $A_v$가 활성화된다. 데이터 큐비트 $j$에 $X_j$ 오류가 발생하면 $X_j Z_j = -Z_j X_j$이므로 $j$를 포함하는 $A_v$의 측정값이 $+1 \to -1$로 반전된다. 반면 $B_p$는 $X$로만 구성되어 $X_j$와 교환 가능($[X_j, X_j]=0$)하므로 영향을 받지 않는다.
Q3물리 오류율 $p = 5 \times 10^{-3}$, 목표 논리 오류율 $p_L \leq 10^{-6}$일 때, $p_{th} = 0.011$, $A=0.1$로 가정하면 필요한 최소 부호 거리 $d$를 추정하라.
힌트 보기
$p_L \approx A(p/p_{th})^{\lfloor d/2 \rfloor + 1}$ 에서 양변에 로그를 취하라.
해설 보기
$r = p/p_{th} = 5\times10^{-3}/0.011 \approx 0.455$. 조건은 $0.1 \times 0.455^{\lfloor d/2\rfloor+1} \leq 10^{-6}$, 즉 $0.455^k \leq 10^{-5}$ ($k = \lfloor d/2\rfloor+1$). 양변 로그: $k \geq \log(10^{-5})/\log(0.455) \approx (-5)/(-0.342) \approx 14.6$, 따라서 $k=15$, $\lfloor d/2\rfloor = 14$이므로 $d \geq 29$ (홀수 기준 $d=29$). 이때 물리 큐비트 수는 약 $2\times29^2-1=1681$개가 필요하다.
관련 용어


