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

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

Grover 알고리즘: 비정렬 데이터베이스의 √N 양자 검색

Grover 알고리즘은 N개 항목의 비정렬 데이터베이스에서 목표를 고전적 O(N) 대신 O(√N) 단계로 찾아내는 양자 탐색 알고리즘이다. 오라클로 목표 상태를 표시하고 확산 연산자로 그 진폭을 반복 증폭하는 **진폭 증폭** 원리에 기반하며, 양자컴퓨팅의 대표적 이차 가속(quadratic speedup) 사례로 알려져 있다.

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

먼저 읽으면 좋은 용어

개념 소개

N개 항목이 무작위로 나열된 목록에서 특정 항목 하나를 찾는다고 하자. 색인이 없으므로 고전적으로는 최악의 경우 N번, 평균적으로 N/2번 항목을 하나씩 확인해야 한다. Grover 알고리즘은 이 문제를 약 번의 양자 연산으로 해결한다.

비유하자면, 고전 탐색은 열쇠 꾸러미에서 맞는 열쇠를 순서대로 꽂아보는 방식이다. Grover 알고리즘은 모든 열쇠를 동시에 시험하되, 맞는 열쇠만 점점 "밝게 빛나도록" 반복적으로 조명을 강화하는 방식에 가깝다.

핵심 원리

1. 초기화

개의 큐비트에 Hadamard 변환을 적용해 균일 중첩 상태를 만든다.

이 상태에서 목표 상태 의 초기 측정 확률은 에 불과하다.

2. 오라클

오라클 는 목표 상태의 위상만 반전시키는 단일 연산자다.

위상 반전만으로는 측정 확률이 바뀌지 않는다. 확산 연산자와의 결합이 핵심이다.

3. 확산 연산자

확산 연산자 는 균일 중첩 상태 에 대한 반사(inversion about the mean)를 수행한다.

이 연산은 각 상태의 진폭을 전체 평균을 기준으로 뒤집는다. 오라클이 목표 상태의 진폭을 평균 아래로 끌어내리면, 확산 연산자는 그것을 평균 위로 크게 끌어올린다.

4. 진폭 증폭과 반복 횟수

한 번의 Grover 반복은 로 정의된다. 기하학적으로 는 와 로 이루어진 2차원 평면에서의 회전이다. 초기 각도를 로 정의하면 이고, 번 반복 후 목표 상태가 측정될 확률은

이다. 확률이 최대(≈ 1)가 되는 최적 반복 횟수는 이다.

예시·응용

N = 4 사례 (2큐비트)

이면 이므로 단 1번의 Grover 반복으로 목표 상태를 확률 1에 근접해 찾을 수 있다.

아래는 Qiskit으로 을 목표로 하는 2큐비트 Grover 회로 예시다.

from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

qc = QuantumCircuit(2, 2)

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

# 2. 오라클: |11>의 위상 반전 (CZ 게이트)
qc.cz(0, 1)

# 3. 확산 연산자
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])

sim = AerSimulator()
result = sim.run(qc, shots=1024).result()
print(result.get_counts())
# 기대 출력: {'11': 1024} (또는 근접한 값)

응용 분야

분야 내용
암호 분석 대칭키 전수 조사 시 유효 키 길이 절반으로 감소 (이론적)
조합 최적화 SAT, 그래프 색칠 문제의 해 탐색 가속
양자 머신러닝 데이터 검색 서브루틴으로 활용

정리

Grover 알고리즘의 본질은 오라클(위상 반전)과 확산 연산자(평균에 대한 반사)를 회 반복해 목표 상태의 진폭을 선택적으로 증폭하는 것이다. 비정렬 탐색 문제에서 고전 O(N)에 대한 이차 가속은 양자역학이 허용하는 이론적 최대치임이 증명되어 있다. 지수 가속을 제공하는 Shor 알고리즘과 달리 이차 가속임을 유의해야 하며, 실용적 활용을 위해서는 오라클을 실제 문제에 맞게 효율적으로 구현하는 것이 관건이다.

Exercises

연습문제

  1. Q1N = 16인 데이터베이스에서 Grover 알고리즘의 최적 반복 횟수를 구하고, 그 횟수만큼 반복했을 때 목표 상태의 측정 확률을 계산하라.

    힌트 보기

    $\sin\theta = 1/\sqrt{N}$을 이용해 $\theta$를 구한 뒤, $P = \sin^2((2k+1)\theta)$에 대입한다.

    해설 보기

    $\sin\theta = 1/4$이므로 $\theta \approx 14.48°$. 최적 반복 횟수 $k^* = \lfloor \pi/(4\theta) \rfloor = \lfloor 3.14/(4 \times 0.2527) \rfloor = \lfloor 3.10 \rfloor = 3$회. 3회 반복 후 확률: $P = \sin^2(7\theta) = \sin^2(7 \times 14.48°) = \sin^2(101.36°) \approx 0.961$, 약 96.1%.

  2. Q2Grover 알고리즘에서 최적 횟수보다 더 많이 반복하면 어떤 현상이 발생하는가? 수식을 근거로 설명하라.

    해설 보기

    측정 확률은 $P = \sin^2((2k+1)\theta)$로 주기적으로 변한다. 최적 횟수를 지나면 $(2k+1)\theta$가 $90°$를 넘어 확률이 다시 감소하기 시작한다. 충분히 많이 반복하면 확률이 다시 $1/N$에 가까워질 수 있으므로, 반복 횟수를 정확히 제어하는 것이 중요하다.

  3. Q3확산 연산자가 "평균에 대한 반사"라고 불리는 이유를 수식 없이 직관적으로 설명하라.

    해설 보기

    각 상태의 진폭이 어떤 평균값 $\mu$ 주위에 분포할 때, 확산 연산자는 각 진폭 $a_x$를 $\mu$를 기준으로 뒤집어 $2\mu - a_x$로 바꾼다. 오라클에 의해 목표 상태의 진폭만 음수로 반전되면 전체 평균이 약간 낮아지고, 확산 연산자 적용 후 음수였던 목표 진폭은 $2\mu - (\text{음수})$가 되어 크게 양수가 된다. 이 과정을 반복하면 목표 진폭이 점점 커지는 증폭 효과가 발생한다.

관련 용어

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

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