QAOA: 조합 최적화를 위한 양자 근사 최적화 알고리즘
QAOA(Quantum Approximate Optimization Algorithm)는 이진 변수 조합 최적화 문제를 양자회로로 풀기 위한 변분형 하이브리드 알고리즘이다. 비용 해밀토니안과 혼합 해밀토니안을 교대로 적용하는 파라미터화 회로와 고전 옵티마이저를 결합하며, NISQ 시대의 대표적 양자 응용 후보로 꼽힌다.
개념 소개
조합 최적화 문제는 유한한 이진 결정 변수의 조합 중 목적함수를 최대화·최소화하는 해를 찾는 문제다. MaxCut, 외판원 문제(TSP), 포트폴리오 최적화 등이 대표 예시이며, 변수 수가 늘수록 고전 탐색 공간이 지수적으로 증가한다.
QAOA는 양자 단열 계산(quantum adiabatic computation)을 이산화한 구조에서 출발한 변분 알고리즘이다. 양자 회로가 파라미터를 받아 기댓값을 계산하면, 고전 옵티마이저가 그 파라미터를 갱신하는 하이브리드 루프를 형성한다. 회로 깊이 를 늘릴수록 해의 질이 향상되며, 극한에서 전역 최적해에 수렴함이 이론적으로 보장된다.
핵심 원리
비용 해밀토니안과 혼합 해밀토니안
개의 이진 변수 로 정의되는 목적함수 를 파울리 연산자로 인코딩한 비용 해밀토니안 를 구성한다. MaxCut 문제의 경우 그래프의 각 에지 에 대해
의 최대 고유상태가 그래프를 최대로 절단하는 분할에 해당한다.
혼합 해밀토니안 는 탐색 공간을 골고루 탐색하도록 상태를 뒤섞는 역할을 하며, 기본형으로 가로방향 자기장 항을 사용한다.
QAOA 회로 구조
깊이 의 QAOA는 개의 각도 파라미터 , 를 갖는다. 초기 상태로 균등 중첩
을 준비한 뒤, 비용 유니터리와 혼합 유니터리를 회 교대 적용한다.
여기서 두 유니터리는 각 해밀토니안의 시간 발전 연산자다.
파라미터 최적화
목표는 비용 해밀토니안의 기댓값을 최대화하는 파라미터를 찾는 것이다.
고전 옵티마이저(COBYLA, BFGS, Adam 등)가 양자 측정 결과를 피드백 받아 파라미터를 반복 갱신한다. 이 하이브리드 루프가 QAOA의 핵심이다.
예시·응용
MaxCut (3-노드 그래프, )
노드 {0, 1, 2}와 에지 {(0,1), (1,2)}를 갖는 그래프의 QAOA 회로를 Qiskit으로 구현한다.
from qiskit import QuantumCircuit
from qiskit.circuit import Parameter
from qiskit.primitives import StatevectorSampler
import numpy as np
gamma = Parameter('γ')
beta = Parameter('β')
n = 3
edges = [(0, 1), (1, 2)]
qc = QuantumCircuit(n)
# 초기 균등 중첩
qc.h(range(n))
# 비용 유니터리 U_C(γ): 각 에지에 ZZ 결합
for i, j in edges:
qc.cx(i, j)
qc.rz(2 * gamma, j)
qc.cx(i, j)
# 혼합 유니터리 U_B(β): 각 큐비트에 RX
for i in range(n):
qc.rx(2 * beta, i)
qc.measure_all()
# γ=π/4, β=π/8 으로 바인딩 후 실행
bound = qc.assign_parameters({gamma: np.pi/4, beta: np.pi/8})
print(bound.draw())
파라미터 최적화 후 측정에서 가장 높은 확률을 보이는 비트열이 근사 최적해가 된다. 이 예시의 이론적 최적 절단 값은 2이며, 에서도 높은 근사비를 달성한다.
실제 응용 분야
| 분야 | 문제 예시 |
|---|---|
| 물류·스케줄링 | 차량 경로 최적화, 작업 배정 |
| 금융 | 포트폴리오 리밸런싱, 리스크 분산 |
| 통신 | 네트워크 분할, 주파수 할당 |
| 재료 과학 | 분자 구조 에너지 최소화 |
IBM Quantum, Google Quantum AI 등에서 다양한 규모의 QAOA 벤치마킹 실험이 수행되고 있다.
정리
QAOA는 비용 해밀토니안과 혼합 해밀토니안의 교대 적용으로 조합 최적화의 해 공간을 탐색하는 변분 알고리즘이다. 회로 깊이 를 높일수록 해의 질이 향상되고 이론적으로 전역 최적해에 수렴하지만, NISQ 기기의 잡음, 파라미터 최적화의 barren plateau 문제, 고전 시뮬레이션과의 우위 입증 등이 실용화의 주요 과제로 남아 있다. 오류 경감 기법, 더 나은 초기화 전략, 문제별 특화 혼합 연산자 설계를 통해 지속적으로 발전 중인 분야다.
연습문제
Q1.$p=1$ QAOA에서 단일 에지 $(0,1)$만 있는 그래프의 비용 해밀토니안 $H_C$를 파울리 연산자로 나타내고, $U_C(\gamma)$를 게이트 분해하라.
힌트 보기
$Z_0 Z_1$의 시간 발전 연산자는 CNOT-RZ-CNOT 구조로 분해된다.
해설 보기
단일 에지의 MaxCut 비용 함수는 $C = \frac{1 - z_0 z_1}{2}$이므로 $H_C = \frac{I - Z_0 Z_1}{2}$이다. 시간 발전 연산자는 $U_C(\gamma) = e^{-i\gamma H_C} = e^{-i\gamma(I - Z_0 Z_1)/2}$이며, 전체 위상을 무시하면 $\text{CNOT}_{0 \to 1} \cdot R_Z(2\gamma)_1 \cdot \text{CNOT}_{0 \to 1}$로 구현된다.
Q2.QAOA의 혼합 해밀토니안으로 기본 $H_B = \sum_i X_i$ 대신 문제 구조를 반영한 다른 혼합 연산자를 사용할 수 있다. 이 경우 어떤 조건을 만족해야 하는가?
힌트 보기
단열 알고리즘에서 초기 해밀토니안이 갖춰야 할 조건을 생각해본다.
해설 보기
혼합 해밀토니안은 (1) 비용 해밀토니안과 비가환(non-commuting)이어야 양자 터널링 효과로 탐색이 가능하고, (2) 초기 균등 중첩 상태가 그 기저 상태(ground state)여야 준비가 용이하며, (3) 실행 가능 해 공간(feasible subspace)을 보존해야 제약 조건 위반을 방지할 수 있다. 예를 들어 고정된 해밍 무게를 요구하는 문제에는 XY 혼합 연산자가 활용된다.
Q3.QAOA에서 barren plateau 문제란 무엇이며, 이를 완화하기 위한 전략을 두 가지 서술하라.
해설 보기
Barren plateau란 회로 깊이와 큐비트 수가 증가할수록 비용 함수의 기울기(gradient)가 지수적으로 0에 가까워져 파라미터 최적화가 사실상 불가능해지는 현상이다. 완화 전략으로는 (1) **레이어별 훈련(layer-by-layer training)**: $p=1$부터 시작해 수렴 후 레이어를 추가하는 방식으로 각 단계에서 양호한 초기값을 확보한다. (2) **문제 특화 초기화**: 고전 알고리즘(GOEMANS-WILLIAMSON 등)의 해를 파라미터 초기값 결정에 활용해 좋은 시작점을 제공한다.