10월 1일 (목)양자 뉴스·논문·데이터를 매일 검증해 한국어로 전합니다

튜토리얼 목록
Tutorial중급양자컴퓨팅

Deutsch-Jozsa 알고리즘 — 단 한 번의 평가로 결정하기

Deutsch-Jozsa 알고리즘은 주어진 함수가 상수 함수인지 균형 함수인지를 단 한 번의 오라클 호출로 결정하는 최초의 실용적 양자 알고리즘이다. 고전 컴퓨터가 최악의 경우 지수적 쿼리를 요구하는 문제를 양자 중첩과 간섭을 이용해 결정론적으로 해결한다. 이 알고리즘은 양자 우위의 개념을 처음으로 엄밀히 증명한 교육적 모델로 널리 사용된다.

난이도 중급4분 읽기연습문제 3개

개념 소개

동전 개가 앞면 또는 뒷면을 보이고 있다고 하자. 규칙은 두 가지뿐이다. 모든 동전이 같은 면을 보이거나(상수), 정확히 절반은 앞면이고 절반은 뒷면이다(균형). 최악의 경우 고전적으로는 번을 확인해야 확신할 수 있다. Deutsch-Jozsa 알고리즘은 이 문제를 단 한 번의 오라클 평가로 확정적으로 답한다.

형식적으로, 이 주어질 때:

  • 상수 함수(constant): 모든 입력에 대해 또는
  • 균형 함수(balanced): 정확히 절반의 입력에서 , 나머지에서

핵심 원리

알고리즘은 개의 큐비트를 사용한다. 입력 레지스터 개는 으로, 보조 큐비트는 로 초기화한다.

1단계 — 중첩 생성

모든 큐비트에 Hadamard 게이트를 적용한다.

2단계 — 오라클 적용 (위상 킥백)

오라클 는 로 정의된다. 보조 큐비트가 상태일 때 위상 킥백(phase kickback)이 발생한다.

의 값이 보조 큐비트의 비트를 뒤집는 대신 전체 진폭의 부호를 결정하게 된다.

3단계 — 간섭과 측정

입력 레지스터에 다시 을 적용하면:

일 때의 진폭은 이다.

  • 가 상수이면: 모든 항의 부호가 같아 진폭 → 이 반드시 측정됨
  • 가 균형이면: 양의 항과 음의 항이 상쇄되어 진폭 → 은 절대 측정되지 않음

따라서 입력 레지스터를 한 번 측정하는 것으로 결정이 완료된다.

예시·응용

아래는 Qiskit을 이용한 균형 함수(첫 큐비트에 CNOT 오라클) 구현 예시다.

from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler

n = 3
qc = QuantumCircuit(n + 1, n)

# 초기화
qc.x(n)                  # 보조 큐비트 |1⟩
qc.h(range(n + 1))       # H^{⊗n+1}

# 오라클: 첫 번째 큐비트에 의존하는 균형 함수
qc.cx(0, n)

# 역 Hadamard
qc.h(range(n))

# 측정
qc.measure(range(n), range(n))

sampler = StatevectorSampler()
result = sampler.run([qc], shots=1024).result()
print(result[0].data.c.get_counts())
# 출력: {'001': 1024} — 0 이외의 결과 → 균형 함수 확정

실용적 의의: Deutsch-Jozsa 알고리즘 자체는 인위적인 문제를 다루지만, 여기서 사용된 위상 킥백과 Hadamard 간섭 기법은 Bernstein-Vazirani 알고리즘, Simon 알고리즘, 나아가 Shor 알고리즘의 핵심 구성 요소다.

정리

Deutsch-Jozsa 알고리즘은 양자 중첩으로 모든 입력을 동시에 인코딩하고, 오라클을 통해 함수 정보를 위상으로 변환한 뒤, Hadamard 간섭으로 답을 단일 측정 결과에 집중시킨다. 고전 결정론적 알고리즘 대비 지수적 쿼리 감소를 엄밀히 보장하는 이 구조는 이후 모든 양자 알고리즘 설계의 원형이 된다.

Exercises

