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

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

Deutsch-Jozsa 알고리즘 — 단 한 번의 오라클 호출로 판별하기

Deutsch-Jozsa 알고리즘은 함수가 상수인지 균형인지를 고전적으로는 지수적 질의 횟수가 필요하지만 양자 방식으로는 단 한 번의 오라클 호출만으로 확정적으로 판별한다. 중첩·위상 반발·간섭이라는 세 가지 원리를 결합해 양자 컴퓨터의 지수적 이점을 최초로 이론적으로 증명한 교과서적 알고리즘이다.

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

개념 소개

문제 설정: 함수 이 주어진다. 이 함수는 다음 둘 중 하나임이 보장된다.

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

고전 알고리즘이 최악의 경우 판별하려면 번의 질의가 필요하다. 반면 Deutsch-Jozsa 알고리즘은 단 한 번의 오라클 호출로 확정적 답을 낸다.

핵심 아이디어는 두 가지다. 첫째, 모든 입력을 동시에 중첩 상태로 오라클에 넘긴다. 둘째, 위상 반발(phase kickback)로 함수 정보를 위상에 인코딩하고, Hadamard 변환을 통한 간섭으로 이를 읽어낸다.

핵심 원리

회로 구성

알고리즘은 개 큐비트를 사용한다. 처음 개는 입력 레지스터(), 마지막 1개는 보조 큐비트()로 초기화한다.

단계 1 — 초기 상태:

단계 2 — Hadamard 전체 적용:

단계 3 — 오라클 적용과 위상 반발:

오라클 는 로 정의된다. 보조 큐비트가 일 때 이를 적용하면,

함수값이 전역 위상이 아닌 각 항의 상대 위상으로 인코딩된다:

단계 4 — 입력 레지스터에 Hadamard 재적용:

여기서 은 비트 내적이다.

단계 5 — 측정:

에서의 진폭은,

  • 가 상수 함수이면 → 측정 결과는 반드시
  • 가 균형 함수이면 양수·음수 항이 정확히 상쇄되어 → 은 절대 나오지 않음

즉, 측정값이 전부 0이면 상수 함수, 하나라도 1이 있으면 균형 함수다.

예시·응용

Qiskit 구현 예시 (n=2)

from qiskit import QuantumCircuit, transpile
from qiskit_aer import AerSimulator

def deutsch_jozsa(n, balanced=True):
    qc = QuantumCircuit(n + 1, n)
    qc.x(n)                    # 보조 큐비트 |1⟩
    qc.h(range(n + 1))         # 전체 Hadamard
    qc.barrier()

    if balanced:
        for i in range(n):     # 균형 오라클 예시
            qc.cx(i, n)

    qc.barrier()
    qc.h(range(n))             # 입력 레지스터 Hadamard
    qc.measure(range(n), range(n))
    return qc

sim = AerSimulator()
for label, bal in [('상수', False), ('균형', True)]:
    qc = deutsch_jozsa(2, balanced=bal)
    counts = sim.run(transpile(qc, sim), shots=1).result().get_counts()
    print(f"{label} 함수 → {counts}")
# 상수 함수 → {'00': 1}
# 균형 함수 → {'11': 1}  (또는 '01', '10' 등 0 아닌 값)

이론적 의의

이 알고리즘은 실용적 문제를 직접 해결하기보다 양자 컴퓨터가 고전 컴퓨터보다 지수적으로 빠를 수 있음을 처음으로 명확히 증명한 이정표다. 이후 Simon 알고리즘, Shor 알고리즘, Grover 알고리즘 등 더 강력한 양자 알고리즘의 설계 원리로 이어진다.

정리

구분 고전 알고리즘 Deutsch-Jozsa
최악 질의 수 1
결과 유형 확정적 확정적
오류율 없음 없음

오라클 한 번으로 지수적 이점이 가능한 이유는 양자 병렬성(중첩으로 모든 입력을 동시 처리)과 간섭(Hadamard 변환이 상수·균형 정보를 측정 결과로 분리)이 결합하기 때문이다.

Exercises

연습문제

  1. Q1n=1인 Deutsch 알고리즘에서 상수 오라클($f(x)=0$)을 적용할 때, 각 단계별 양자 상태를 직접 계산하고 최종 측정 결과를 구하시오.

    힌트 보기

    초기 상태 $|0\rangle|1\rangle$부터 시작해 $H^{\otimes 2}$ → 오라클 → $H \otimes I$ 순서로 계산한다. 보조 큐비트는 측정하지 않아도 된다.

    해설 보기

    초기: $|0\rangle|1\rangle$. Hadamard 후: $|{+}\rangle|{-}\rangle = \frac{1}{2}(|0\rangle+|1\rangle)(|0\rangle-|1\rangle)$. 상수 오라클($f=0$)은 아무것도 바꾸지 않으므로 상태 불변. 입력 레지스터에 $H$를 적용하면 $|{+}\rangle \xrightarrow{H} |0\rangle$. 따라서 측정값은 **0** → 상수 함수로 판별.

  2. Q2균형 함수에서 $|z\rangle = |0\rangle^{\otimes n}$의 측정 확률이 정확히 0임을 수식으로 증명하시오.

    힌트 보기

    균형 함수의 정의: $f(x)=0$인 $x$가 정확히 $2^{n-1}$개, $f(x)=1$인 $x$도 정확히 $2^{n-1}$개.

    해설 보기

    진폭 $\alpha_0 = \frac{1}{2^n}\sum_{x}(-1)^{f(x)}$에서, 균형 함수는 $(-1)^0 = +1$인 항이 $2^{n-1}$개, $(-1)^1 = -1$인 항이 $2^{n-1}$개이므로 합산하면 $\alpha_0 = \frac{2^{n-1} - 2^{n-1}}{2^n} = 0$. 측정 확률은 $|\alpha_0|^2 = 0$.

  3. Q3고전적으로 확률적 알고리즘을 허용하면 오류율 $\epsilon$ 이하로 판별하는 데 몇 번의 질의가 필요한지 설명하고, Deutsch-Jozsa의 결정론적 이점과 비교하시오.

    해설 보기

    균형 함수에서 무작위로 $k$개 입력을 선택하면 전부 같은 값을 얻을 확률(오판 확률)은 $2^{-(k-1)}$이다. 오류율 $\epsilon$ 이하를 원하면 $k = O(\log(1/\epsilon))$번의 질의로 충분하다. 즉 확률적으로는 다항 질의로도 실용적 정확도를 얻을 수 있다. Deutsch-Jozsa의 진정한 이점은 **오류 없는 결정론적** 해결을 단 1회로 달성하는 데 있으며, 이는 확률적 고전 알고리즘조차 상수 번 이상의 질의가 필요하다는 점과 대비된다.

관련 용어

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

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