量子コンピュータを触るスレ

d9f3c0e7 anonymous 2018-10-10 10:14 1539134072.png (81KB)
量子コンピュータを触ってみよう
D-Wave 2000Q が毎月1秒Freeで使える
利用者は Canada、USA国籍のみだが登録時に選択可能
https://docs.ocean.dwavesys.com/en/latest/
https://cloud.dwavesys.com/leap/login/?next=/leap/
7bb83202 anonymous 2018-10-10 10:22 1539134540.jpg (31KB)
https://www.dwavesys.com/sites/default/files/D-Wave%202000Q%20Tech%20Collateral_0117F.pdf
ミスった、毎月1分までFreeでした
既存のプログラミングとは全く異なる概念だから今は難解
毎月1分が足りないなら22万課金で一時間増える(普通そんなに使う事ない
OceanというPythonで書かれたSDKを利用する、Cloud上にあるQPUをAPIで利用する感じ
e82af839 anonymous 2018-10-10 10:26
https://gigazine.net/news/20181005-d-wave-leap/
わかりやすい日本語の記事はこれ
D-Waveが本当に量子コンピュータかどうかの議論は止めて
bacd609d anonymous 2018-10-11 17:41
まだ使える段階ではない
7a0f5b67 anonymous 2018-10-11 18:46
漁師勘ピューター
近代化される前の漁業において、漁場の選定に使われた
当たるかどうかは確率論に準拠する性質を持つ

民明書房刊 意外と古いコンピューターの歴史
6319eff8 anonymous 2018-10-11 20:48
安心して下さいクウォンタムしてますよ
ea663471 anonymous 2018-10-11 22:14 1539263656.png (53KB)
```python
import matplotlib.pyplot as plt
import networkx as nx
from dimod.reference.samplers import ExactSolver
from dwave.system.samplers import DWaveSampler
from dwave.system.composites import EmbeddingComposite
import dwave_networkx as dnx
from time import time
from random import shuffle


G = nx.DiGraph()
L = list(range(20))
shuffle(L)
G.add_path(L)
shuffle(L)
G.add_path(L)

nx.draw_networkx(G)
plt.show()

# by CPU 5.9Sec
s = time()
line = dnx.min_vertex_cover(G, ExactSolver())
print(line, "by CPU", round((time()-s), 3), "Sec")

# By QPU 1.994Sec (0.008Sec)
sampler = EmbeddingComposite(DWaveSampler())
s = time()
line = dnx.min_vertex_cover(G, sampler)
print(line, "by QPU", round((time()-s), 3), "Sec")
```
実際に弄ってみた (コードハイライトしないかな?
https://docs.ocean.dwavesys.com/projects/dwave-networkx/en/latest/reference/algorithms/generated/dwave_networkx.algorithms.cover.min_vertex_cover.html
20個のノードから構成されるネットワークがあって、その中でエッジと思われる項を取得するプログラム。
CPUだと5.9SecかかるがQPUだと0.008Secかかる (PingとWaitで1.9Secかかるのを引く
2949aab9 anonymous 2018-10-11 23:05 1539266739.png (80KB)
もう一つ例を上げると、50個の点から孤立点を求めてみた(maximum_independent_set
結果は[0, 3, 5, 7, 9, 12, 14, 16, 18, 22, 25, 27, 33, 37, 40, 44, 46, 49]
これもQPUは0.008Secで完了、CPUは計算上245Yearかかるそうだ(Pythonだから元々遅いけど
ひと月4000回まで利用できる事考えるとなかなか使えそう
6cee18ad anonymous 2018-10-12 06:26
P2P網の構築に使えそう
e42fd44a anonymous 2018-10-12 15:06
楕円曲線もRSAも終わりか
7df022b7 anonymous 2018-10-12 18:34
>>e42fd44a
一般的(?)な量子コンピュータは量子ゲートを用いているけど、D-waveのは量子アニーリングといってアナログ回路で計算しているもので、要は応用範囲が狭くて適応できない。上記のように最適化問題に限定されている(ネットワークとか...
9bbe6173 anonymous 2018-10-12 21:42
>>7df022b7
タイガー計算機みたいな感じ?
e96c5aa6 anonymous 2018-10-12 22:19
>>9bbe6173
うーん、手回し計算機は電子の代わりに歯車を用いているのと、実際のコンピュータも同様に四則演算の塊なので違う気がします
既存の概念に当てはめようとするとどうもおかしなことになってしまう、それに自分も勉強不足で説明がうまくいかんね

考えてみたけど、量子ゲートが今のデジタル回路みたいにビット演算で操作するイメージ対して、量子アニーリングはLCRで回路を組むイメージと言ってもいいものかどうか...
785f3770 anonymous 2018-10-12 22:46
リレー式計算機と純電子式計算機みたいな?
f5f1aa39 anonymous 2018-10-13 10:26
いやそういう白黒はっきりした計算機じゃなくて
量子アニーリングは、0.1243Vの入力と0.6453Vの入力を加算して結果に0.7Vくらいと出すようなものか
量子ゲートは、0と1の状態を持つ量子を複数操作して0と1の結果として量子の状態をはじく感じ
こういうイメージそのまま当てはまるわけでは無いけどこんな感じかもしれない
b03016dc anonymous 2018-10-16 00:20 1539616815.png (414KB)
P2P網想像して解析してみた
84ノードの存在を確認し、その内21ノードがポート開放(外部から接続できるという事
min_vertex_cover()にかけたところ過不足無く21ノードがエッジと判定された
疲れて頭がはたらかないネルネル

Top of this page. |

limit: 1536KB

(量子コンピュータを触るスレ/16/0.9MB)

Powered by shinGETsu.