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

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

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

Deutsch-Jozsa 알고리즘은 주어진 함수가 상수 함수인지 균형 함수인지를 단 한 번의 오라클 호출로 확정적으로 판별한다. 고전 컴퓨터는 최악의 경우 $2^{n-1}+1$번 평가가 필요하지만, 양자 알고리즘은 아다마르 변환과 위상 킥백, 양자 간섭을 결합하여 지수적 속도 향상을 달성한다. 양자 우위를 수학적으로 처음 증명한 알고리즘으로 이론적 의의가 크다.

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

개념 소개

다음 문제를 생각해보자. 어떤 함수 가 있다. 이 함수는 아래 둘 중 하나임이 보장된다.

  • 상수 함수(constant function): 모든 입력에 대해 출력이 항상 0 또는 항상 1
  • 균형 함수(balanced function): 출력이 0인 입력과 1인 입력이 정확히 절반씩

고전 컴퓨터로 이를 판별하려면 최악의 경우 번 함수를 평가해야 한다. 처음 번의 결과가 모두 같더라도, 나머지 절반이 전부 다른 값일 가능성을 배제할 수 없기 때문이다. Deutsch-Jozsa 알고리즘은 이 문제를 단 한 번의 오라클 호출로 확정적으로 해결한다.


핵심 원리

위상 킥백(Phase Kickback)

양자 오라클 는 다음과 같이 정의된다.

보조 큐비트(ancilla)를 상태로 준비하면, 오라클 적용 결과가 위상으로 변환된다.

함수 값이 보조 큐비트에 기록되는 대신, 입력 레지스터의 진폭 위상 부호로 인코딩된다. 이것이 위상 킥백이다.

회로 구성과 수학적 전개

초기 상태 에서 출발한다.

1단계 — 아다마르 변환: 모든 큐비트에 적용

2단계 — 오라클 적용: 위상 킥백에 의해

3단계 — 두 번째 아다마르 변환: 입력 레지스터에만 적용 후, 상태의 진폭은

  • 가 상수이면 가 모두 같으므로 → 측정 결과 반드시
  • 가 균형이면 양의 부호와 음의 부호가 정확히 상쇄되어 → 은 절대 나오지 않음

측정 결과가 모두 0이면 상수 함수, 하나라도 1이면 균형 함수로 확정된다.


예시·응용

n=1: 도이치 알고리즘

Deutsch-Jozsa의 원형인 도이치(Deutsch) 알고리즘은 특수 사례다. 고전적으로는 두 번 평가가 필요한 문제를 한 번에 해결한다.

Qiskit 구현 예시

from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

def deutsch_jozsa_circuit(n, oracle='constant_0'):
    qc = QuantumCircuit(n + 1, n)
    qc.x(n)              # 보조 큐비트 |1⟩ 초기화
    qc.h(range(n + 1))   # 전체 아다마르

    # 오라클 구성
    if oracle == 'constant_1':
        qc.x(n)          # 전역 위상 -1 부여
    elif oracle == 'balanced':
        for i in range(n):
            qc.cx(i, n)  # 입력 큐비트별 CNOT

    qc.h(range(n))       # 입력 레지스터 두 번째 아다마르
    qc.measure(range(n), range(n))
    return qc

sim = AerSimulator()
for oracle_type in ['constant_0', 'constant_1', 'balanced']:
    qc = deutsch_jozsa_circuit(3, oracle=oracle_type)
    counts = sim.run(qc, shots=1).result().get_counts()
    print(f"{oracle_type}: {counts}")
# constant_0 → {'000': 1}
# constant_1 → {'000': 1}
# balanced   → {'000'이 아닌 값}

이론적 의의

Deutsch-Jozsa 알고리즘은 양자 컴퓨터가 고전 컴퓨터보다 지수적으로 빠를 수 있음을 최초로 명시적으로 증명한 사례다. 실용적 응용보다는 양자 우위(quantum advantage)의 개념적 토대를 제공한다. 이후 사이먼(Simon) 알고리즘과 쇼어(Shor) 알고리즘은 이 아이디어를 계승하여 소인수분해 등 현실적으로 중요한 문제에 적용했다.


정리

Deutsch-Jozsa 알고리즘의 핵심은 세 가지 양자역학적 자원의 결합이다. 아다마르 변환으로 모든 입력을 동시에 중첩하고, 위상 킥백으로 함수 정보를 위상에 인코딩하며, 양자 간섭으로 균형/상수 여부를 단번에 판독한다. 이 구조는 "를 전부 평가한 뒤 비교"하는 고전적 방식과 본질적으로 다르며, 양자 병렬성이 단순한 비유가 아닌 수학적으로 검증된 계산 자원임을 보여준다.

Exercises

연습문제

  1. Q1n=1인 도이치(Deutsch) 알고리즘에서, 균형 함수 $f(0)=0,\ f(1)=1$에 해당하는 오라클을 단일 양자 게이트로 구성하면 무엇인가? 또한 이 오라클을 적용한 뒤 측정 결과가 $|1\rangle$이 나오는 이유를 간략히 설명하라.

    힌트 보기

    $U_f|x\rangle|y\rangle = |x\rangle|y \oplus x\rangle$를 구현하는 게이트를 생각해보라.

    해설 보기

    균형 함수 $f(x)=x$의 오라클은 CNOT 게이트 하나로 구현된다. 아다마르 → CNOT → 아다마르 과정에서 위상 킥백에 의해 입력 큐비트에 $(-1)^{f(x)}$ 위상이 부여된다. 두 번째 아다마르 이후 $|1\rangle$의 진폭이 1이 되고 $|0\rangle$의 진폭은 0이 되어 측정 결과는 반드시 $|1\rangle$이다.

  2. Q2균형 함수의 경우 두 번째 아다마르 변환 이후 $|0\rangle^{\otimes n}$ 상태의 진폭이 정확히 0이 됨을 $n=2$ 예시를 들어 수식으로 확인하라. 균형 함수로는 $f(00)=0,\ f(01)=0,\ f(10)=1,\ f(11)=1$을 사용하라.

    해설 보기

    $\alpha_{\mathbf{0}} = \frac{1}{4}\sum_{x}(-1)^{f(x)} = \frac{1}{4}\left[(-1)^0+(-1)^0+(-1)^1+(-1)^1\right] = \frac{1}{4}[1+1-1-1] = 0$. 양의 위상 항과 음의 위상 항이 정확히 상쇄되어 측정 확률이 0이 됨을 확인할 수 있다.

  3. Q3Deutsch-Jozsa 알고리즘이 결정론적(deterministic) 알고리즘인 이유는 무엇인가? 그로버(Grover) 탐색 알고리즘과 비교해 차이를 서술하라.

    해설 보기

    상수 함수이면 $|0\rangle^{\otimes n}$ 측정 확률이 정확히 1, 균형 함수이면 정확히 0이므로 단 한 번의 측정으로 오류 없이 판별된다. 반면 그로버 알고리즘은 목표 상태를 높은 확률로 찾는 확률론적(probabilistic) 알고리즘으로, 반복 실행 횟수에 따라 성공 확률이 달라진다. Deutsch-Jozsa는 문제 구조(상수/균형의 이분법)가 완전한 양자 간섭을 허용하기 때문에 결정론적 결과가 가능하다.

관련 용어

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

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