QAOA: 조합 최적화를 위한 양자 근사 최적화 알고리즘
QAOA(Quantum Approximate Optimization Algorithm)는 비용 해밀토니언과 믹서 해밀토니언을 교대로 적용하는 파라미터화 양자 회로와 고전 최적화기를 결합한 하이브리드 변분 알고리즘이다. MaxCut, 포트폴리오 최적화 등 NP-난해 조합 최적화 문제를 NISQ 장치에서 근사적으로 풀 수 있으며, 레이어 수 $p$가 커질수록 이론적으로 정확한 해에 수렴한다.
개념 소개
QAOA는 조합 최적화 문제를 이징(Ising) 해밀토니언으로 인코딩한 뒤, 파라미터화된 양자 회로로 바닥 상태(또는 고에너지 상태)를 근사 탐색하는 변분 알고리즘이다. 순회판매원 문제, 최대 컷(MaxCut), 그래프 색칠 등 광범위한 NP-난해 문제를 대상으로 한다.
알고리즘 구조는 두 요소로 이루어진다.
- 비용 해밀토니언 : 풀고자 하는 목적함수를 연산자의 다항식으로 인코딩
- 믹서 해밀토니언 : 해 공간 탐색을 위해 횡방향 자기장 역할을 수행
이 두 해밀토니언이 교대로 적용되는 양자 아디아바틱 발전(adiabatic evolution)의 트로터(Trotter) 근사로 이해할 수 있다.
핵심 원리
회로 구조
큐비트를 균등 중첩 상태로 초기화한 뒤, 레이어만큼 비용·믹서 유니터리를 교대 적용한다.
각 유니터리는 해밀토니언의 시간 발전 연산자다.
MaxCut 문제 인코딩
그래프 의 MaxCut 비용 해밀토니언은
으로 정의된다. 인접 큐비트 스핀이 반대이면 이므로 에너지 기여가 최대가 된다. 표준 믹서는
이며, 는 CNOT + 조합으로, 는 게이트 층으로 구현된다.
고전 최적화 루프
파라미터 벡터 에 대해 기댓값
을 최대화한다. 양자 장치에서 기댓값을 측정한 결과를 COBYLA, BFGS, 혹은 **파라미터 이동 규칙(parameter-shift rule)**을 활용한 해석적 경사도 기반 최적화기에 피드백한다.
근사비 보장
단층 QAOA는 MaxCut에서 이론적 근사비 를 보장하며, 이는 고전 랜덤 2-분할 알고리즘의 를 상회한다.
예시·응용
Qiskit 구현: 3-노드 삼각형 그래프
from qiskit.circuit import QuantumCircuit, Parameter
import numpy as np
gamma = Parameter('γ')
beta = Parameter('β')
qc = QuantumCircuit(3)
# 초기 균등 중첩
qc.h([0, 1, 2])
# 비용 유니터리: 엣지 (0,1), (1,2), (0,2)
for i, j in [(0, 1), (1, 2), (0, 2)]:
qc.cx(i, j)
qc.rz(2 * gamma, j)
qc.cx(i, j)
# 믹서 유니터리
qc.rx(2 * beta, [0, 1, 2])
qc.measure_all()
print(qc.draw('text'))
삼각형 그래프(홀수 사이클)의 최대 컷은 2이며, 최적 파라미터 근방에서 001, 010, 100, 011, 101, 110 등 비트 반전 쌍이 두드러진다.
실용 응용 분야
| 분야 | 대표 문제 |
|---|---|
| 금융 | 포트폴리오 최적화, 위험 분산 |
| 물류 | 경로 탐색, 작업 스케줄링 |
| 소재 | 분자 배치 최적화 |
| 통신 | 주파수 할당, 네트워크 라우팅 |
QAOA vs VQE 비교
두 알고리즘 모두 변분 원리를 공유하지만, QAOA는 이산 조합 문제에, VQE는 연속 에너지 최소화(분자 해밀토니언 등)에 주로 적용된다. QAOA 회로 구조는 문제에 의해 고정되는 반면, VQE는 임의 앤사츠(ansatz)를 허용한다.
정리
QAOA는 파라미터화 양자 회로와 고전 최적화기를 결합하여 NISQ 시대 조합 최적화에 접근하는 핵심 알고리즘이다. 레이어 수 증가에 따라 근사 품질이 향상되나 회로 깊이도 커지므로, 하드웨어 노이즈와의 균형이 실제 구현에서 가장 중요한 과제다. 내결함성 양자 장치가 성숙하면 고전 솔버 대비 양자 우위가 본격적으로 검증될 전망이다.
연습문제
Q1.MaxCut 문제에서 비용 해밀토니언 $H_C = \frac{1}{2}\sum_{(i,j)\in E}(I - Z_iZ_j)$를 사용하는 이유를 설명하고, 두 큐비트 $i$, $j$가 같은 비트(00 또는 11)일 때와 다른 비트(01 또는 10)일 때 각각 $Z_iZ_j$의 기댓값이 얼마인지 구하라.
힌트 보기
$Z|0\rangle = +|0\rangle$, $Z|1\rangle = -|1\rangle$임을 이용하라.
해설 보기
같은 비트(00 또는 11)이면 $Z_iZ_j$의 기댓값은 $+1$이므로 에너지 기여 $(1-1)/2 = 0$이다. 다른 비트(01 또는 10)이면 기댓값은 $-1$이므로 에너지 기여 $(1-(-1))/2 = 1$이다. 즉, $H_C$는 서로 다른 집합에 속한(컷을 가로지르는) 엣지 수를 세므로, 이를 최대화하면 MaxCut 해를 얻는다.
Q2.단층($p=1$) QAOA 회로에서 파라미터 $\gamma$에 대한 기댓값의 경사도를 파라미터 이동 규칙으로 표현하라.
힌트 보기
파라미터 이동 규칙은 $\partial_\theta \langle O\rangle = \frac{1}{2}[\langle O\rangle_{\theta+\pi/2} - \langle O\rangle_{\theta-\pi/2}]$ 형태임을 떠올려라.
해설 보기
기댓값 $F(\gamma, \beta) = \langle\gamma,\beta|H_C|\gamma,\beta\rangle$에 대해, $$\frac{\partial F}{\partial \gamma} = \frac{1}{2}\Bigl[F\!\left(\gamma+\frac{\pi}{2},\beta\right) - F\!\left(\gamma-\frac{\pi}{2},\beta\right)\Bigr]$$ 이다. 이 규칙은 실제 양자 장치에서 두 번의 회로 실행만으로 해석적 경사도를 측정할 수 있게 하며, 유한 차분 근사 없이 정확한 값을 준다는 장점이 있다.
Q3.QAOA의 레이어 수 $p$를 무한정 늘리면 이론적으로 최적해를 얻을 수 있다. 그럼에도 불구하고 현재 NISQ 장치에서 $p$를 크게 설정하기 어려운 이유를 두 가지 이상 서술하라.
해설 보기
① **회로 깊이 증가**: $p$ 레이어마다 $O(|E|)$개의 2큐비트 게이트가 추가되어 총 게이트 수가 $O(p|E|)$로 증가하고, 이는 코히어런스 시간 내 실행을 어렵게 한다. ② **노이즈 누적**: NISQ 장치의 2큐비트 게이트 오류율(~0.1~1%)이 회로 깊이에 비례해 누적되어 측정 결과가 열잡음에 묻힌다. ③ **파라미터 최적화 복잡도**: $2p$개 파라미터 공간에서 비볼록 최적화 문제가 되므로, $p$가 커질수록 지역 최솟값(barren plateau 포함)에 빠질 가능성이 높아진다.