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

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

Grover 알고리즘 — √N 비정형 탐색의 이차 가속

Grover 알고리즘은 N개의 비정형 데이터베이스에서 목표 항목을 O(√N)번의 오라클 쿼리로 찾아내는 양자 탐색 알고리즘이다. 오라클에 의한 위상 반전과 확산 연산자에 의한 진폭 증폭을 반복함으로써 고전적 O(N) 한계를 이차적으로 가속한다. 비정형 탐색의 양자 하한과 일치하는 최적 알고리즘으로, 진폭 증폭 기법의 원형이기도 하다.

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

먼저 읽으면 좋은 용어

개념 소개

N개의 항목이 무작위로 나열된 데이터베이스에서 특정 조건을 만족하는 항목 하나를 찾는 비정형 탐색(unstructured search) 문제를 생각해보자. 항목에 어떠한 순서나 구조도 없으므로 고전 컴퓨터는 평균 N/2번, 최악의 경우 N번 확인해야 한다. 즉 고전적 쿼리 복잡도는 O(N)이다.

1996년 Lov Grover가 제안한 Grover 알고리즘은 동일한 문제를 단 O(√N)번의 오라클 쿼리로 해결한다. N = 100만이라면 고전 컴퓨터는 평균 50만 번 조회가 필요한 반면, Grover 알고리즘은 약 785번이면 충분하다. 이 **이차 가속(quadratic speedup)**은 지수적 가속인 Shor 알고리즘보다 극적이지는 않으나, 비정형 탐색에 대한 이론적 양자 하한(quantum lower bound)과 정확히 일치하는 최적 알고리즘이다.


핵심 원리

1단계 — 균등 중첩 준비

으로 두고, n개의 큐비트 전부에 하다마드 변환 를 적용한다.

모든 상태의 진폭이 동일하게 인 균등 중첩 상태 이 출발점이다.

2단계 — 오라클 연산자

오라클은 목표 상태 의 위상만 반전시키고 나머지는 그대로 둔다.

행렬 표현으로는 이다. 오라클은 정답을 직접 노출하지 않고 위상 킥백(phase kickback) 방식으로 정보를 인코딩한다.

3단계 — 확산 연산자 (Grover 확산)

확산 연산자는 "평균에 대한 반전(inversion about the mean)"을 수행한다.

모든 진폭의 평균 를 기준으로 각 진폭 를 로 대체한다. 오라클에 의해 홀로 음수가 된 목표 상태의 진폭은 이 연산을 거치면 크게 양의 방향으로 증폭된다.

Grover 반복과 반복 횟수

한 번의 Grover 반복 는 2차원 평면 에서의 회전으로 해석된다. 초기 각도를 라 하면 이고, 번 반복 후 목표 상태를 측정할 확률은

이 최대가 되는 반복 횟수는

이것이 O(√N) 복잡도의 정확한 근거다. 반복 횟수가 를 초과하면 오히려 확률이 감소하므로, 적절한 시점에 측정을 멈춰야 한다.


예시·응용

2큐비트 예시 (N = 4)

목표 상태가 인 경우, 이므로 이다. 단 1번의 Grover 반복으로 측정 확률이 에 도달한다. 아래는 Qiskit을 이용한 구현 예시다.

from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

def grover_2qubit():
    qc = QuantumCircuit(2, 2)

    # 1단계: 균등 중첩
    qc.h([0, 1])

    # 2단계: 오라클 — |11> 위상 반전
    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])
    return qc

sim = AerSimulator()
result = sim.run(grover_2qubit(), shots=1024).result()
print(result.get_counts())  # 예상 출력: {'11': ~1024}

주요 응용 분야

  • 조합 최적화: SAT 문제나 그래프 색칠 문제 등에서 고전 알고리즘 대비 이차 가속을 제공한다.
  • 암호 분석: AES-128에 Grover 알고리즘을 적용하면 유효 키 강도가 64비트로 감소한다. 이것이 양자 내성 암호(post-quantum cryptography)에서 대칭키 길이를 두 배로 권고하는 이유다.
  • 진폭 증폭 서브루틴: Grover 반복을 일반화한 진폭 증폭(amplitude amplification) 기법은 다양한 양자 알고리즘의 핵심 부품으로 활용된다.

정리

Grover 알고리즘의 핵심 구조는 ① 균등 중첩 초기화 → ② 오라클에 의한 위상 반전 → ③ 확산 연산자에 의한 진폭 증폭의 반복이다. 이 과정을 2차원 평면에서의 회전으로 이해하면 최적 반복 횟수 이 자연스럽게 도출된다. 이차 가속은 지수적 가속에 비해 작아 보이지만, 비정형 탐색에 대해 이론적으로 달성 가능한 최선임이 증명되어 있으며 실용적으로도 N이 클수록 그 효과가 두드러진다.

Exercises

연습문제

  1. Q1N = 256인 비정형 데이터베이스에서 Grover 알고리즘을 사용할 때, 최적 반복 횟수 $k^*$는 얼마인가? 고전 알고리즘과 비교해 쿼리 횟수를 계산하라.

    힌트 보기

    $k^* \approx \frac{\pi}{4}\sqrt{N}$을 적용하고, 고전 기댓값은 N/2임을 이용하라.

    해설 보기

    $k^* \approx \frac{\pi}{4}\sqrt{256} = \frac{\pi}{4} \times 16 \approx 12.6$이므로 약 13번 반복한다. 고전 알고리즘의 기댓값은 128번이므로, Grover 알고리즘이 약 10배 적은 쿼리를 사용한다.

  2. Q2Grover 알고리즘에서 반복 횟수가 $k^*$를 크게 초과하면 어떤 일이 발생하는가? 수식을 근거로 설명하라.

    해설 보기

    성공 확률은 $P_k = \sin^2((2k+1)\theta)$로 주어진다. $k$가 증가함에 따라 이 값은 0과 1 사이를 주기적으로 진동한다. $k^*$를 지나면 진폭이 다시 줄어들기 시작하여 성공 확률이 감소한다. 따라서 반드시 $k \approx k^*$에서 측정을 수행해야 하며, 과도한 반복은 오히려 알고리즘의 정확도를 떨어뜨린다.

  3. Q3AES-128 대칭키 암호에 Grover 알고리즘을 적용하면 키 탐색 복잡도가 어떻게 변하는가? 양자 내성 암호 측면에서의 시사점을 서술하라.

    힌트 보기

    키 공간의 크기는 $N = 2^{128}$이다. Grover 적용 시 복잡도를 계산하고, 동등한 보안 강도를 유지하려면 키 길이를 어떻게 조정해야 하는지 생각해보라.

    해설 보기

    키 공간 $N = 2^{128}$에 Grover를 적용하면 복잡도가 $O(\sqrt{2^{128}}) = O(2^{64})$로 줄어든다. 이는 유효 키 강도가 128비트에서 64비트로 감소함을 의미한다. 따라서 양자 컴퓨터 위협 하에서도 128비트 이상의 보안 강도를 유지하려면 AES-256과 같이 키 길이를 두 배로 늘려야 한다. 이것이 NIST 양자 내성 암호 표준화에서 대칭키 알고리즘에 256비트를 권고하는 주요 근거다.

관련 용어

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

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