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

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

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

Deutsch-Jozsa 알고리즘은 주어진 함수가 상수 함수인지 균형 함수인지를 오라클 단 1회 호출로 결정론적으로 판별한다. 고전 컴퓨터가 최악의 경우 지수 개의 질의를 필요로 하는 것과 대비되어, 양자 병렬성과 간섭이 지수적 속도향상을 달성할 수 있음을 처음 명확히 증명한 알고리즘이다.

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

개념 소개

Deutsch-Jozsa 알고리즘은 David Deutsch와 Richard Jozsa가 제안한 알고리즘으로, 양자컴퓨터가 고전 컴퓨터 대비 지수적으로 빠를 수 있음을 보여주는 최초의 명확한 사례다. 문제 자체는 단순하지만, 핵심 양자 기법들이 집약되어 있어 양자 알고리즘 학습의 출발점으로 자주 활용된다.

문제 설정: 함수 가 다음 두 경우 중 하나임이 약속(promise)되어 있다.

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

고전 컴퓨터는 최악의 경우 번 질의해야 확정 판별이 가능하다. 양자 알고리즘은 이를 단 1번의 오라클 호출로 완벽하게 해결한다.


핵심 원리

알고리즘은 개의 큐비트를 사용한다. 앞 개는 입력 레지스터, 마지막 1개는 보조(ancilla) 큐비트다.

1단계: 초기화

2단계: 전체 하다마르 변환

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

입력 레지스터는 개 상태의 동등 중첩, 보조 큐비트는 상태가 된다.

3단계: 오라클 적용 (위상 킥백)

오라클은 보조 큐비트가 상태일 때 위상 킥백에 의해 다음과 같이 작동한다.

함수값이 위상으로 인코딩되어 입력 레지스터에 기록된다.

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

큐비트 하다마르 변환은 이며, 여기서 이다. 최종 상태에서 의 진폭은:

  • f가 상수 함수: 모든 의 부호가 같으므로 합 → 측정 확률 100%
  • f가 균형 함수: 과 이 정확히 상쇄되어 합 → 측정 확률 0%

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


예시·응용

Qiskit을 이용한 구현 예시

from qiskit import QuantumCircuit

def deutsch_jozsa_circuit(oracle_type='balanced', n=3):
    qc = QuantumCircuit(n + 1, n)

    # 보조 큐비트를 |1> 로 초기화
    qc.x(n)

    # 전체 하다마르 변환
    qc.h(range(n + 1))
    qc.barrier()

    # 오라클 적용
    if oracle_type == 'balanced':
        # 균형 오라클: 각 입력 큐비트를 보조 큐비트에 CNOT
        for i in range(n):
            qc.cx(i, n)
    # constant oracle: 아무 게이트도 없음 (항등 변환)

    qc.barrier()
    # 입력 레지스터에 다시 하다마르
    qc.h(range(n))

    # 입력 레지스터 측정
    qc.measure(range(n), range(n))
    return qc

qc_balanced = deutsch_jozsa_circuit('balanced', n=3)
print(qc_balanced.draw())

oracle_type='balanced'이면 측정 결과는 반드시 000이 아닌 값, oracle_type='constant'이면 반드시 000이 출력된다.

이론적 의의

Deutsch-Jozsa 알고리즘은 실용적 응용보다 이론적 가치가 핵심이다. 이 알고리즘은 양자 병렬성과 간섭이 결합하면 고전적으로 지수 시간이 필요한 문제를 상수 시간에 해결할 수 있음을 증명했다. 이후 Simon 알고리즘(2의 멱 위수 탐색), Shor 알고리즘(정수 인수분해) 등 더 실용적인 양자 알고리즘들이 유사한 구조—중첩으로 병렬 평가, 간섭으로 정보 추출—를 계승한다.


정리

Deutsch-Jozsa 알고리즘은 세 가지 핵심 기법의 결합이다: (1) 하다마르 변환을 통한 모든 입력의 동시 중첩, (2) 위상 킥백을 통한 함수값의 위상 인코딩, (3) 역 하다마르 변환을 통한 간섭으로 정보를 결정론적으로 추출. 오라클 1회 호출에 개 입력을 병렬 처리하는 이 구조는, 이후 설계되는 모든 양자 알고리즘의 근본 패러다임으로 이어진다.

Exercises

연습문제

  1. Q1$n=2$이고 $f(x) = x_0 \oplus x_1$ (균형 함수)인 경우, 알고리즘의 각 단계별 양자 상태를 직접 계산하고 최종 측정 결과를 구하시오.

    힌트 보기

    2단계 이후 상태는 $\frac{1}{2}(|00\rangle+|01\rangle+|10\rangle+|11\rangle)$이다. 오라클 적용 후 각 기저 상태의 위상을 계산해 보라.

    해설 보기

    초기화 후 하다마르 변환으로 $|\psi_1\rangle = \frac{1}{2}(|00\rangle+|01\rangle+|10\rangle+|11\rangle)$. 오라클 적용 시 $f(00)=0,\ f(01)=1,\ f(10)=1,\ f(11)=0$이므로 $|\psi_2\rangle = \frac{1}{2}(|00\rangle - |01\rangle - |10\rangle + |11\rangle)$. 역 하다마르 변환 후 $|00\rangle$ 성분의 진폭은 $\frac{1}{4}(1-1-1+1)=0$, $|11\rangle$ 성분은 $\frac{1}{4}(1+1+1+1)=1$. 따라서 측정 결과는 $|11\rangle$로, 균형 함수임이 확인된다.

  2. Q2위상 킥백이 발생하려면 보조 큐비트가 반드시 $|{-}\rangle = \frac{|0\rangle-|1\rangle}{\sqrt{2}}$ 상태여야 한다. 보조 큐비트가 $|0\rangle$ 상태일 때 오라클을 적용하면 어떤 일이 일어나는지 설명하시오.

    해설 보기

    보조 큐비트가 $|0\rangle$이면 오라클은 $|x\rangle|0\rangle \to |x\rangle|f(x)\rangle$으로 작동한다. 위상 변화가 발생하지 않고 함수값이 보조 큐비트에 그대로 기록된다. 입력 레지스터의 위상에는 변화가 없으므로 이후 하다마르 변환을 통해 간섭이 일어나지 않고, 알고리즘이 정상 동작하지 않는다.

  3. Q3Deutsch-Jozsa 알고리즘은 약속(promise) 문제를 전제로 한다. 만약 $f$가 상수도 균형도 아닌 임의의 함수라면 알고리즘의 출력 결과를 어떻게 해석해야 하는가?

    해설 보기

    약속이 위반된 경우 $|0\rangle^{\otimes n}$ 진폭의 절댓값은 0과 1 사이 임의의 값이 될 수 있다. 측정 결과가 모두 0일 수도, 아닐 수도 있으며, 결과가 상수/균형 여부를 보장하지 않는다. Deutsch-Jozsa 알고리즘은 약속 조건 하에서만 올바른 판별을 보장하므로, 약속 없이 일반 함수를 판별하는 데는 사용할 수 없다.

관련 용어

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

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