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

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

Deutsch-Jozsa 알고리즘 — 단 한 번의 평가로 함수의 본질을 밝히다

Deutsch-Jozsa 알고리즘은 주어진 함수가 '상수 함수'인지 '균형 함수'인지를 고전 컴퓨터보다 지수적으로 적은 횟수로 판별하는 최초의 양자 알고리즘이다. 위상 되차기(phase kickback)와 양자 간섭을 결합해 단 한 번의 오라클 호출만으로 결론을 이끌어낸다. 이 알고리즘은 실용적 이점보다는 양자 우위의 개념적 증명으로서 중요한 역사적·교육적 의미를 지닌다.

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

개념 소개

비트 입력을 받아 0 또는 1을 출력하는 함수 가 있다고 하자. 이 함수가 상수 함수(constant) — 모든 입력에 대해 같은 값 출력 — 인지, 균형 함수(balanced) — 절반은 0, 절반은 1 출력 — 인지 판별하는 문제다.

고전 결정론적 알고리즘은 최악의 경우 번의 함수 호출이 필요하다. 반면 Deutsch-Jozsa 알고리즘은 단 1번의 오라클 호출로 확실한 답을 낸다. 이것이 최초로 엄밀히 증명된 양자-고전 지수적 격차다.


핵심 원리

회로 구성

총 개의 큐비트를 사용한다. 상위 개는 입력 레지스터, 나머지 1개는 보조(ancilla) 큐비트다.

1단계 — Hadamard 적용

모든 큐비트에 Hadamard 게이트를 적용하면 입력 레지스터는 균등 중첩이 되고, 보조 큐비트는 상태가 된다.

2단계 — 오라클(위상 되차기)

양자 오라클 는 로 정의된다. 보조 큐비트가 일 때 오라클을 적용하면 위상 되차기가 발생한다.

오라클 적용 후 입력 레지스터는 다음과 같다.

3단계 — 두 번째 Hadamard 및 측정

입력 레지스터에 다시 Hadamard를 적용하면 상태의 진폭은 아래와 같다.

  • 가 상수 함수이면 모든 항의 부호가 같으므로 진폭의 절댓값은 1 → 측정 확률 100%
  • 가 균형 함수이면 부호가 절반씩 상쇄되어 진폭은 0 → 측정 확률 0%

따라서 측정 결과가 모두 0이면 상수, 그렇지 않으면 균형으로 결론 내릴 수 있다.


예시·응용

1큐비트 Deutsch 알고리즘 ()

4가지 가능한 함수 중 (균형)를 예로 들면, 오라클 적용 후 입력 큐비트의 위상이 뒤집혀 두 번째 Hadamard 이후 이 측정된다.

Qiskit 구현 예시

from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

def deutsch_jozsa(n, oracle_type="balanced"):
    qc = QuantumCircuit(n + 1, n)
    # 초기화
    qc.x(n)          # 보조 큐비트 |1>
    qc.h(range(n + 1))
    # 오라클 (균형: 첫 번째 입력 큐비트와 보조 큐비트 CNOT)
    if oracle_type == "balanced":
        qc.cx(0, n)
    # 두 번째 Hadamard
    qc.h(range(n))
    qc.measure(range(n), range(n))
    return qc

qc = deutsch_jozsa(n=3, oracle_type="balanced")
result = AerSimulator().run(qc, shots=1).result()
print(result.get_counts())  # {'001': 1} 또는 비-000 결과 → 균형 함수

의의와 한계

이 알고리즘은 실제 응용보다 개념 증명으로서의 가치가 크다. 현실 문제에서 함수가 반드시 상수 또는 균형 중 하나라고 보장되지 않기 때문이다. 그러나 Bernstein-Vazirani, Simon 알고리즘 등 더 강력한 알고리즘들의 이론적 토대가 되었다.


정리

Deutsch-Jozsa 알고리즘의 핵심은 중첩으로 모든 입력을 동시에 평가하고, 위상 되차기로 함수 정보를 위상에 인코딩하며, 간섭으로 전역 정보를 읽어내는 세 단계의 협력이다. 이 구조는 이후 대부분의 양자 알고리즘 설계에서 반복적으로 등장하는 기본 패턴이다.

Exercises

연습문제

  1. Q1함수 $f(x) = 0$ (모든 입력에 대해 0)이 상수 함수일 때, Deutsch-Jozsa 알고리즘에서 두 번째 Hadamard 적용 후 입력 레지스터의 상태와 측정 결과를 구하라 ($n=2$).

    힌트 보기

    오라클 적용 후 모든 $x$에 대해 위상 $(-1)^{f(x)} = 1$이므로, $|\psi_2\rangle = \frac{1}{2}\sum_x |x\rangle$임을 활용하라.

    해설 보기

    $f(x)=0$이므로 오라클 적용 후 $|\psi_2\rangle = \frac{1}{2}(|00\rangle+|01\rangle+|10\rangle+|11\rangle)$이다. 이에 $H^{\otimes 2}$를 적용하면 $|00\rangle$ 상태로 완전히 수렴한다. $\langle 00|\psi_3\rangle = \frac{1}{4}(1+1+1+1)=1$이므로 측정 결과는 반드시 $|00\rangle$이며, 이는 상수 함수임을 의미한다.

  2. Q2균형 함수의 경우 측정 결과가 왜 반드시 $|0\rangle^{\otimes n}$이 아닌가를 위상 간섭의 관점에서 서술하라.

    해설 보기

    균형 함수는 전체 $2^n$개 입력 중 절반에서 $f(x)=0$, 나머지 절반에서 $f(x)=1$이다. 따라서 오라클 후 위상 $(-1)^{f(x)}$의 합은 $\sum_x (-1)^{f(x)} = 2^{n-1} \cdot 1 + 2^{n-1} \cdot (-1) = 0$이 된다. 이는 $|0\rangle^{\otimes n}$의 진폭이 정확히 0임을 의미하므로, 두 번째 Hadamard 이후 $|0\rangle^{\otimes n}$은 측정되지 않는다. 즉, 절반의 양위상과 음위상이 완전히 상쇄(소멸 간섭)되기 때문이다.

  3. Q3Deutsch-Jozsa 알고리즘은 왜 '확률적'이 아닌 '결정론적' 양자 알고리즘으로 분류되는가?

    해설 보기

    알고리즘의 최종 측정 결과가 상수 함수일 때는 반드시 $|0\rangle^{\otimes n}$, 균형 함수일 때는 반드시 $|0\rangle^{\otimes n}$이 아닌 값으로 나온다. 오류 확률이 0이므로 단 1회 실행만으로 100% 정확한 답을 낼 수 있다. 이는 예를 들어 Grover 알고리즘처럼 반복 실행과 확률적 증폭이 필요한 알고리즘과 대비된다.

관련 용어

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

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