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

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

Deutsch-Jozsa 알고리즘 — 단 한 번의 오라클 평가

Deutsch-Jozsa 알고리즘은 함수가 상수 함수인지 균형 함수인지를 고전적으로는 최악의 경우 지수 번 평가해야 하는 문제를 단 한 번의 양자 오라클 호출로 해결한다. 중첩·위상 반전·양자 간섭을 결합하여 지수적 속도 향상이 원리적으로 가능함을 최초로 명확히 보여준 알고리즘이다.

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

개념 소개

인 함수가 블랙박스(오라클)로 주어진다고 하자. 이 함수는 다음 두 유형 중 하나임이 보장된다.

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

고전 결정론적 알고리즘은 최악의 경우 번 오라클을 호출해야 한다. 앞서 번을 모두 같은 값으로 받아도, 마지막 한 번을 더 호출하기 전까지는 상수 함수인지 확신할 수 없기 때문이다. Deutsch-Jozsa 알고리즘은 이를 단 한 번의 오라클 호출로 해결한다.


핵심 원리

알고리즘은 개의 데이터 큐비트와 1개의 보조(ancilla) 큐비트를 사용한다.

초기 상태

1단계: 전체 아다마르 변환

모든 큐비트에 아다마르 게이트 를 적용한다.

데이터 큐비트는 가능한 모든 입력의 균등 중첩이 되고, 보조 큐비트는 상태가 된다.

2단계: 오라클 적용 (위상 반전)

오라클은 위상 반전(phase kickback) 방식으로 동작한다.

함수값 가 진폭의 위상으로 인코딩된다.

3단계: 데이터 큐비트에 아다마르 재적용

아다마르 변환의 일반식 을 이용하면, 최종 상태에서 의 진폭은 다음과 같다.

  • 가 상수 함수이면: 모든 항의 부호가 같아
  • 가 균형 함수이면: 양수 항과 음수 항이 정확히 상쇄되어

4단계: 측정

데이터 큐비트를 계산 기저로 측정한다. 모두 이면 상수 함수, 그렇지 않으면 균형 함수다.


예시·응용

Qiskit 구현 예시

from qiskit import QuantumCircuit, transpile
from qiskit_aer import AerSimulator

def deutsch_jozsa_circuit(oracle, n):
    qc = QuantumCircuit(n + 1, n)
    qc.x(n)               # 보조 큐비트 |1⟩ 초기화
    qc.h(range(n + 1))    # 전체 아다마르
    qc.compose(oracle, inplace=True)  # 오라클
    qc.h(range(n))        # 데이터 큐비트 아다마르 재적용
    qc.measure(range(n), range(n))
    return qc

# 균형 오라클 예시: f(x) = x_0 (CNOT 하나)
n = 3
balanced_oracle = QuantumCircuit(n + 1)
balanced_oracle.cx(0, n)

qc = deutsch_jozsa_circuit(balanced_oracle, n)
sim = AerSimulator()
counts = sim.run(transpile(qc, sim), shots=1).result().get_counts()
print(counts)  # 예: {'001': 1}  → 000이 아니므로 균형 함수

고전 vs 양자 오라클 호출 횟수

알고리즘 최선 최악
고전 결정론적 2회 회
고전 확률론적 O(1) O(1) (오류 허용 시)
Deutsch-Jozsa 1회 1회

이론적 의의

이 알고리즘의 실용적 응용은 제한적이나, 양자 병렬성(모든 입력을 동시에 탐색)과 간섭(불필요한 정보의 소거)이 결합될 때 고전 대비 지수적 이점이 생긴다는 것을 최초로 형식적으로 증명했다. 이후 Simon 알고리즘, Shor 알고리즘 등 실용적 양자 알고리즘의 구조적 토대가 됐다.


정리

Deutsch-Jozsa 알고리즘의 핵심 흐름은 세 단계로 요약된다: 아다마르 변환으로 모든 입력을 중첩 상태에 올리고, 오라클이 함수값을 위상으로 인코딩하며, 다시 아다마르 변환을 적용해 간섭으로 함수의 전역 성질을 한 번에 읽어낸다. 위상 반전 → 간섭 → 측정이라는 이 패턴은 이후 등장하는 수많은 양자 알고리즘에서 반복적으로 나타나는 핵심 구조다.

Exercises

연습문제

  1. Q1데이터 큐비트가 $n=2$일 때, 균형 함수의 구체적인 예시 하나를 들고, 이 함수에 대한 Deutsch-Jozsa 회로가 최종적으로 $|00\rangle$ 이외의 결과를 내는 이유를 수식으로 설명하라.

    힌트 보기

    균형 함수의 예로 $f(00)=0, f(01)=0, f(10)=1, f(11)=1$을 고려하라. 3단계 이후 $|00\rangle$의 진폭 $\alpha_0 = \frac{1}{4}\sum_x (-1)^{f(x)}$를 직접 계산해보라.

    해설 보기

    $f$가 위의 예시일 때 $\sum_x (-1)^{f(x)} = (-1)^0 + (-1)^0 + (-1)^1 + (-1)^1 = 1+1-1-1 = 0$이다. 따라서 $|00\rangle$의 진폭이 0이 되어 측정 시 $|00\rangle$을 절대 얻을 수 없다. 확률 보존에 의해 다른 계산 기저 상태 중 하나가 반드시 측정된다.

  2. Q2위상 반전(phase kickback)이 일어나는 이유를 설명하라. 즉, $U_f|x\rangle|{-}\rangle = (-1)^{f(x)}|x\rangle|{-}\rangle$가 성립함을 보여라.

    해설 보기

    오라클은 $U_f|x\rangle|y\rangle = |x\rangle|y \oplus f(x)\rangle$로 정의된다. $|{-}\rangle = (|0\rangle - |1\rangle)/\sqrt{2}$에 적용하면, $f(x)=0$일 때 $|{-}\rangle \to |{-}\rangle$이고, $f(x)=1$일 때 $|0\oplus1\rangle - |1\oplus1\rangle = |1\rangle - |0\rangle = -(|0\rangle - |1\rangle)$이므로 $|{-}\rangle \to -|{-}\rangle$이 된다. 두 경우를 합치면 $U_f|x\rangle|{-}\rangle = (-1)^{f(x)}|x\rangle|{-}\rangle$가 성립한다.

  3. Q3고전 확률론적 알고리즘은 오류 확률 $\epsilon$ 이하로 판별하는 데 $O(\log(1/\epsilon))$번의 오라클 호출이면 충분하다. 그렇다면 Deutsch-Jozsa 알고리즘이 고전 확률 알고리즘 대비 제공하는 이점은 무엇인가?

    해설 보기

    확률적 오류를 허용하면 고전 알고리즘도 상수 번의 오라클 호출로 충분하므로, 확률적 복잡도 관점에서는 지수적 차이가 사라진다. Deutsch-Jozsa 알고리즘의 의의는 **결정론적(오류 없는)** 정확성을 단 1회로 보장한다는 점에 있다. 즉, 고전 결정론적 알고리즘과 비교했을 때 지수적 우위가 명확하며, 이는 양자 간섭이 전역적 함수 성질을 오류 없이 한 번에 추출할 수 있음을 원리적으로 보여준다.

관련 용어

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

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