@yuichirominato 2019.02.21更新 154views

【新機能】1行コードでD-Wave


はじめに

量子アニーリングって難しいですよね。D-Waveのアカウントを持っていて、dwave-cloud-clientのライブラリが入ってる方は、1行でD-Waveに投げる機能をつけました。

コード

コードは下記です。QUBOmatrixというmatrixを作り問題を解きます。Blueqatをgithubから取得してみてください。https://github.com/mdrft/Blueqat

from blueqat.opt import Opt
Opt().add([[1,0],[0,-1]]).dw()
from blueqat.opt import Opt

#QUBO
c = Opt().add([[1,0],[0,-1]])

#dwave
c.dw()

#=>
[0, 1]

#annealing
c.run()

#=>
[0, 1]

#qaoa
c.qaoa().most_common(5)

#=>
(((0, 1), 0.999991900412168),
 ((0, 0), 4.049785715177e-06),
 ((1, 1), 4.049785715176516e-06),
 ((1, 0), 1.640089717933019e-11))

答えが戻ってきました。blueqatはQUBOを推奨しているので答えも01で戻ります。シミュレータのアニーリングやQAOAとも比較が簡単です。以上です!

Recommended


Wikiへ移動