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

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

Grover 알고리즘 — √N 비정렬 데이터베이스 검색

Grover 알고리즘은 $N$개 원소의 비정렬 데이터베이스에서 목표 항목을 $O(\sqrt{N})$번의 연산으로 찾아내는 양자 알고리즘이다. 위상 오라클로 목표 상태를 표시하고 Grover 확산 연산자로 진폭을 반복 증폭시키는 두 단계가 핵심이며, 이 유형의 비구조화 탐색에서 이론적으로 최적임이 증명되어 있다.

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

개념 소개

비정렬 데이터베이스에서 특정 항목을 찾으려면 고전 컴퓨터는 최악의 경우 번, 평균적으로도 번 항목을 확인해야 한다. 1996년 Lov Grover가 제안한 알고리즘은 동일한 문제를 번의 오라클 호출로 해결한다. 이를 2차 가속(quadratic speedup) 이라 부른다.

예를 들어 인 데이터베이스를 탐색한다면, 고전 방법은 평균 50만 번이 필요하지만 Grover 알고리즘은 약 785번의 연산으로 충분하다. 지수적 가속은 아니지만, 암호 해독·최적화·양자화학 등 다양한 분야에서 실질적 이점을 제공한다.


핵심 원리

초기 균등 중첩 상태

큐비트 전체에 아다마르 변환을 적용해 개의 상태를 균등하게 중첩시킨다.

이 시점에서 각 항목이 측정될 확률은 으로 동일하다.

위상 오라클 (Phase Oracle)

목표 항목 만 위상을 로 뒤집는 연산자 를 정의한다.

진폭의 절댓값은 변하지 않고 부호만 바뀌기 때문에, 이 단계만으로는 측정 결과가 달라지지 않는다.

Grover 확산 연산자 (Diffusion Operator)

오라클 적용 후 평균에 대한 반전(inversion about the mean) 을 수행한다.

현재 진폭 평균을 라 하면, 각 항목의 진폭 는 로 갱신된다. 목표 항목이 위상 오라클에 의해 음수 진폭을 갖게 되었으므로, 반전 후 해당 항목의 진폭은 두드러지게 증가하고 나머지는 소폭 감소한다.

반복 횟수와 성공 확률

오라클 + 확산 연산자를 한 Grover 반복으로 보면, 최적 반복 횟수는 다음과 같다.

이때 목표 상태를 측정할 확률이 에 근접한다. 반복을 과도하게 수행하면 진폭이 다시 감소하는 과회전(over-rotation) 이 발생하므로, 적정 횟수를 정확히 계산해야 한다.


예시·응용

2큐비트 예시 (N = 4)

4개의 기저 상태 중 을 찾는 경우, 최적 반복 횟수는 이다. 아래는 Qiskit을 이용한 구현 예시다.

from qiskit import QuantumCircuit

# 2큐비트 Grover 회로 (목표: |11⟩)
qc = QuantumCircuit(2, 2)

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

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

# 3. Grover 확산 연산자
qc.h([0, 1])
qc.x([0, 1])
qc.cz(0, 1)
qc.x([0, 1])
qc.h([0, 1])

# 4. 측정
qc.measure([0, 1], [0, 1])
print(qc.draw('text'))

이 회로를 시뮬레이션하면 이 확률 1로 측정된다.

실용적 응용

분야 내용
대칭키 암호 AES-비트 키를 탐색으로 공격 — 유효 보안 강도가 절반으로 감소
NP 문제 탐색 해 공간을 √N 배 빠르게 브루트포스
양자화학 분자 에너지 최솟값 탐색 보조 루틴

정리

Grover 알고리즘은 위상 오라클로 목표 상태를 표시하고, 확산 연산자로 진폭을 증폭시키는 두 단계를 회 반복해 탐색을 달성한다. BBBV 정리에 의해 이 복잡도는 비구조화 탐색의 양자 하한과 일치하므로, 이 유형의 문제에서 점근적으로 최적인 양자 알고리즘이다.

Exercises

연습문제

  1. Q1$N = 1024$인 비정렬 데이터베이스에서 Grover 알고리즘의 최적 반복 횟수를 구하라. 고전 탐색과 비교해 몇 배 빠른가?

    힌트 보기

    $k \approx \frac{\pi}{4}\sqrt{N}$을 계산하고, 고전 평균 탐색 횟수 $N/2$와 비율을 구하라.

    해설 보기

    $k \approx \frac{\pi}{4}\sqrt{1024} = \frac{\pi}{4} \times 32 \approx 25$회. 고전 평균은 $512$회이므로, 약 $512/25 \approx 20$배 빠르다. 이론적 가속비 $\sqrt{N}/(\pi/4) \approx \frac{4}{\pi}\sqrt{N}$과 일치한다.

  2. Q2Grover 반복을 최적 횟수보다 훨씬 많이 수행하면 어떤 현상이 발생하는가? 기하학적으로 설명하라.

    해설 보기

    Grover 반복은 2차원 부분공간(목표 상태 $|w\rangle$와 목표 외 균등 중첩 $|w^\perp\rangle$)에서 상태 벡터를 회전시키는 연산이다. 최적 횟수에서 상태 벡터가 $|w\rangle$ 방향에 가장 가까워지고, 이후 계속 회전하면 $|w^\perp\rangle$ 쪽으로 다시 멀어지는 **과회전**이 발생한다. 성공 확률은 반복에 따라 사인 제곱 함수 형태로 진동한다.

  3. Q3AES-128 대칭키 암호에 대해 Grover 알고리즘을 적용할 경우, 키 탐색에 필요한 양자 연산 횟수는 고전 브루트포스 대비 어떻게 달라지는가? 이를 방어하기 위해 권고되는 키 길이는?

    해설 보기

    AES-128의 키 공간은 $N = 2^{128}$이다. 고전 브루트포스는 $O(2^{128})$, Grover 알고리즘은 $O(\sqrt{2^{128}}) = O(2^{64})$번의 연산으로 충분하다. 양자 공격을 방어하려면 유효 보안 강도 128비트를 유지하기 위해 키 길이를 256비트로 늘릴 것이 권고된다(AES-256 사용).

관련 용어

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

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