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

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

Deutsch-Jozsa 알고리즘 — 단 한 번의 평가로 함수의 성질 판별

Deutsch-Jozsa 알고리즘은 주어진 함수가 '상수 함수'인지 '균형 함수'인지를 양자컴퓨터 단 한 번의 호출로 판별한다. 고전 컴퓨터가 최악의 경우 지수적 쿼리를 요구하는 데 반해, 이 알고리즘은 양자 중첩과 위상 반동(phase kickback)을 이용해 지수적 속도 향상을 달성하는 최초의 명확한 사례다.

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

개념 소개

다음 상황을 상상해 보자. 블랙박스 함수 가 있고, 이 함수는 반드시 두 가지 중 하나임이 보장된다.

  • 상수 함수(constant): 모든 입력에 대해 출력이 0 또는 1로 동일
  • 균형 함수(balanced): 정확히 절반의 입력에서 0, 나머지 절반에서 1을 출력

고전적으로 이를 확실하게 판별하려면 최악의 경우 번 함수를 호출해야 한다. 이면 이미 천문학적인 수다. Deutsch-Jozsa 알고리즘은 단 1번의 오라클 호출로 이를 결정한다.


핵심 원리

오라클과 위상 반동

함수 는 유니타리 오라클 로 구현된다.

보조 큐비트(ancilla)를 상태로 준비하면, 오라클 적용 후 전체 상태는

가 된다. 함수의 출력값이 보조 큐비트 대신 위상으로 전이되는 이 현상이 위상 반동이다.

알고리즘 회로

초기 상태 에서 출발한다.

① 하다마르 변환 적용

② 오라클 적용

③ 첫 번째 레지스터에 다시 적용

④ 측정

이 관측될 확률은

  • 상수 함수: 모든 가 동일 → 합이 →
  • 균형 함수: 절반은 , 절반은 → 합이 →

따라서 이 관측되면 상수, 그 외 결과면 균형 함수로 판별한다.


예시·응용

n=2, 균형 함수 예시

이면 균형 함수다.

오라클 적용 후 첫 번째 레지스터 상태:

이 상태에 를 적용하면 만 남아, 측정 결과는 이 된다 — 이 아니므로 균형 함수 판별 성공.

Qiskit 구현 예시

from qiskit import QuantumCircuit

def deutsch_jozsa_balanced(n=2):
    qc = QuantumCircuit(n + 1, n)
    # 초기화: 보조 큐비트를 |1⟩로
    qc.x(n)
    qc.h(range(n + 1))

    # 균형 오라클 예시: CNOT으로 f(x) = x_0 XOR x_1 구현
    qc.cx(0, n)
    qc.cx(1, n)

    qc.h(range(n))
    qc.measure(range(n), range(n))
    return qc

qc = deutsch_jozsa_balanced()
print(qc.draw())

측정 결과가 00이 아닌 값이 나오면 균형 함수, 00이면 상수 함수임을 알 수 있다.

의의

Deutsch-Jozsa 알고리즘은 실용적 문제 해결보다 원리적 중요성이 크다. 양자 중첩이 지수적 병렬성을 제공함을 최초로 엄밀하게 증명했으며, 이후 Shor 알고리즘, Grover 알고리즘의 토대가 되는 오라클 기반 설계 패러다임을 확립했다.


정리

Deutsch-Jozsa 알고리즘의 핵심은 중첩으로 모든 입력을 동시에 탐색하고, 위상 반동으로 함수 정보를 위상에 인코딩한 뒤, 하다마르 변환으로 전역적 성질을 단일 측정 결과에 집결시키는 데 있다. 고전 최악의 경우 지수 쿼리 대 양자 1 쿼리라는 이 지수적 분리(exponential separation)는 양자 우위의 가장 깔끔한 이론적 시연이다.

Exercises

연습문제

  1. Q1$n=1$인 Deutsch 문제에서 상수 함수 $f(x)=1$을 오라클로 구현했을 때, 알고리즘 각 단계 후의 양자 상태를 직접 계산하라.

    힌트 보기

    초기 상태 $|0\rangle|1\rangle$에서 출발해 $H\otimes H$, 오라클, $H$ 순서로 상태 벡터를 전개해 보라.

    해설 보기

    초기: $|0\rangle|1\rangle$ → $H\otimes H$ 후: $|-\rangle^{(x)}|-\rangle^{(anc)} = \frac{1}{2}(|0\rangle+|1\rangle)(|0\rangle-|1\rangle)$. $f(x)=1$이므로 오라클 후 모든 항에 $(-1)^1=-1$이 곱혀 $\frac{-1}{2}(|0\rangle+|1\rangle)(|0\rangle-|1\rangle)$. 첫 번째 큐비트에 $H$ 적용: $H\frac{1}{\sqrt{2}}(|0\rangle+|1\rangle) = |0\rangle$. 따라서 측정 결과는 $0$ → 상수 함수 판별 성공.

  2. Q2균형 함수와 상수 함수 각각에서 $P(0^n)$이 왜 1과 0이 되는지, 합 $\sum_x (-1)^{f(x)}$의 값을 이용해 설명하라.

    해설 보기

    상수 함수의 경우 모든 $(-1)^{f(x)}$가 같은 부호를 가지므로 합이 $\pm 2^n$이 되어 $P(0^n)=|{\pm 2^n}/{2^n}|^2=1$이다. 균형 함수의 경우 $2^{n-1}$개는 $+1$, $2^{n-1}$개는 $-1$로 합이 정확히 $0$이 되어 $P(0^n)=0$이다. 이 이진 분리 덕분에 단일 측정으로 두 경우를 완벽하게 구분할 수 있다.

  3. Q3Deutsch-Jozsa 알고리즘이 오라클을 2번 이상 호출하도록 변형하면 어떤 이점이 있는가? 또한 이 알고리즘의 현실적 한계는 무엇인가?

    해설 보기

    이미 1번으로 결정적(deterministic)으로 판별되므로 추가 호출은 정확도 향상에 기여하지 않는다. 현실적 한계로는, 이 문제 설정 자체(함수가 반드시 상수 혹은 균형임이 보장됨)가 매우 제한적이라 실제 응용 문제에 직접 적용하기 어렵다는 점이 있다. 또한 오라클 구현 자체에 이미 회로 복잡도가 포함될 수 있어, 전체 계산 복잡도는 오라클 쿼리 수만으로 평가해야 한다.

관련 용어

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

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분 읽기