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

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

Grover 알고리즘 — √N 검색과 진폭 증폭

Grover 알고리즘은 비정렬 데이터베이스에서 목표 항목을 O(√N)번의 오라클 질의만으로 탐색하는 양자 알고리즘으로, 고전적 O(N) 탐색 대비 이차 가속을 달성한다. 오라클에 의한 위상 반전과 확산 연산자에 의한 진폭 증폭을 교대로 적용해 목표 상태의 측정 확률을 점진적으로 높인다.

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

개념 소개

N개의 항목이 담긴 비정렬(unstructured) 데이터베이스에서 특정 조건을 만족하는 항목을 찾는다고 하자. 고전 컴퓨터는 평균 N/2번, 최악의 경우 N번 확인해야 한다. Grover 알고리즘은 양자 중첩과 위상 간섭을 활용해 이 문제를 번의 질의만으로 해결한다.

이라면 고전 방식은 평균 50만 번, Grover 알고리즘은 약 785번만에 목표를 찾는다. 이 **이차 가속(quadratic speedup)**은 비정렬 탐색에 대해 양자역학적으로 달성 가능한 최적 한계임이 증명되어 있다 — 그 이상의 가속은 원리적으로 불가능하다.


핵심 원리

1. 균등 중첩 초기화

n큐비트 레지스터()에 Hadamard 게이트를 전체 적용한다.

목표 상태 과 그 나머지의 균등 중첩 로 분리하면

2. 오라클 (위상 반전)

오라클 는 목표 상태의 위상만 로 반전한다.

오라클은 상태 벡터 공간에서 에 수직인 초평면에 대한 반사에 해당한다.

3. 확산 연산자 — 평균값 기준 반전

확산 연산자(diffusion operator)는 균등 중첩 상태 를 기준으로 반사한다.

직관적으로는 **평균값에 대한 반전(inversion about the mean)**이다. 오라클이 목표 진폭을 음수로 만들어 평균을 낮추면, 확산 연산자는 각 진폭을 평균 기준으로 대칭 이동시켜 목표 상태의 진폭만 크게 키운다.

4. 기하학적 해석과 최적 반복 횟수

과 이 이루는 2차원 평면에서 분석하면, 초기 상태 와 사이의 각도 는

한 번의 Grover 반복 는 이 2차원 평면에서 만큼 회전한다. 번 반복 후 목표 상태의 진폭은

이 값이 1이 되는 최적 반복 횟수는

이때 측정 성공 확률 에 수렴한다.


예시·응용

N = 4 (2큐비트) 예시

목표 , 이므로 , 최적 반복 횟수 .

| 단계 | | | | | |------|:---:|:---:|:---:|:---:| | 초기화 | 1/2 | 1/2 | 1/2 | 1/2 | | 오라클 후 | 1/2 | 1/2 | 1/2 | −1/2 | | 확산 후 | 0 | 0 | 0 | 1 |

단 1회 반복으로 성공 확률 100%를 달성한다.

Qiskit 간단 구현

from qiskit import QuantumCircuit
import numpy as np

def grover_2qubit(target: str) -> QuantumCircuit:
    """2큐비트 Grover 회로. target: '00','01','10','11'"""
    qc = QuantumCircuit(2, 2)

    # 1. 균등 중첩 초기화
    qc.h([0, 1])

    # 2. 오라클: 목표 상태에 위상 -1 적용
    if target == '11':
        qc.cz(0, 1)
    elif target == '00':
        qc.x([0, 1]); qc.cz(0, 1); qc.x([0, 1])
    elif target == '10':
        qc.x(1); qc.cz(0, 1); qc.x(1)
    elif target == '01':
        qc.x(0); qc.cz(0, 1); qc.x(0)

    # 3. 확산 연산자: 2|s><s| - I
    qc.h([0, 1])
    qc.x([0, 1])
    qc.cz(0, 1)
    qc.x([0, 1])
    qc.h([0, 1])

    qc.measure([0, 1], [0, 1])
    return qc

# 예시 실행
qc = grover_2qubit('11')
print(qc.draw())

응용 분야

  • 암호 분석: AES 같은 대칭키 암호의 유효 안전 강도를 절반으로 감소 (128비트 → 64비트 수준)
  • 최적화 및 SAT: 제약 충족 문제의 해 공간 탐색 가속
  • 복수 해 탐색: 해의 개수가 개일 때 최적 반복 횟수는
  • 서브루틴 활용: 양자 위상 추정, 양자 워크 등 고급 알고리즘의 내부 구성요소로 사용

정리

Grover 알고리즘은 (1) 균등 중첩 초기화 → (2) 오라클 위상 반전 → (3) 확산 연산자에 의한 진폭 증폭을 약 회 반복해 목표 상태를 높은 확률로 찾아낸다. 이차 가속은 비정렬 탐색에 대한 양자 하한임이 증명되어 있어, 이보다 빠른 양자 알고리즘은 존재하지 않는다. 알고리즘 자체의 응용 외에도 복잡한 양자 알고리즘의 서브루틴으로 광범위하게 활용된다.

Exercises

연습문제

  1. Q1N = 64인 비정렬 데이터베이스에서 Grover 알고리즘의 최적 반복 횟수 k*를 구하고, 이때 목표 상태의 이론적 측정 성공 확률을 계산하라.

    힌트 보기

    sin θ = 1/√N, k* ≈ (π/4)√N을 이용한다. 성공 확률은 sin²((2k*+1)θ)이다.

    해설 보기

    N=64이면 sin θ = 1/8, θ ≈ 0.1253 rad. k* = floor((π/4)√64) = floor(π·2) = floor(6.28) = 6. 성공 확률: sin²(13θ) = sin²(13 × 0.1253) ≈ sin²(1.629) ≈ 0.998. 약 99.8%의 확률로 목표를 찾는다.

  2. Q2확산 연산자 D = 2|ψ₀⟩⟨ψ₀| − I가 "평균값에 대한 반전"임을 계산적으로 보여라. 진폭 벡터 (a₀, a₁, …, a_{N−1})에 D를 적용했을 때 각 성분이 어떻게 변환되는지 표현하라.

    해설 보기

    균등 중첩 상태 |ψ₀⟩ = (1/√N)Σ|x⟩이므로 D의 (x,y) 행렬 원소는 2/N (x≠y), 2/N−1 (x=y)이다. D를 진폭 벡터 a에 적용하면, 평균값 μ = (1/N)Σaₓ에 대해 각 성분이 D·a의 x번째 성분 = 2μ − aₓ로 변환된다. 즉 진폭이 평균을 기준으로 대칭 이동(반전)된다.

  3. Q3Grover 알고리즘을 최적 횟수보다 두 배 더 반복하면 어떤 일이 일어나는가? 2큐비트(N=4) 예시로 설명하라.

    힌트 보기

    k번 반복 후 목표 진폭은 sin((2k+1)θ)임을 이용한다.

    해설 보기

    N=4에서 θ=π/6, k*=1이다. k=2일 때 진폭 = sin(5π/6) = 1/2이 되어 성공 확률이 1/4로 급감한다. k=3이면 sin(7π/6) = −1/2, 성공 확률 다시 1/4. 반복이 최적값을 넘으면 목표 상태의 진폭이 오히려 감소("과회전")하여 성공 확률이 주기적으로 진동한다. 따라서 반복 횟수의 정밀한 제어가 필수적이다.

관련 용어

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

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