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

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

Deutsch-Jozsa 알고리즘 — 단 한 번의 평가로 충분한 이유

Deutsch-Jozsa 알고리즘은 어떤 함수가 상수 함수인지 균형 함수인지를 고전 컴퓨터보다 지수적으로 적은 횟수의 질의(query)로 판별한다. 양자 중첩과 위상 되차기(phase kickback) 기법을 활용해 단 한 번의 오라클 호출만으로 결정론적인 답을 얻을 수 있으며, 양자 알고리즘이 고전 알고리즘에 비해 구조적 우위를 가진다는 사실을 가장 명확하게 보여 주는 사례다.

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

개념 소개

어떤 함수 가 있다고 하자. 이 함수는 다음 두 경우 중 하나임이 보장된다.

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

문제는 단순하다. 가 상수인지 균형인지 판별하라.

고전적으로는 최악의 경우 번 질의해야 확정적으로 답을 얻는다. 앞에서 번을 질의해 모두 같은 값이 나왔다고 해도, 단 한 번이 남아 있는 한 확신할 수 없기 때문이다. 반면 양자 회로는 단 한 번의 오라클 호출로 항상 정확한 답을 낸다.


핵심 원리

초기 상태 준비

개의 입력 큐비트를 으로, 보조(ancilla) 큐비트를 로 초기화한다. 이후 모든 큐비트에 아다마르 변환을 적용한다.

오라클 적용과 위상 되차기

오라클 는 로 정의된다. 보조 큐비트가 상태일 때 오라클을 적용하면, 의 값이 입력 레지스터의 위상으로 전달된다(위상 되차기).

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

최종 아다마르 변환과 측정

입력 레지스터에 다시 을 적용하면, 상태가 측정될 확률은

  • 가 상수 함수이면: 모든 가 같은 부호이므로 합이 , 확률 = 1
  • 가 균형 함수이면: 양수와 음수 항이 정확히 상쇄되어 합 = 0, 확률 = 0

따라서 측정에서 이 나오면 상수 함수, 그 외라면 균형 함수로 결론 짓는다.


예시·응용

Qiskit를 활용한 1-큐비트 예시 (Deutsch 알고리즘)

인 경우를 코드로 확인한다.

from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler

def deutsch_circuit(balanced: bool) -> QuantumCircuit:
    qc = QuantumCircuit(2, 1)       # q0: 입력, q1: 보조
    qc.x(1)                         # 보조 큐비트 |1>
    qc.h([0, 1])                    # 아다마르
    if balanced:
        qc.cx(0, 1)                 # 균형 오라클: CNOT
    # 상수 오라클은 아무것도 하지 않음 (f=0)
    qc.h(0)                         # 최종 아다마르
    qc.measure(0, 0)
    return qc

# balanced=True → 측정 결과 1 (균형), False → 0 (상수)

실제 의의

Deutsch-Jozsa 알고리즘 자체의 실용적 가치는 제한적이다. 그러나 이 알고리즘은 양자 병렬성과 위상 간섭이 결합할 때 고전 알고리즘 대비 지수적 이점이 발생함을 최초로 엄밀하게 증명했다. 이후 Simon 알고리즘, Shor 알고리즘, Grover 알고리즘의 설계 철학이 이 아이디어에서 출발한다.


정리

Deutsch-Jozsa 알고리즘의 핵심은 중첩으로 모든 입력을 동시에 오라클에 제시하고, 위상 되차기로 함수 정보를 위상에 기록한 뒤, 아다마르 간섭으로 결과를 읽어 내는 세 단계의 유기적 조합이다. 고전적으로 질의가 필요한 문제를 질의로 해결함으로써, 양자 계산의 가능성을 이론적으로 확립한 이정표 알고리즘이다.

Exercises

연습문제

  1. Q1$n=2$인 균형 함수 $f(00)=0,\; f(01)=1,\; f(10)=1,\; f(11)=0$ 에 대해 오라클 적용 후 입력 레지스터 상태를 직접 계산하고, 최종 아다마르 변환 후 $|00\rangle$이 측정될 확률을 구하라.

    힌트 보기

    오라클 적용 후 상태는 $\frac{1}{2}[(-1)^{f(00)}|00\rangle + (-1)^{f(01)}|01\rangle + (-1)^{f(10)}|10\rangle + (-1)^{f(11)}|11\rangle]$이다. 각 계수를 대입한 뒤 $H^{\otimes 2}$를 적용하면 $|00\rangle$ 성분이 어떻게 되는지 확인한다.

    해설 보기

    오라클 적용 후 입력 레지스터는 $\frac{1}{2}[|00\rangle - |01\rangle - |10\rangle + |11\rangle]$이다. 이를 $H^{\otimes 2}$에 통과시키면, $|00\rangle$ 성분의 진폭은 $\frac{1}{4}(1-1-1+1)=0$이다. 즉 $|00\rangle$이 측정될 확률은 **0**이며, 균형 함수임을 올바르게 판별한다.

  2. Q2Deutsch-Jozsa 알고리즘에서 보조 큐비트를 $|0\rangle$ 대신 $|1\rangle$로 초기화하는 이유를 위상 되차기 관점에서 설명하라.

    해설 보기

    오라클 $U_f$는 $|x\rangle|y\rangle \to |x\rangle|y\oplus f(x)\rangle$로 동작한다. 보조 큐비트가 $\frac{|0\rangle-|1\rangle}{\sqrt{2}}$일 때, $f(x)=0$이면 상태가 그대로이고, $f(x)=1$이면 $|0\rangle$과 $|1\rangle$이 뒤바뀌어 전체에 $-1$위상이 붙는다. 결과적으로 보조 큐비트는 변하지 않고 $(-1)^{f(x)}$가 입력 레지스터 위상에 기록된다. 만약 $|0\rangle$으로 초기화하면 이 위상 전달이 일어나지 않아 알고리즘이 작동하지 않는다.

  3. Q3고전 결정론적 알고리즘이 $n$-비트 Deutsch-Jozsa 문제를 해결하는 데 최악의 경우 몇 번의 질의가 필요한지, 그리고 고전 확률론적 알고리즘을 사용하면 어떻게 달라지는지 논하라.

    해설 보기

    결정론적으로는 $2^{n-1}+1$번이 필요하다. $2^{n-1}$번 조회해서 모두 같은 값이 나왔더라도 나머지 입력이 반드시 달라야 하는지를 확인하려면 한 번이 더 필요하기 때문이다. 확률론적 알고리즘은 소수의 무작위 질의(예: $k$번)로 $1-2^{-k}$의 확률로 구분할 수 있으므로 오류 확률을 임의로 작게 할 수 있다. 그러나 여전히 확률적 오류가 남는 반면, Deutsch-Jozsa 양자 알고리즘은 단 1회 질의로 오류 없이 판별한다는 점에서 결정론적 지수 이점을 제공한다.

관련 용어

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

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