연습문제

  1. Q1$n=2$일 때 $f(x)$가 상수 함수($f \equiv 0$)라면, 오라클 적용 후 입력 레지스터의 상태를 수식으로 구하고, 최종 측정 결과를 예측하라.

    힌트 보기

    오라클이 위상 변화를 일으키지 않을 때 $H^{\otimes 2}$를 다시 적용하면 어떤 상태가 복원되는가?

    해설 보기

    상수 함수이므로 오라클은 모든 항에 $(-1)^0=1$을 곱해 상태를 변경하지 않는다. 입력 레지스터는 $\frac{1}{2}(|00\rangle+|01\rangle+|10\rangle+|11\rangle)$ 그대로이고, $H^{\otimes 2}$를 적용하면 $|00\rangle$으로 완전히 수렴한다. 따라서 측정 결과는 항상 $00$이다.

  2. Q2위상 킥백(phase kickback)이 발생하는 이유를 설명하라. 보조 큐비트가 $|0\rangle$ 상태였다면 어떤 차이가 생기는가?

    해설 보기

    보조 큐비트가 $\frac{|0\rangle-|1\rangle}{\sqrt{2}}$일 때, $|y \oplus f(x)\rangle$는 $f(x)=1$이면 $|0\rangle$과 $|1\rangle$의 부호를 교환하여 전체 항에 $(-1)^{f(x)}$가 곱해진다. 보조 큐비트가 $|0\rangle$이면 오라클 적용 후 보조 큐비트가 $|f(x)\rangle$로 바뀔 뿐 입력 레지스터의 위상에는 영향을 주지 않으므로 알고리즘이 동작하지 않는다.

  3. Q3Deutsch-Jozsa 알고리즘의 쿼리 복잡도를 고전 결정론적·고전 확률론적·양자 세 관점에서 비교하라.

    해설 보기

    고전 결정론적 알고리즘은 최악의 경우 $2^{n-1}+1$번의 쿼리가 필요하다. 고전 확률론적 알고리즘은 $O(1)$번의 무작위 쿼리로 높은 확률로 판별할 수 있으나 오류 확률이 완전히 제거되지 않는다. 양자 알고리즘은 단 1번의 오라클 쿼리로 **결정론적**으로(오류 없이) 판별하며, 이것이 고전 확률 알고리즘 대비 양자의 진정한 우위를 보여준다.

관련 용어

이 챕터는 Claude (claude-sonnet-4-6)가 작성했습니다. · 발행 2026. 9. 21.

Keep Learning

다음으로 볼 튜토리얼

전체보기
중급

양자통신

포스트양자암호(PQC) 기초: 양자 시대를 대비하는 암호 설계

포스트양자암호(PQC)는 충분한 규모의 양자 컴퓨터가 등장해도 안전하도록 설계된 고전 알고리즘 기반 암호 체계다. RSA·ECC 등 현행 공개키 암호의 취약점을 수학적 난제로 보완하며, NIST의 표준화를 통해 실용화 단계에 진입했다.

4분 읽기

중급

양자통신

PQC(포스트양자암호) 기초: 양자 시대의 암호 보안

양자 컴퓨터의 발전으로 RSA, ECC 등 현재의 공개키 암호 체계가 근본적인 위협에 직면했다. 포스트양자암호(PQC)는 양자 컴퓨터로도 풀기 어려운 수학적 난제에 기반한 새로운 암호 방식으로, NIST의 표준화 작업을 통해 실용화 단계에 접어들었다. PQC는 기존 통신 인프라 위에서 동작하므로 양자키분배(QKD)와는 구별되는 상호 보완적인 접근이다.

4분 읽기

고급

양자컴퓨팅

변분 양자 고유값 계산(VQE): 원리와 구현

VQE(Variational Quantum Eigensolver)는 변분 원리를 기반으로 해밀토니안의 바닥 상태 에너지를 추정하는 양자-고전 하이브리드 알고리즘이다. 매개변수화 양자 회로(Ansatz)로 시험 상태를 준비하고 고전 최적화기로 에너지를 최소화하는 반복 루프를 구성한다. 깊이가 얕은 회로를 사용하므로 NISQ 장치에서 실행 가능한 현실적 양자 알고리즘으로 평가받는다.

6분 읽기

고급

양자컴퓨팅

QAOA: 조합 최적화를 위한 양자 근사 최적화 알고리즘

QAOA(Quantum Approximate Optimization Algorithm)는 조합 최적화 문제를 양자 회로로 근사 해결하는 변분 양자 알고리즘이다. 비용 해밀토니안과 혼합 해밀토니안을 교대로 적용하는 $p$층 회로를 구성하고, 고전 최적화기로 매개변수를 조율하는 하이브리드 방식을 채택한다. MaxCut, 포트폴리오 최적화 등 NP-난해 문제에 대한 근사 해를 NISQ 장치에서 탐색하는 데 활발히 연구되고 있다.

5분 읽기