2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

D-Wave leap のDemoみてみる(1回目)。

Posted at

前回の n個のうちmだけを1にする問題をPyQUBOを使ってアニーリングマシンで解く では、D-Wave Ocean SDKをつかってD-Waveで解いてみましたが、D-Wave Leapには、3つのデモが用意されています。
無料で日本からも利用できるようになっているので、闇雲に論文等を調べるのもいいのですが、せっかくソースまで見えるので、使い倒したほうが絶対にいいとおもっています。そのようなことからデモをすこし紹介できればと思います。
ただ3つ目はLeapが発表されて(たしかぼくが初めてみた2018年10月からは)ずっとComing Soonでいまだ(2019/4現在)に公開されていません。それでは、見ていきたいとおもいます。

(ログインが必要ですので、ユーザ登録などは済ませてください。)
Screen Shot 2019-04-19 at 8.40.21.png

Factoring、Social Network Analysis、Quantum Materials Simulation(これが公開されてない)の3つのデモがありますが、先に述べたように3つ目のQuantum Materials Simulationは公開されていません。

インタラクティブなデモとなっているので、ぜひ実物を試してみてください。

今回は、Factoringを見ていきます。 ファクタリングと日本でいうと、売掛債権取引の方が多いようにも思いますが、素因数分解のことです。

Factoringに進んでいくと、
Screen Shot 2019-04-19 at 8.43.31.png

Factoring by running a multiplication circuit in reverse
とは、
乗算器を、反対につかうという意味です。のちほど詳細は出てきますが、素数21は、$3*7 = 21$なので、3,7の乗算器を使うと21がでます。その反対に3,7を求める問題となるので、21を与えて、乗算器を反対に使えば回答が出るだろうということになります。

また、more informationをクリックすると、

Screen Shot 2019-04-19 at 8.44.24.png

背景にあるCSP(Constraint satisfaction problem、制約充足問題) と、Shorアルゴリズムアニーリングマシンでは、Shorアルゴリズムを動かすことはできないことと、その説明があります。
アニーリングマシンでは、最適化計算が得意といわれますが、この制約充足問題にような最適化問題をIsingモデルに置き換えることがうまくできれば、アニーリングマシンで解いてくれるといった具合になります。

次にいきます。
まず、12、21、49といった素数が並んでいるので、どれかを選択します。今回は21を選びました。

Screen Shot 2019-04-19 at 9.04.41.png Screen Shot 2019-04-19 at 9.04.55.png

more informationをクリックすると、trial division(数全てを順に割り切れるかどうか試す方法)について説明が書いてあります。

Screen Shot 2019-04-19 at 9.05.11.png

そして次には、Boolean logic circuit(ブール論理回路)

Screen Shot 2019-04-19 at 9.05.26.png

more informationをクリックすると、
Screen Shot 2019-04-19 at 9.05.39.png

実は、PyQUBOにもLogical Gate
という表現が存在し、PyQUBOで表現することも可能です。

次にいくと
Screen Shot 2019-04-19 at 9.08.45.png

CSP(Constraint satisfaction problem、制約充足問題)をブール論理回路
へ変換して、といて行く方法が述べられています。

Screen Shot 2019-04-19 at 9.08.58.png Screen Shot 2019-04-19 at 9.09.16.png Screen Shot 2019-04-19 at 9.10.03.png

このブール論理回路をD-WaveのChimeraグラフにMappingして解くのですが、それについて書かれています。

Screen Shot 2019-04-19 at 9.10.19.png

どのようにハミルトニアンの最小値を探して行くのかといった説明があります。

Screen Shot 2019-04-19 at 9.10.40.png

Runボタンを押す

Screen Shot 2019-04-19 at 9.10.49.png

計算結果がでてきて(たぶんここは実機は動かしてないとおもう)をして、50回やって、2のユニークな答えがあり、0.016sで答えが戻ってきたとのこと。

Screen Shot 2019-04-19 at 9.11.51.png Screen Shot 2019-04-19 at 9.12.00.png

このRecapのところの more informationには、有用な論文の紹介あるので、参考になります。

Screen Shot 2019-04-19 at 9.12.27.png

次に、2つ目のデモのSocial Network Analysisにはいかず、Learnをクリックしてみましょう。

Screen Shot 2019-04-19 at 9.13.21.png

ここまでだと、概要で、本当のソースを見ながらD-Waveの実機を動かしてみたいとおもうので人情だとおもいます。さすがD-Waveそのあたりもちゃんと公開してくれています。

このFactoring以外にも、2個目のDEMOのSocial Network Analysisや、アニーリングのスケジュール、リバースアニーリングのJupyterNote形式で公開されています。

Screen Shot 2019-04-19 at 9.13.39.png Screen Shot 2019-04-19 at 9.14.15.png

このjupyter noteのソースコードはDownloadもできますので詳細を今後2個目DEMOのSocial Network Analysisも含め、どこかで紹介をしていこうと思います。

今日はこのくらいで。。。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?