Otimização usando Lógica Quântica
Aug 27 2020
É possível resolver o seguinte tipo de otimização usando Computação Quântica?
Minimize
5*x1 - 7*x2
binary
x1
x2
Se sim, é possível ter um código de exemplo usando QISKit?
Respostas
2 StefanWoerner Aug 27 2020 at 14:14
O Qiskit possui um módulo de otimização e você pode encontrar tutoriais que ilustram sua funcionalidade aqui .
Para resolver o exemplo que você postou, por exemplo, com o Quantum Approximate Optimization Algorithm (QAOA), você pode fazer o seguinte:
from qiskit import Aer
from qiskit.optimization import QuadraticProgram
from qiskit.aqua.algorithms import QAOA
from qiskit.optimization.algorithms import MinimumEigenOptimizer
# construct optimization problem
qp = QuadraticProgram()
qp.binary_var('x1')
qp.binary_var('x2')
qp.minimize(linear=[5, -7])
# initialize optimizer
qaoa_mes = QAOA(quantum_instance=Aer.get_backend('statevector_simulator'))
qaoa = MinimumEigenOptimizer(qaoa_mes)
# solve problem
result = qaoa.solve(qp)
print(result)
que imprime:
optimal function value: -7.0
optimal value: [0. 1.]
status: SUCCESS
O módulo de otimização do Qiskit também fornece outros algoritmos de otimização quântica para programas quadráticos e você pode encontrar uma descrição mais detalhada aqui .
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas