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

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

Deutsch-Jozsa 알고리즘 — 단 한 번의 오라클 평가로 함수 판별

Deutsch-Jozsa 알고리즘은 주어진 함수가 상수 함수인지 균형 함수인지를 단 한 번의 오라클 질의로 확정적으로 판별한다. 고전 결정론적 알고리즘이 최악의 경우 지수 번의 평가를 필요로 하는 반면, 양자 중첩과 간섭을 이용해 지수적 질의 복잡도 감소를 달성한 최초의 엄밀한 사례다.

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

개념 소개

함수 가 다음 두 종류 중 하나임이 보장될 때, 어느 쪽인지 판별하는 문제를 생각한다.

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

고전 결정론적 알고리즘은 최악의 경우 번의 함수 평가가 필요하다. 입력이 100비트라면 번을 평가해야 확실한 답을 얻는다. Deutsch-Jozsa 알고리즘은 이를 단 1번으로 해결한다.


핵심 원리

오라클과 위상 반전(Phase Kickback)

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

보조 큐비트(ancilla)를 로 준비하면 위상 반전이 일어난다.

이면 위상 변화 없음, 이면 전역 위상에 이 붙는다. 오라클의 정보가 보조 큐비트가 아닌 질의 큐비트의 위상으로 옮겨지는 것이 핵심이다.

알고리즘 단계

1단계 – 초기화

개 질의 큐비트를 , 보조 큐비트를 로 설정한다.

2단계 – Hadamard 변환

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

3단계 – 오라클 적용

위상 반전에 의해 각 기저 상태에 가 붙는다.

4단계 – 두 번째 Hadamard 변환 및 측정

질의 큐비트에 을 다시 적용하면, 상태의 진폭은 다음과 같다.

  • 가 상수 함수이면 모든 항의 부호가 동일하므로 → 측정 시 반드시
  • 가 균형 함수이면 양의 항과 음의 항이 정확히 상쇄되어 → 이 측정될 확률 0

따라서 질의 큐비트를 측정하여 모두 0이면 상수 함수, 하나라도 1이면 균형 함수로 단 한 번에 확정 판별한다.


예시·응용

n=2 균형 함수 직접 계산

(균형 함수)

오라클 적용 후 질의 큐비트 상태:

두 번째 Hadamard 후 진폭:

측정 결과는 절대 이 아니므로 균형 함수로 판별된다.

Qiskit 구현

from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler

def deutsch_jozsa(n: int, oracle: str = 'balanced') -> QuantumCircuit:
    qc = QuantumCircuit(n + 1, n)

    # 보조 큐비트를 |1⟩로 초기화
    qc.x(n)

    # 전체 Hadamard
    qc.h(range(n + 1))

    # 오라클 구현
    if oracle == 'balanced':
        for i in range(n):
            qc.cx(i, n)          # 각 질의 큐비트 → 보조 큐비트 CNOT
    elif oracle == 'constant_1':
        qc.x(n)                  # 상수 1: 보조 큐비트에 X 게이트
    # constant_0: 아무것도 하지 않음

    # 질의 큐비트에 다시 Hadamard
    qc.h(range(n))

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

qc = deutsch_jozsa(n=3, oracle='balanced')
print(qc.draw('text'))
# 측정 결과가 000 이외이면 → 균형 함수

실용적 의의

Deutsch-Jozsa 알고리즘이 해결하는 문제 자체는 실용성이 높지 않다. 그러나 중첩을 통한 병렬 평가 → 위상에 정보 인코딩 → 간섭으로 정보 추출이라는 구조는 Bernstein-Vazirani 알고리즘, Simon 알고리즘, Grover 탐색 알고리즘 등 이후 양자 알고리즘들의 공통 설계 원형이다.


정리

Deutsch-Jozsa 알고리즘은 중첩(superposition)과 양자 간섭(interference), 그리고 위상 반전(phase kickback)이라는 세 가지 원리를 결합해 고전 대비 지수적 질의 복잡도 이점을 달성한다. 결과가 확률적이 아니라 **확정적(deterministic)**이라는 점에서 단순한 통계적 우위와 구분되며, 오라클 기반 양자 알고리즘 이론의 출발점으로서 역사적·교육적 가치가 크다.

Exercises

연습문제

  1. Q1상수 함수 $f(x)=1$ ($n=2$)일 때, 알고리즘의 각 단계를 거친 뒤 질의 큐비트의 상태를 직접 계산하고, 최종 측정 결과를 예측하라.

    힌트 보기

    오라클 적용 시 $(-1)^{f(x)} = (-1)^1 = -1$이 모든 항에 공통으로 붙는다. 전역 위상은 측정 확률에 영향을 주지 않는다는 점에 주의한다.

    해설 보기

    2단계 후 $\frac{1}{2}(|00\rangle+|01\rangle+|10\rangle+|11\rangle)$. 오라클 적용 후 $-\frac{1}{2}(|00\rangle+|01\rangle+|10\rangle+|11\rangle)$ (전역 위상만 바뀜). 두 번째 Hadamard 후 $|00\rangle$ 진폭 $= -\frac{1}{4}(1+1+1+1)=-1$, 측정 확률 $=|-1|^2=1$. 반드시 $|00\rangle$이 측정되므로 상수 함수로 올바르게 판별된다.

  2. Q2고전 결정론적 알고리즘이 $n$비트 입력 함수를 판별하는 데 최악의 경우 왜 $2^{n-1}+1$번의 질의가 필요한지 설명하라.

    해설 보기

    $2^{n-1}$번의 질의까지 모두 같은 출력값(예: 모두 0)이 나왔다면, 아직 상수 함수인지 균형 함수인지 확정할 수 없다. 상수 0 함수이거나, 나머지 $2^{n-1}$개 입력 전부에서 1을 출력하는 균형 함수일 수 있기 때문이다. 따라서 반드시 $2^{n-1}+1$번째 질의가 있어야 판별 가능하다. 이 최악의 경우 질의 횟수가 $n$에 대해 지수적으로 증가한다.

  3. Q3Deutsch-Jozsa 알고리즘에서 보조 큐비트를 $|0\rangle$ 대신 $|1\rangle$로 초기화하는 이유는 무엇인가?

    힌트 보기

    $H|0\rangle$과 $H|1\rangle$이 각각 어떤 상태가 되는지 계산해 보고, 위상 반전 조건과 비교한다.

    해설 보기

    $H|1\rangle = |{-}\rangle = \frac{|0\rangle-|1\rangle}{\sqrt{2}}$이다. 오라클 $U_f$를 이 상태에 적용하면 $U_f|x\rangle|{-}\rangle = (-1)^{f(x)}|x\rangle|{-}\rangle$로 위상 반전이 일어나 함수값이 위상에 인코딩된다. 반면 $H|0\rangle = |{+}\rangle$을 사용하면 위상 반전이 발생하지 않고 $f(x)$의 정보가 보조 큐비트의 진폭으로 섞여 들어가 간섭 기반 판별이 불가능해진다.

관련 용어

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

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