2026년 7월 3일 금요일
튜토리얼 목록
고급양자컴퓨팅

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

QAOA(Quantum Approximate Optimization Algorithm)는 NP-난해 조합 최적화 문제를 양자 회로로 풀기 위한 변분형 하이브리드 알고리즘이다. 비용 해밀토니안과 믹서 해밀토니안을 교대로 적용하는 파라미터화된 회로를 고전 최적화기로 조율하여 근사 해를 탐색한다. 회로 깊이(레이어 수 $p$)가 커질수록 해의 품질이 향상되며, 충분히 큰 $p$에서 정확해에 수렴함이 이론적으로 보장된다.

개념 소개

조합 최적화란 유한한 이산 공간에서 목적 함수를 최대화·최소화하는 해를 찾는 문제다. MaxCut, 외판원 문제(TSP), 그래프 색칠 등이 대표적이며, 변수 수가 늘어날수록 탐색 공간이 지수적으로 증가해 고전 알고리즘에 한계가 생긴다.

QAOA는 2014년 Farhi, Goldstone, Gutmann이 제안한 알고리즘으로, 변분 양자 고유값 분해기(VQE)의 아이디어를 조합 최적화에 특화한 형태다. 핵심 아이디어는 다음과 같다.

문제의 비용 함수를 양자 해밀토니안 로 인코딩하고, 파라미터화된 양자 회로 로 바닥 상태를 근사 준비한 뒤, 기댓값 을 고전 최적화기로 최대화한다.


핵심 원리

문제 해밀토니안 인코딩

개의 이진 변수 로 정의된 목적 함수 를 파울리-Z 연산자로 치환한다. 예를 들어 MaxCut 문제의 에지 에 대해

이 해밀토니안의 최대 고유값에 해당하는 고유벡터가 곧 최적 절단(cut)이다.

믹서 해밀토니안

탐색 공간 전역을 넘나들기 위한 믹서(mixer)로 통상 횡자기장 항을 사용한다.

이 연산자는 각 큐비트를 방향으로 회전시켜 탐색 다양성을 보장한다.

QAOA 회로 구조 (깊이 )

초기 상태 (균등 중첩)에서 출발하여 두 유니타리를 회 교대 적용한다.

파라미터 벡터 , 는 고전 최적화기(COBYLA, BFGS, Adam 등)로 갱신된다.

은 가장 얕은 근사이며, 극한에서 단열 양자 계산(AQC)과 동치가 됨이 증명되어 있다.

게이트 분해

는 각 에지 항이 교환 가능하면 CNOT + RZ 게이트 쌍으로 컴파일된다.

는 각 큐비트에 독립적인 게이트로 분해된다.


예시·응용

MaxCut 예제 (4노드 그래프, )

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

# 그래프 에지: (0,1), (1,2), (2,3), (3,0)
edges = [(0,1),(1,2),(2,3),(3,0)]
n = 4

gamma = ParameterVector('γ', 1)
beta  = ParameterVector('β', 1)

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

# 비용 유니타리
for (i, j) in edges:
    qc.cx(i, j)
    qc.rz(2 * gamma[0], j)
    qc.cx(i, j)

# 믹서 유니타리
for i in range(n):
    qc.rx(2 * beta[0], i)

qc.measure_all()
print(qc.draw('text'))

고전 최적화 루프 (Qiskit Estimator 기반)

from scipy.optimize import minimize
from qiskit.primitives import StatevectorEstimator
from qiskit.quantum_info import SparsePauliOp

# MaxCut 해밀토니안 (4노드 링 그래프)
terms = ['ZZII','IZZI','IIZZ','ZIIZ']
coeffs = [-0.5] * 4
cost_op = SparsePauliOp(terms, coeffs=coeffs) + SparsePauliOp('IIII', coeffs=[2.0])

estimator = StatevectorEstimator()

def objective(params):
    g, b = params[0], params[1]
    bound = qc.assign_parameters({gamma[0]: g, beta[0]: b})
    job = estimator.run([(bound, cost_op)])
    return -job.result()[0].data.evs   # 최대화 → 부호 반전

result = minimize(objective, x0=[0.5, 0.5], method='COBYLA')
print(f"최적 파라미터: γ={result.x[0]:.4f}, β={result.x[1]:.4f}")
print(f"근사 MaxCut 값: {-result.fun:.4f}")

