[8부] 양자컴퓨팅 응용 사례
[8부] 양자컴퓨팅 응용 사례
요약 설명: 실제 연구·산업 분야에서 양자컴퓨팅이 가지는 활용 사례를 정리합니다. 주요 응용 영역으로는 화학·재료과학에서의 분자 시뮬레이션, 최적화 문제 해결, 암호학 분야에서의 RSA 해독 영향, 그리고 양자머신러닝 등을 다룹니다.
1. 화학·재료과학: 작은 분자 에너지 계산 예시
양자컴퓨터는 분자 해밀토니언을 직접 시뮬레이션하여 바닥 상태 에너지를 계산하는 데 강점이 있습니다. 고전 컴퓨터로는 분자의 전자 상호작용을 정확히 시뮬레이션하기 어려운 반면, 양자컴퓨터는 얕은 회로 기반 하이브리드 알고리즘으로 적은 큐빗으로도 의미 있는 결과를 얻을 수 있습니다.
H₂ 분자 에너지 계산 (VQE 예시):
from qiskit import Aer, execute
from qiskit.utils import QuantumInstance
from qiskit_nature.drivers import PySCFDriver
from qiskit_nature.problems.second_quantization import ElectronicStructureProblem
from qiskit_nature.transformers import ActiveSpaceTransformer
from qiskit_nature.circuit.library import UCCSD
from qiskit.algorithms import VQE
from qiskit.algorithms.optimizers import COBYLA
# 1) 분자 드라이버 설정 (H₂, 거리 0.735 Å)
driver = PySCFDriver(atom='H .0 .0 .0; H .0 .0 0.735', basis='sto3g')
problem = ElectronicStructureProblem(driver)
# 2) 분자 해밀토니언 구성
second_q_ops = problem.second_q_ops()
hamiltonian = second_q_ops[0]
# 3) 하이브리드 VQE 설정
quantum_instance = QuantumInstance(backend=Aer.get_backend('aer_simulator_statevector'))
ansatz = UCCSD(problem.molecule_info, problem.num_spatial_orbitals, problem.num_particles)
optimizer = COBYLA(maxiter=200)
vqe = VQE(ansatz, optimizer=optimizer, quantum_instance=quantum_instance)
# 4) 에너지 계산
result = vqe.compute_minimum_eigenvalue(hamiltonian)
print("H₂ 분자 바닥 상태 에너지:", result.eigenvalue.real)
비슷한 방식으로 LiH, BeH₂ 등 작은 분자에 대해서도 VQE를 적용하여 화학 결합 에너지 및 반응 경로를 분석할 수 있습니다.
2. 최적화 문제: QAOA를 통한 간단 포트폴리오 최적화
금융 분야에서 포트폴리오 최적화는 제한된 자본을 여러 자산에 배분해 기대 수익을 최대화하는 문제로, 조합 최적화 알고리즘과 연관됩니다. QAOA를 활용해 단순화된 포트폴리오 최적화 문제를 설정하고 근사해를 구할 수 있습니다.
문제 설정:
QAOA 해밀토니언을 구성하고 얕은 깊이
import numpy as np
import pennylane as qml
from pennylane import numpy as pnp
from scipy.optimize import minimize
# 예시 데이터: n=4, 기대 수익, 공분산 행렬
r = np.array([0.2, 0.15, 0.25, 0.1])
Sigma = np.array([
[0.005, 0.002, 0.001, 0.000],
[0.002, 0.004, 0.002, 0.000],
[0.001, 0.002, 0.006, 0.000],
[0.000, 0.000, 0.000, 0.003]
])
lambda_risk = 0.5
n = len(r)
dev = qml.device('default.qubit', wires=n)
# 코스트 해밀토니언 구성
def cost_hamiltonian():
coeffs = []
obs = []
for i in range(n):
coeffs.append(-r[i])
obs.append(qml.PauliZ(i))
for i in range(n):
for j in range(i+1, n):
coeffs.append(lambda_risk * Sigma[i][j] / 4)
obs.append(qml.PauliZ(i) @ qml.PauliZ(j))
return qml.Hamiltonian(coeffs, obs)
H_cost = cost_hamiltonian()
H_mix = qml.Hamiltonian([1.0]*n, [qml.PauliX(i) for i in range(n)])
@qml.qnode(dev)
def qaoa_circuit(params):
gamma, beta = params[0], params[1]
# 초기 하다마드
for i in range(n):
qml.Hadamard(wires=i)
# 비용 해밀토니언 적용
qml.ExpvalCost(H_cost, H_mix, dev)(params)
# 구현 예시 생략
return qml.expval(H_cost)
def objective(params):
return qaoa_circuit(params)
# 초기 파라메터
init_params = pnp.array([0.1, 0.1], requires_grad=True)
res = minimize(objective, init_params, method='COBYLA')
print("최적 파라메터:", res.x)
print("근사 비용:", res.fun)
위 코드는 PennyLane을 사용해 간단한 포트폴리오 QAOA를 설정한 것으로, 실제로는 얕은 깊이
3. 암호학: 쇼어 알고리즘이 RSA 보안에 미치는 영향
RSA는 소인수분해 어려움을 기반으로 하는 공개키 암호화 방식입니다. 고전 컴퓨터로는 큰 정수
영향 요약:
- 양자컴퓨터가 충분히 큰 규모(수천~수만 큐빗)를 달성하면, RSA-2048 수준 보안도 빠르게 깨질 수 있음.
- 대책으로 양자내성암호(Post-Quantum Cryptography)가 연구 중이며, 격자 기반 암호, 코드 기반 암호, 해시 기반 서명 등이 후보로 떠오름.
- 현재 NISQ 기기로는 쇼어 알고리즘을 소규모에만 적용 가능하지만, 장기적으로는 RSA 대체를 위한 준비가 필요함.
실제로 수십 큐빗 규모로 15나 21 같은 작은 정수의 소인수분해는 데모 수준에서 수행됐으며, 대형 암호 인수분해는 앞으로의 기술 발전에 달려 있습니다.
4. 양자머신러닝: QSVM, 양자강화학습 간단 개요
양자머신러닝(Quantum Machine Learning, QML)은 양자컴퓨팅의 고유한 중첩·얽힘 특성을 이용해 기계학습 모델을 가속하거나 향상하는 분야입니다.
4.1 QSVM (Quantum Support Vector Machine)
QSVM은 고전 SVM의 커널 계산을 양자 회로로 가속화하는 방식입니다. 입력 데이터를 양자 상태로 인코딩 후, 양자 내적(Inner product)을 측정해 고차원 특징 공간에서 분류 경계를 학습합니다.
기본 워크플로우:
- 데이터 포인트
를 양자 특징 맵(Feature map) 으로 인코딩. - 두 데이터 포인트
의 커널 계산. - 커널 행렬을 고전 SVM에 입력해 최적화 문제 해결.
4.2 양자강화학습 (Quantum Reinforcement Learning)
양자강화학습은 양자 환경(Quantum environment) 또는 양자 에이전트(Quantum agent)를 도입해 고전 강화학습 알고리즘(Q-learning, Policy Gradient 등)을 개선합니다. 양자 중첩을 활용해 상태·행동 공간을 압축하거나, 파라메터화된 양자 회로를 함수 근사기로 사용하는 연구가 진행 중입니다.
예시:
- 양자 상태를 환경으로 사용: 큐빗 집합으로 게임 상태 표현 후, 파라메터화된 회로로 행동 정책 학습.
- 양자 에이전트: 파라메터화된 회로를 값 함수(Value function) 근사기로 사용해 고전 신경망 대체.
5. 결론 및 다음 단계 안내
8부에서는 양자컴퓨팅의 대표적 응용 사례를 살펴보았습니다:
- 화학·재료과학: H₂·LiH 분자 에너지 계산 예시 (VQE).
- 최적화 문제: QAOA 기반 포트폴리오 최적화 예시.
- 암호학: 쇼어 알고리즘이 RSA 보안에 미치는 영향 및 양자내성암호 필요성.
- 양자머신러닝: QSVM, 양자강화학습의 기본 개요와 활용 방향.