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

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

Deutsch-Jozsa 알고리즘 — 단 한 번의 양자 평가

Deutsch-Jozsa 알고리즘은 블랙박스 함수가 상수인지 균형인지를 고전 컴퓨터의 지수 횟수 쿼리 대신 단 한 번의 오라클 호출로 판별한다. 아다마르 변환, 위상 반동, 양자 간섭이 결합되어 지수적 우위를 실현하며, 이후 Grover·Shor 알고리즘의 설계 패턴을 예고하는 선구적 사례이다.

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

개념 소개

비트 입력을 받아 0 또는 1을 반환하는 블랙박스 함수 가 주어진다고 하자. 단, 이 함수는 반드시 아래 두 가지 중 하나임이 보장된다.

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

고전 컴퓨터는 최악의 경우 번 함수를 평가해야 확신할 수 있다. Deutsch-Jozsa 알고리즘은 이를 단 1번의 오라클 호출로 해결한다. 이처럼 약속이 전제된 문제를 **약속 문제(promise problem)**라 부른다.

핵심 원리

양자 오라클과 위상 반동

오라클은 유니터리 변환 로 구현된다.

출력 큐비트를 로 초기화하면 위상 반동(phase kickback) 현상에 의해

가 된다. 즉, 의 값이 출력 큐비트 대신 입력 레지스터의 위상에 각인된다.

알고리즘 4단계

초기 상태:

1단계 — 전체 큐비트에 아다마르 변환:

2단계 — 오라클 적용:

3단계 — 입력 레지스터 개 큐비트에 재적용.

의 정의에 의해 기저 의 진폭은

이다. 가 상수이면 이 합의 절댓값은 1이고, 균형이면 양·음 항이 정확히 상쇄되어 0이 된다.

4단계 — 측정: 결과가 이면 상수, 하나라도 1이 포함되면 균형 함수.

예시·응용

n = 1: Deutsch 알고리즘 (Qiskit 예시)

from qiskit import QuantumCircuit

def deutsch_circuit(balanced=False):
    qc = QuantumCircuit(2, 1)
    qc.x(1)          # 보조 큐비트를 |1⟩로 초기화
    qc.h([0, 1])     # 아다마르 변환
    if balanced:
        qc.cx(0, 1)  # 균형 오라클: f(x) = x
    # 상수 오라클(f=0)은 항등 연산
    qc.h(0)          # 입력 큐비트에 H 재적용
    qc.measure(0, 0)
    return qc

측정 결과 0 → 상수 함수, 1 → 균형 함수.

의의와 후속 알고리즘

이 알고리즘은 실용적 계산 문제보다 양자 병렬성과 간섭의 원리적 우위를 처음으로 수학적으로 증명한다. 오라클 기반 설계 방식은 Grover 탐색 알고리즘(제곱근 가속)으로, 아다마르 변환 패턴은 양자 푸리에 변환을 거쳐 Shor 알고리즘으로 이어진다. 다만 실제 응용에서는 함수가 상수 또는 균형 중 하나라는 보장이 주어지지 않으므로, 이 알고리즘 자체의 직접적 실용성은 제한적이다.

정리

Deutsch-Jozsa 알고리즘의 흐름은 준비 → 오라클 → 간섭 → 측정으로 요약된다. 아다마르 변환이 모든 입력 상태를 균등 중첩으로 만들고, 단 한 번의 오라클 호출이 위상을 통해 전역적 함수 정보를 인코딩하며, 두 번째 아다마르 변환이 측정 가능한 신호로 변환한다. 이 세 요소의 결합이 고전적으로 지수 복잡도인 문제를 쿼리로 해결하게 하며, 양자 알고리즘 설계 원리를 가장 깔끔하게 보여주는 교과서적 사례로 남아 있다.

Exercises

연습문제

  1. Q1$n=2$인 균형 함수 $f(x_1, x_0) = x_1 \oplus x_0$에 대해 Deutsch-Jozsa 오라클 $U_f$를 양자 회로로 표현하고, 최종 측정 결과를 예측하라.

    힌트 보기

    위상 반동을 적용하면 각 기저 $|x\rangle$마다 부호가 어떻게 달라지는지 표로 정리해 보라.

    해설 보기

    오라클은 CNOT 게이트 두 개($x_1 \to$ 보조, $x_0 \to$ 보조)로 구현된다. 네 입력 $\{00, 01, 10, 11\}$ 중 $f$값이 0인 것과 1인 것이 각 2개씩이므로 균형 함수이다. 위상 반동 후 진폭 합 $\frac{1}{4}[(-1)^0+(-1)^1+(-1)^1+(-1)^0]=0$으로 $|00\rangle$ 진폭이 소멸하고, 측정 결과는 00 이외의 값이 나온다.

  2. Q2상수 함수 $f(x)=1$에 대해 $n=1$ Deutsch 알고리즘의 전체 상태 변화를 단계별로 계산하고 측정 결과를 구하라.

    해설 보기

    초기 $|0\rangle|1\rangle$ → $H\otimes H$ 후 $\frac{1}{2}(|0\rangle+|1\rangle)(|0\rangle-|1\rangle)$. 오라클 $f=1$ 적용 시 $(-1)^1$이 전역 위상으로 나와 $-\frac{1}{2}(|0\rangle+|1\rangle)(|0\rangle-|1\rangle)$. 전역 위상은 관측 불가이므로 $H$ 재적용 후 첫 큐비트는 $|0\rangle$. 측정 결과 0 → 상수 함수로 올바르게 판별된다.

  3. Q3Deutsch-Jozsa 알고리즘이 "약속 문제"인 이유를 설명하고, 약속이 없는 일반 함수에 이 알고리즘을 적용하면 어떤 문제가 생기는지 논하라.

    해설 보기

    알고리즘의 정확성은 입력 함수가 반드시 상수 또는 균형이라는 보장에 의존한다. 만약 $f$가 그 어느 쪽도 아닌 경우(예: $2^n$개 입력 중 일부에만 1), 측정 결과 0이 나오더라도 상수라고 단정할 수 없다. 오라클 구성 자체가 불분명해져 회로 설계도 불가능하므로 알고리즘이 의미를 잃는다.

관련 용어

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

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