실용적 고려 사항

항목 내용
회로 깊이 현재 NISQ 장치에서 수준이 현실적
노이즈 민감도 깊이 증가 시 오류 누적 → 오류 경감 기법 병행 필요
파라미터 초기화 무작위 초기화보다 단열 경로 기반 휴리스틱이 수렴 가속
고전 최적화기 바리언스가 큰 기울기 소실(Barren Plateau)에 주의

정리

QAOA는 이산 최적화 문제를 양자-고전 하이브리드 루프로 다루는 가장 체계화된 알고리즘 중 하나다. 회로 구조가 문제의 그래프 구조를 직접 반영하며, 레이어 수 가 정밀도와 회로 복잡도 사이의 핵심 트레이드오프를 결정한다. NISQ 시대에는 얕은 깊이의 설정과 오류 경감 기법의 조합이 현실적 선택이다. 장기적으로는 오류 정정이 가능한 하드웨어에서 를 충분히 키워 양자 우위를 달성하는 방향이 탐구되고 있다.

연습문제

  1. Q1.3노드 완전 그래프($K_3$, 에지: (0,1),(1,2),(0,2))의 MaxCut 문제를 QAOA로 정식화할 때, 비용 해밀토니안 $\hat{C}$를 파울리-Z 연산자로 명시적으로 작성하라.

    힌트 보기

    MaxCut 비용 함수 $C = \sum_{(i,j)\in E}\frac{1-z_iz_j}{2}$에서 $z_i \to \hat{Z}_i$로 치환하되 고유값 대응($+1 \leftrightarrow 0$, $-1 \leftrightarrow 1$)에 유의하라.

    해설 보기

    각 에지 $(i,j)$에 대해 $\frac{1}{2}(I - \hat{Z}_i\hat{Z}_j)$를 합산한다. 따라서 $$\hat{C} = \frac{1}{2}(III - ZZI) + \frac{1}{2}(III - IZZ) + \frac{1}{2}(III - ZIZ)$$ $$= \frac{3}{2}III - \frac{1}{2}ZZI - \frac{1}{2}IZZ - \frac{1}{2}ZIZ$$ $K_3$의 최적 MaxCut 값은 2이며, 두 개의 노드를 한 집합, 나머지 하나를 다른 집합에 배치하는 분할이 해당한다.

  2. Q2.QAOA에서 레이어 수 $p$를 무한정 늘릴 수 없는 현실적 이유를 하드웨어 관점에서 두 가지 이상 논하라.

    해설 보기

    ① **게이트 오류 누적**: NISQ 장치의 2큐비트 게이트 충실도는 99% 수준으로, $p$가 커질수록 CNOT 게이트 수가 $O(p \cdot |E|)$로 증가해 전체 회로 오류율이 기하급수적으로 상승한다. ② **결어긋남 시간(decoherence)**: 큐비트의 $T_1$, $T_2$ 시간이 유한하므로 회로 실행 시간이 이를 초과하면 양자 상태가 붕괴된다. ③ **고전-양자 통신 오버헤드**: 변분 루프마다 반복적인 샷 측정과 파라미터 갱신이 필요해 총 실행 시간이 $p$에 비례해 증가한다.

  3. Q3.QAOA의 믹서 해밀토니안을 표준 횡자기장 $\hat{B} = \sum_i \hat{X}_i$ 대신 XY 믹서 $\hat{B}_{XY} = \sum_{(i,j)}\left(\hat{X}_i\hat{X}_j + \hat{Y}_i\hat{Y}_j\right)$로 교체하면 어떤 장점이 생기는가?

    해설 보기

    XY 믹서는 큐비트 쌍 사이의 여기(excitation) 수를 보존하는 보존량(number-conserving) 연산자다. 따라서 탐색 공간을 '해밍 가중치(Hamming weight)가 일정한' 부분 공간으로 제한할 수 있어, 특정 수의 자원을 선택해야 하는 제약 있는 최적화 문제(예: 포트폴리오에서 정확히 $k$개 자산 선택)에서 불필요한 탐색을 제거하고 수렴 속도를 높인다. 단, XY 믹서는 구현 회로가 더 복잡하고 추가적인 SWAP 네트워크가 필요하다.

관련 용어

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