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

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

Deutsch-Jozsa 알고리즘: 단 한 번의 평가로 함수 판별

Deutsch-Jozsa 알고리즘은 블랙박스 함수가 상수 함수인지 균형 함수인지를 단 한 번의 오라클 호출로 확정 판별하는 양자 알고리즘이다. 고전 컴퓨터가 최악의 경우 지수 번의 평가를 필요로 하는 것과 달리, 하다마르 변환과 위상 킥백이 결합한 양자 간섭으로 단일 질의만에 답을 구한다. 양자 컴퓨팅의 지수적 질의 우위를 처음으로 엄밀히 증명한 알고리즘으로, Bernstein-Vazirani 등 이후 알고리즘들의 토대가 되었다.

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

개념 소개

어떤 블랙박스 함수 가 주어졌다. 이 함수는 반드시 두 경우 중 하나라고 약속(promise)되어 있다.

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

고전 컴퓨터는 최악의 경우 번의 평가를 해야 확실한 답을 얻을 수 있다. 이라면 번이 필요하다. Deutsch-Jozsa 알고리즘은 이를 단 한 번의 오라클 호출로 해결한다.

핵심 원리

오라클과 위상 킥백

양자 오라클 는 다음과 같이 동작한다.

보조 큐비트를 상태로 준비하면, 오라클을 적용할 때 위상 킥백이 일어난다.

의 정보가 입력 레지스터의 전역 위상에 인코딩되는 것이 핵심이다.

알고리즘 단계

1단계 — 초기화:

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

3단계 — 오라클 적용: 위상 킥백으로

4단계 — 하다마르 역변환: 입력 레지스터에 다시 적용

여기서 (GF(2) 위의 비트 내적).

5단계 — 측정: 에 해당하는 진폭은

  • 가 상수 함수: 모든 항의 부호가 같아 합 → 반드시 측정
  • 가 균형 함수: 양·음 항이 정확히 상쇄되어 합 → 절대 측정 불가

측정 결과가 이면 상수, 그렇지 않으면 균형 함수로 확정 판별된다.

예시·응용

n=1: Deutsch 알고리즘

경우는 1985년 Deutsch가 처음 제안한 원형이다.

함수 종류
0 0 상수
1 1 상수
0 1 균형
1 0 균형

한 번의 오라클 호출 후 입력 큐비트를 측정하면, → 상수, → 균형이 나온다.

Qiskit 구현 (n=2, 균형 오라클)

from qiskit import QuantumCircuit, transpile
from qiskit_aer import AerSimulator

def deutsch_jozsa_balanced(n=2):
    qc = QuantumCircuit(n + 1, n)
    qc.x(n)              # 보조 큐비트 |1⟩
    qc.h(range(n + 1))   # 전체 하다마르
    qc.barrier()
    # 균형 오라클: f(x) = x_0 (첫 비트에 CNOT)
    qc.cx(0, n)
    qc.barrier()
    qc.h(range(n))       # 입력 레지스터 하다마르
    qc.measure(range(n), range(n))
    return qc

qc = deutsch_jozsa_balanced(n=2)
sim = AerSimulator()
counts = sim.run(transpile(qc, sim), shots=1024).result().get_counts()
print(counts)  # '00'이 등장하지 않음 → 균형 함수 확인

의의와 한계

이 알고리즘은 실용적인 문제를 푼다기보다, 약속 조건(promise problem) 아래에서 양자 컴퓨팅의 지수적 질의 우위를 최초로 엄밀히 증명한 사례로 의미가 있다. 이후 Bernstein-Vazirani 알고리즘(숨겨진 문자열 탐색), Simon 알고리즘(숨겨진 주기 탐색)으로 이어지는 양자 질의 복잡도 이론의 출발점이 되었다.

정리

Deutsch-Jozsa 알고리즘의 성공은 두 가지 요소의 조합에서 비롯된다. 첫째, 위상 킥백을 통해 함수의 전역 정보(상수 vs. 균형)를 중첩 상태의 위상에 동시 인코딩한다. 둘째, 하다마르 역변환으로 위상 차이를 측정 가능한 진폭 차이로 변환하여 단 한 번의 측정으로 판별을 완료한다. 이 흐름—중첩 생성 → 오라클 위상 각인 → 간섭으로 읽어내기—은 이후 거의 모든 양자 알고리즘의 공통 설계 철학이 된다.

Exercises

연습문제

  1. Q1n=1인 Deutsch 알고리즘에서 균형 함수 $f_3$ ($f_3(0)=0,\, f_3(1)=1$)을 오라클로 사용할 때, 알고리즘의 각 단계별 입력 큐비트 상태를 계산하고 최종 측정 결과를 구하라.

    힌트 보기

    위상 킥백 공식 $(-1)^{f(x)}|x\rangle$을 각 기저벡터에 적용하고, 마지막 $H$ 게이트 후 계수의 부호를 확인하라.

    해설 보기

    ① 초기 상태: $|0\rangle|1\rangle$ ② H 적용: $\frac{|0\rangle+|1\rangle}{\sqrt{2}} \otimes |{-}\rangle$ ③ 오라클(위상 킥백): $f_3(0)=0$이므로 $|0\rangle$ 부호 유지, $f_3(1)=1$이므로 $|1\rangle$ 부호 반전 → $\frac{|0\rangle - |1\rangle}{\sqrt{2}} \otimes |{-}\rangle$ ④ H 적용: $|1\rangle \otimes |{-}\rangle$ → 측정 결과 $|1\rangle$: 균형 함수로 판별.

  2. Q2$n=2$, $f \equiv 0$ (상수 함수)일 때 Deutsch-Jozsa 알고리즘의 4단계 직후 입력 레지스터 상태를 계산하고, $|00\rangle$이 확률 1로 측정됨을 보여라.

    해설 보기

    오라클 적용 후 입력 레지스터: $\frac{1}{2}\sum_{x\in\{0,1\}^2}(-1)^0|x\rangle = \frac{|00\rangle+|01\rangle+|10\rangle+|11\rangle}{2}$. 이는 $H^{\otimes 2}|00\rangle$과 동일하므로 $H^{\otimes 2}$를 다시 적용하면 $|00\rangle$으로 되돌아간다. $|00\rangle$의 진폭 $= \frac{1}{4}(1+1+1+1) = 1$, 나머지 기저의 진폭 $= 0$. 따라서 측정 결과는 반드시 $|00\rangle$이다.

  3. Q3Deutsch-Jozsa 알고리즘에서 함수가 상수도 균형도 아닌 임의의 함수라면 어떤 일이 발생하는가? 알고리즘의 어느 가정이 깨지는지 설명하라.

    해설 보기

    알고리즘은 함수가 반드시 상수 또는 균형이라는 '약속(promise) 조건'에 의존한다. 이 조건이 깨지면, 즉 $f$가 임의의 함수라면 $|0^n\rangle$ 진폭이 0도 $\pm1$도 아닌 중간 값이 될 수 있다. 이 경우 측정 결과로 상수/균형을 확정 판별할 수 없으며, 알고리즘의 정확성 보장이 사라진다. Deutsch-Jozsa는 promise problem에 특화된 알고리즘으로, 약속 조건 없이 일반 함수를 판별하는 데는 적용할 수 없다.

관련 용어

이 챕터는 Claude (claude-sonnet-4-6)가 작성했습니다. · 발행 2026. 9. 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분 읽기