🧪 Quantum Metamorphic Testing Lab

이상적 환경에서 같은 출력 분포(|00⟩ 50%, |11⟩ 50%)를 내는 2-큐비트 게이트 조합(TC1~TC6)에 노이즈를 가하고, Chi-Square · KL-Divergence · Cosine Similarity로 메타모픽 관계(MR)의 유지와 붕괴를 관찰하는 교육용 실습입니다.

“Generating Metamorphic Test Cases using 2-qubit Quantum Gate Combinations,” 한국컴퓨터정보학회논문지, 31(5), 1–9, 2026. doi:10.9708/jksci.2026.31.05.001
측정 기저

출력 확률 분포 (점: 측정값 · 점선: 정확한 확률)

Chi-Square p-value

KL-Divergence

Cosine Similarity

결과 표

논문 Fig.1·2 재현: Depolarizing·Amplitude Damping은 Z-기저, Phase Damping은 X-기저에서 측정합니다.

Depolarizing Z

Amplitude Damping Z

Phase Damping X

KL-Divergence

Cosine Similarity

Chi-Square p-value

결과 표

게이트를 공백으로 구분해 입력하세요. 회로는 |00⟩에서 시작합니다. 1-큐비트: h0 x1 y0 z1 s0 sdg1 t0 tdg1 · 2-큐비트: cx01(제어 q0 → 목표 q1) cx10 cz01 swap01

측정 기저

출력 확률 분포

Chi-Square p-value

KL-Divergence

Cosine Similarity

1. 왜 양자 소프트웨어 테스팅이 어려운가?

고전 프로그램은 같은 입력에 같은 출력이 나오지만, 양자 회로는 측정 순간 확률적으로 결과가 정해집니다. 같은 회로를 4,096번 실행하면 “정답 하나”가 아니라 출력 확률 분포가 나옵니다. 그래서 “기대 출력과 일치하는가?”라는 전통적인 테스트 오라클을 그대로 쓰기 어렵습니다(오라클 문제).

2. 메타모픽 테스팅

정답을 몰라도 입력 변형과 출력 사이의 관계(Metamorphic Relation, MR)가 지켜지는지 검사합니다.

  • 소스 테스트 케이스: TC1 H(q0) → CX(q0,q1) → Bell 상태 |Φ⁺⟩ = (|00⟩+|11⟩)/√2
  • 팔로우업 테스트 케이스: TC2~TC6, 이상적으로는 출력 분포를 바꾸지 않는 구조적 변형
  • MR: “논리적으로 동일한 출력 분포를 내는 게이트 조합은 노이즈 환경에서도 동일한 분포를 유지해야 한다.”
TC변형왜 분포가 같은가?
TC2X(q0) 추가(|00⟩−|11⟩)/√2 — 위상 부호만 달라지고 Z-기저 확률은 동일
TC3Z(q0) 추가Z|0⟩ = |0⟩
TC4Z(q0), Z(q1)초기 상태 |00⟩ 불변
TC5H 두 번HH = I (자기 역원)
TC6제어/목표 교환|Φ⁺⟩는 큐비트 교환에 대칭

3. 세 가지 노이즈 모델

모델물리적 의미출력 분포에 나타나는 모습측정 기저
Depolarizing (p)확률 p로 상태가 완전히 무작위화4개 상태가 25%로 균등하게 수렴Z
Amplitude Damping (γ)에너지 이완 |1⟩→|0⟩ (T1)|11⟩ 감소·|00⟩ 증가의 비대칭 왜곡Z
Phase Damping (λ)에너지 손실 없이 위상만 소실 (T2)Z-기저에서는 잘 안 보여 X-기저에서 간섭 감쇠 관찰X

이 실습의 노이즈는 각 게이트 직후에 적용됩니다. 1-큐비트 게이트에는 단일 큐비트 오류, 2-큐비트 게이트에는 2-큐비트 오류를 넣었고, X-기저 측정용 H 게이트에도 노이즈가 붙습니다.

4. 평가 지표

Chi-Square (핵심 지표) — MR 유지 여부를 p-value로 판정합니다.
χ² = Σ (Oᵢ − Eᵢ)² / Eᵢ
p > 0.5 · MR 유지 0.05 < p ≤ 0.5 · 불확실 p ≤ 0.05 · MR 붕괴

KL-Divergence — 기대 분포 P에서 관측 분포 Q가 얼마나 이탈했는지(0에 가까울수록 근접).
KL(P‖Q) = Σ P(x) · log( P(x) / Q(x) )

Cosine Similarity — 두 분포를 벡터로 보고 방향(구조)의 유사도를 잽니다(1에 가까울수록 유사).
CS = (P · Q) / (‖P‖ · ‖Q‖)

5. 생각해 볼 질문

  1. 기대 분포에서 |01⟩, |10⟩의 기대 빈도는 0입니다. 오류 상태가 단 몇 번만 관찰돼도 적합도 검정의 p-value는 어떻게 될까요? 판정 방식을 바꿔 비교해 보세요.
  2. TC5는 이상적으로 TC1과 같지만, 노이즈 환경에서는 왜 더 빨리 무너질까요? (게이트 수와 오류 누적)
  3. 같은 노이즈 강도에서 Amplitude Damping의 KL이 가장 가파르게 증가하는 이유는 무엇일까요?
  4. Phase Damping을 Z-기저로 측정하면 왜 변화가 거의 보이지 않을까요?
  5. TC2를 X-기저로 측정하면 노이즈가 0일 때도 |01⟩, |10⟩만 나옵니다. 왜일까요? (힌트: (|00⟩−|11⟩)/√2에 H⊗H를 적용해 보세요.) MR은 측정 기저까지 포함해 정의해야 합니다.
  6. h0 cx01 s0는 Z-기저 출력 분포가 TC1과 같습니다. 이것은 유효한 팔로우업일까요? X-기저에서는 어떨까요?