การเพิ่มประสิทธิภาพโดยใช้ Quantum Logics
Aug 27 2020
เป็นไปได้ไหมที่จะแก้ปัญหาการเพิ่มประสิทธิภาพประเภทต่อไปนี้โดยใช้ Quantum Computing
Minimize
5*x1 - 7*x2
binary
x1
x2
ถ้าใช่เป็นไปได้ไหมที่จะมีโค้ดตัวอย่างโดยใช้QISKit?
คำตอบ
2 StefanWoerner Aug 27 2020 at 14:14
Qiskit มีโมดูลการเพิ่มประสิทธิภาพและคุณสามารถหาบทเรียนที่แสดงให้เห็นการทำงานของที่นี่
ในการแก้ไขตัวอย่างที่คุณโพสต์เช่นด้วย Quantum โดยประมาณ Optimization Algorithm (QAOA) คุณสามารถทำสิ่งต่อไปนี้:
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)
ซึ่งพิมพ์:
optimal function value: -7.0
optimal value: [0. 1.]
status: SUCCESS
โมดูลการเพิ่มประสิทธิภาพของ Qiskit นอกจากนี้ยังมีขั้นตอนวิธีการเพิ่มประสิทธิภาพของควอนตัมอื่น ๆ สำหรับโปรแกรมที่กำลังสองและคุณสามารถหารายละเอียดเพิ่มเติมที่นี่