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

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

QAOA: 조합 최적화를 위한 양자 근사 최적화 알고리즘

QAOA(Quantum Approximate Optimization Algorithm)는 NP-난해 조합 최적화 문제를 변분 양자 회로로 근사 풀이하는 하이브리드 양자-고전 알고리즘이다. 문제 해밀토니안과 혼합 해밀토니안을 교대로 적용하는 매개변수화 회로를 구성하고, 고전 최적화기로 매개변수를 조율해 기댓값을 최소화한다. 회로 깊이 $p$가 증가할수록 해의 품질이 향상되며, $p \to \infty$ 극한에서 정확해로 수렴한다.

난이도 고급6분 읽기연습문제 3개

개념 소개

조합 최적화 문제는 유한한 이진 변수 집합 위에서 목적 함수를 최대화(혹은 최소화)하는 해를 탐색한다. 대표적으로 MaxCut, 외판원 문제(TSP), 정수 선형 계획 등이 있으며, 대부분이 NP-난해 범주에 속한다. 고전 컴퓨터에서는 지수적 탐색 공간을 완전 탐색하기 어려워 다양한 휴리스틱이 사용된다.

QAOA는 Farhi, Goldstone, Gutmann(2014)이 제안한 알고리즘으로, 양자 중첩과 얽힘을 통해 해 공간을 병렬 탐색하는 아이디어를 변분 원리와 결합한다. 핵심 구조는 문제 해밀토니안 와 혼합 해밀토니안 를 교대로 적용하는 층(layer) 개짜리 파라미터화 유니타리이다.


핵심 원리

문제의 해밀토니안 인코딩

이진 변수 를 파울리 연산자 로 대응하면, 고전 목적 함수 를 대각 해밀토니안으로 표현할 수 있다.

MaxCut을 예로 들면, 그래프 에서

의 기댓값을 최대화하는 것이 목표다.

QAOA 회로

초기 상태를 균등 중첩으로 설정한다.

이후 깊이 의 변분 회로를 적용한다.

혼합 해밀토니안은 통상적으로 를 사용하며, 이는 전체 큐비트에 회전을 부여한다. 매개변수 벡터 , 는 고전 최적화기로 조율된다.

변분 목적 함수와 최적화

목적은 다음 기댓값을 최대화하는 매개변수를 찾는 것이다.

최적화에는 COBYLA, Nelder-Mead, 혹은 기울기 기반의 Adam 계열 옵티마이저가 사용된다. 양자 회로에서 기울기는 **매개변수 이동 규칙(parameter-shift rule)**으로 해석적으로 계산할 수 있다.

근사 비율

QAOA의 해 품질은 근사 비율(approximation ratio) 로 평가한다. 에서도 MaxCut 문제에 대해 Goemans-Williamson 경계(0.878)에 근접하거나 능가하는 경우가 있으며, 가 커질수록 로 수렴한다.


예시·응용

MaxCut (4-노드 예시) — Qiskit 구현

from qiskit import QuantumCircuit
from qiskit.circuit import ParameterVector
import numpy as np

def build_qaoa_maxcut(edges, p=1):
    n = max(max(e) for e in edges) + 1
    gamma = ParameterVector('γ', p)
    beta  = ParameterVector('β', p)

    qc = QuantumCircuit(n)
    # 초기 균등 중첩
    qc.h(range(n))

    for layer in range(p):
        # 문제 유니타리: e^{-i γ H_C}
        for (i, j) in edges:
            qc.cx(i, j)
            qc.rz(2 * gamma[layer], j)
            qc.cx(i, j)
        # 혼합 유니타리: e^{-i β H_B}
        for i in range(n):
            qc.rx(2 * beta[layer], i)

    return qc

edges = [(0,1), (1,2), (2,3), (3,0)]
qc = build_qaoa_maxcut(edges, p=2)
print(qc.draw('text'))

고전 최적화 루프 골격

from scipy.optimize import minimize

def cost_function(params, qc, edges, backend):
    p = len(params) // 2
    gamma_vals = params[:p]
    beta_vals  = params[p:]
    bound = qc.assign_parameters(
        {**dict(zip(qc.parameters[:p], gamma_vals)),
         **dict(zip(qc.parameters[p:], beta_vals))}
    )
    counts = backend.run(bound, shots=2048).result().get_counts()
    # MaxCut 기댓값 계산
    total = 0
    for bitstring, cnt in counts.items():
        z = [int(b) for b in bitstring]
        cut = sum(z[i] ^ z[j] for (i, j) in edges)
        total += cut * cnt
    return -total / 2048   # 최소화이므로 음수 반환

x0 = np.random.uniform(0, 2*np.pi, 4)   # p=2이므로 4개 매개변수
result = minimize(cost_function, x0, method='COBYLA',
                  args=(qc, edges, backend))

실용 적용 분야

분야 문제 유형
물류·공급망 차량 경로 최적화(VRP)
금융 포트폴리오 최적화
반도체 설계 회로 배치·라우팅
머신러닝 클러스터링(QUBO 변환)

모든 문제는 이진 이차 무제약 최적화(QUBO) 형식으로 변환 후 QAOA에 투입된다.


정리

QAOA는 변분 양자 고유값 분해기(VQE)의 조합 최적화 특화 형태로, 문제 구조를 해밀토니안에 직접 인코딩한다는 점이 차별점이다. 현재의 NISQ 장치에서 가 작을 때 노이즈 한계 내에서 실행 가능하지만, 충분한 근사 비율을 얻으려면 오류 완화 기법과 결합이 필요하다. 장기적으로 오류 정정 양자 컴퓨터에서 를 대폭 늘릴 경우, 고전 알고리즘 대비 양자 우위의 실증 가능성이 주목받고 있다.

Exercises

연습문제

  1. Q14개 노드, 4개 간선을 가진 사이클 그래프 $C_4$에서 $p=1$ QAOA의 MaxCut 기댓값 $F_1(\gamma, \beta)$를 해석적으로 유도하라. 최적 $\gamma^*, \beta^*$와 그 때의 근사 비율을 구하라.

    힌트 보기

    $H_C = \frac{1}{2}\sum_{(i,j)\in E}(I - Z_i Z_j)$를 전개하고, 균등 중첩 상태에서 각 항의 기댓값을 $\gamma, \beta$의 삼각함수로 표현한 뒤, 수치 최대화를 적용한다. $C_4$의 MaxCut은 4이다.

    해설 보기

    $F_1 = 2 + \frac{1}{2}\sin(2\beta)\sin(\gamma) - \frac{1}{4}\sin^2(\beta)\cos^2(\gamma/2)\cdot(\text{교차항})$ 형태로 전개된다. 수치 최적화 결과 $\gamma^* \approx \pi/2$, $\beta^* \approx \pi/8$ 근방에서 $F_1 \approx 3$이 달성되며, 근사 비율은 $3/4 = 0.75$이다. $p=2$ 이상에서는 4에 수렴한다.

  2. Q2QAOA에서 매개변수 이동 규칙(parameter-shift rule)이 성립하려면 게이트 생성자(generator)가 어떤 스펙트럼 조건을 만족해야 하는가? $R_Z(\theta) = e^{-i\theta Z/2}$에 대해 이동 크기 $s$를 유도하라.

    해설 보기

    생성자의 고유값이 두 개(±r)인 경우 매개변수 이동 규칙이 성립하며, 이동 크기는 $s = \pi/(4r)$이다. $R_Z(\theta)$의 생성자 $Z/2$는 고유값 $\pm 1/2$을 가지므로 $r=1/2$, 따라서 $s = \pi/2$이다. 즉 $\partial_\theta \langle O \rangle = \frac{1}{2}[\langle O \rangle_{\theta+\pi/2} - \langle O \rangle_{\theta-\pi/2}]$.

  3. Q3QUBO 형식 $\min_{\mathbf{z}\in\{0,1\}^n} \mathbf{z}^T Q \mathbf{z}$를 QAOA용 이징(Ising) 해밀토니안으로 변환하는 절차를 서술하고, 변수 치환 시 상수항이 왜 무시 가능한지 설명하라.

    해설 보기

    이진 변수를 스핀 변수로 변환한다: $z_i = (1 - \sigma_i^z)/2$. 대입 후 전개하면 $\mathbf{z}^T Q \mathbf{z}$는 $\sum_{i<j} J_{ij}\sigma_i^z\sigma_j^z + \sum_i h_i\sigma_i^z + \text{const}$ 형태의 이징 해밀토니안이 된다. 상수항은 모든 계산 기저 상태에서 동일하게 더해지므로 최적해의 위치(argmin)에 영향을 주지 않아 $H_C$ 정의 시 생략 가능하다.

관련 용어

이 챕터는 Claude (claude-sonnet-4-6)가 작성했습니다. · 발행 2026. 4. 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분 읽기