量子コンピュータ時代へ:
現在の量子コンピュータで何ができるか
2
1. 量子コンピュータの概要
2. 量子コンピュータで問題を解く
3. 量子コンピュータの現状
4. 量子コンピュータの課題
5. まとめ
目次:
3
なぜ量子コンピュータ?
4
Moore’s Lawの終わり?
5
計算スピードの速さ
https://ai.googleblog.com/2015/12/when-can-quantum-annealing-win.html
ある特定な問題で、
古典コンピュータに
比べて、量子
コンピュータは
「1億倍」高速
6
1. 量子コンピュータの概要
2. 量子コンピュータで問題を解く
3. 量子コンピュータの現状
4. 量子コンピュータの課題
5. まとめ
7
量子の不思議
8
量子効果
 量子重ね合わせ
 量子もつれ
 量子トンネル効果
9
• 2重スリットに電子打ち出されて、後スクリーンに映ったものを見る
• 結果:
o 綺麗な縞模様(干渉縞)
• 結論:
o 「電子は波」
量子重ね合わせ(Quantum Superposition)
10
量子重ね合わせ(Quantum Superposition)
- 2重スリットに電子打ち出されて、後スクリーンに映ったものを見る
- 2重スリットに後ろに、観測機を設置
- 結果:
- スリットとスリットの間に、電子が集中
- 結論:
- 「電子は粒子」
11
1
波(Superposition状態)
2
3
観測
粒子(collaplse状態)
• 電子は「波」と「粒子」の性質を持つ
• 観測されるまで電子は複数状態の重なり合わせを持つ
• 観測されると、電子は特定状態になる
量子重ね合わせ(Quantum Superposition)
1
2
3
12
量子力学の基本コンセプト
 量子重ね合わせ
 量子もつれ
 量子トンネル効果
13
量子エンタングルメント(量子もつれ)
http://homework.uoregon.edu/pub/class/155/out155/qt.html
14
量子力学の基本コンセプト
 量子重ね合わせ
 量子もつれ
 量子トンネル効果
15
量子トンネル効果
16
量子力学の理論を用いて並列性計算できるコンピュータである
量子コンピュータとは
17
量子ビット(キュービット)とは
量子ビット(キュービット)とは
• 量子コンピュータで最小単位の情報
(古典コンピュータはビット(bit)と同様)
• 1キュービットは「1」と「0」状態を同時に持つ
• 1キュービットは「1」と「0」以下のようにある特定確率で表現
18
量子コンピュータでの量子理論応用
 量子重ね合わせ
 全キュービットの組み合わせを並列処理できる
 量子もつれ
 キュービット間に制約、相関
 量子トンネル効果
 主に量子アニーリング方式で、グローバル最小値に到達
確率を上げる
19
量子コンピュータと種類
量子ゲート方式
量子アニーリング
方式
量子コンピュータ
20
量子ゲート方式とは
各キュービットにゲート(操作)のシーケンスを適用し、計算を行う
21
量子ゲート方式の特徴
• 汎用的な量子コンピュータと言われている
• どんなインプットでも対応できる
• どんなアルゴリズムでも対応できる
• 量子ゲートによるプログラミングが必要
• 理論的に高速な量子アルゴリズム対応
22
量子アニーリング方式とは
https://arxiv.org/abs/cond-mat/9804280
1998年に、東京工業大学の門脇氏、西森教授が提案
23
量子アニーリング方式とは
量子効果を利用し、焼きなまし(annealing)法と似たような仕組みで、
最適化問題に特化した量子コンピュータ
- 温度アニーリング=温度調整、量子アニーリング=量子効果調整
- 温度アニーリングはグローバル最小値に到達しにくい
- 量子アニーリングはグローバル最小値の回答に到達しやすい
温度アニーリング
量子アニーリング
24
量子アニーリングの特徴
• 組み合わせの最適化問題に特化する
• 量子イジングモデルによる、エネルギー計算を行う
• 最適化問題のコスト関数は以下の量子イジングモデルに
変換する
𝐻 𝑠1, 𝑠2, … , 𝑠 𝑁 = −
𝑖<𝑗
𝐽𝑖𝑗 𝑠𝑖 𝑠𝑗 −
𝑖=1
𝑁
𝐻𝑖 𝑠𝑖
• 細いステップのプログラミングが不要
• ノイズに対して強い
• 商品化される(D-wave)
25
1. 量子コンピュータの概要
2. 量子コンピュータで問題を解く
3. 量子コンピュータの現状
4. 量子コンピュータの課題
5. まとめ
26
実験・調査概要
実験・調査目
的
唯一実用化されている量子アニーリン
グ方式で問題解決ノウハウを取得する
実験・調査内
容
• 量子アニーリングシミュレータの仕
組み調査
• 量子アニーリングシミュレータおを
用いて、古典パソコンで解き難い最
適化問題(NP問題)の解いてみる。
実験環境 - D-wave ocean SDK
- MacBook Air
27
D-wave ocean sdk概要
28
pip install dwave-ocean-sdk
D-wave ocean sdk概要
29
基本コードの構成
30
𝐻 𝑠1, 𝑠2, … , 𝑠 𝑁 = −
𝑖<𝑗
𝐽𝑖𝑗 𝑠𝑖 𝑠𝑗 −
𝑖=1
𝑁
𝐻𝑖 𝑠𝑖
Linear(bias)
Quadratic(coupler)
最適化問題の解くイメージ
回答=関数最小値コスト関数(イジングモデル)
31
参考論文
32
(問題1)自然数字分類問題
33
ある複数自然数字の中から、二つのグループに分けて、
各グループの和が同じ
目的:
例:
入力:{1,2,3,4,5,6,7,8,10}
出力: {1,3,4,5,10} と {2,6,7,8}
34
解決方法:
𝐻 =
𝑖=𝑖
𝑁
𝑛𝑖 𝑠𝑖
2
• 各キュビットの値レンジは「-1,1」として、
一つグループは「1」という値、もう一つグループは「-1]という値
• こちらの問題の回答はエネルギーの計算が一番低いように調整する。
エネルギーの計算は以下です
属するグループのspin値該当数字
35
0 2n1n
2
2n1n
3
…
2n1n
n
0 0 2n2n
3
… 2n2n
n
0 0 0 2n3n..
2n3n
n
0 0 0 0 2n..n
n
0 0 0 0 0
s1 s2 sn
s3
s1
sn
…
s3
s2
…
Linear
Quadratic
𝐻 = 𝑛1 𝑠1 + ⋯ + 𝑛 𝑁 𝑠 𝑁
2
𝐻 = 𝑛1
2
𝑠1
2
+ ⋯ + 𝑛 𝑁
2
𝑠 𝑁
2
+
2𝑛1 𝑛2 𝑠1 𝑠2 + ⋯ + 2𝑛𝑖 𝑛𝑗 𝑠𝑖 𝑠𝑗
𝐻 = 𝑛1
2
+ ⋯ + 𝑛 𝑁
2
+
2𝑛1 𝑛2 𝑠1 𝑠2 + ⋯ + 2𝑛𝑖 𝑛𝑗 𝑠𝑖 𝑠𝑗
sは[-1,1]なので、s2は1になります
イジングモデルに変換
36
Demo
37
(問題2)グラフのk クリーク問題
38
あるグラフ中から、全て繋がっているk ノードを見つける
目的:
例:
5
3
1
2
4
5
3
1
2
4
39
解決方法
𝐻 = 𝑘 −
𝑣=𝑖
𝑥𝑖
2
+
𝑘(𝑘 − 1)
2
−
𝑢,𝑣∈𝑉
𝑥 𝑢 𝑥 𝑣
• 各キュビットの値レンジは[0,1]として設定する。選択された場合は1。
• 今回満たす必要な条件は:
1. k ノードを選択すること
2. 選択したノードは必ず全て繋がっていること
• 以上の各条件ごとに、 エネルギーの計算式作成する。
エネルギー計算式は以下です。
kノード選択する 選択するノードが全て繋がっている
HA HB
40
1-2k 2 2 2 2
0 1-2k 2 2 2
0 0 1-2k 2 2
0 0 0 1-2k 2
0 0 0 0 1-2k
x1 x2 xn
x3
x1
xn
…
x3
x2
…
Linear
Quadrati
𝐻𝐴 = 𝑘 − (𝑥1 + ⋯ + 𝑥 𝑉 )2
𝐻𝐴 = 𝑘1
2
+ 𝑥1
2
+ ⋯ + 𝑥 𝑣
2
+
2𝑥1 𝑥2 + ⋯ + 2𝑥𝑖 𝑥𝑗 −
2𝑘𝑥1 − ⋯ − 2𝑘𝑥 𝑛
xは[0,1]1なので、x2は x になります
𝐻𝐴 = 𝑘1
2
+ 𝑥1
2
+ ⋯ + 𝑥 𝑣
2 +
2𝑘𝑥1 − ⋯ − 2𝑘𝑥 𝑛 +
2𝑥1 𝑥2 + ⋯ + 2𝑥𝑖 𝑥𝑗 −
イジングモデルに変換
41
𝐻𝐵 =
𝑘(𝑘 − 1)
2
−
𝑢,𝑣∈𝑉
𝑥 𝑢 𝑥 𝑣
イジングモデルに変換
42
Demo
43
1. 量子コンピュータの概要
2. 量子コンピュータで問題を解く
3. 量子コンピュータの現状
4. 量子コンピュータの課題
5. まとめ
44
現在のメインプレーヤー
量子ゲート方式 量子アニーリング方式
Googl
e
IBM
Microsof
t
Alibab
a
Rigetti
D-
wave
NEC
45
IBMの取り組み状況
- 量子ゲート方式採用
- 最大50キュビット
- 5キュビットと16キュビット無料実機で試せる
- 充実なSDK
- QASMという量子用アセンブラ言語
- PythonのAPI
46
Rigettiの取り組み状況
- 量子ゲート方式採用
- 最大19キュビット
- 無料版はQuantum Virtual Machine(QVM)
- 実機はパートナーのみ
- 充実なSDK
- 個人的にPythonのSDKは一番よい
- 古典コンピュータと量子コンピュータ統合
- MIT Technology Reviewsが選ぶ「2017 50 Smartest
Company」
47
D-Waveの取り組み状況
- 量子アニーリング方式採用
- 最大2048キュビット
- 無料版はシミュレータのみ
- 様々なSDK(python,matlabなど)を提供
- オーペンソース版がありますが、実SDKに比べて、
機能少ない
- 唯一商品化量子コンピュータ
- 唯一事例があり
48
D-Waveの応用事例
- Volkswagen:
Traffic Flow Optimization using the D-Wave
Quantum Annealer
- リクルートコミュニケーションズ:
Display Advertising Optimization by Quantum Annealer
Processor
49https://www.dwavesys.com/sites/default/files/VW.pdf
• 北京のタクシルートの最適化のプロジェクト
• 最適化前(左図)
• 一つルートに集中 ー>渋滞多く、移動時間長い
• 最適化後(右図)
• 複数ルートに分散 ー> 渋滞少なく、移動時間短く
50
D-Waveの応用事例
- Volkswagen:
Traffic Flow Optimization using the D-Wave
Quantum Annealer
- リクルートコミュニケーションズ:
Display Advertising Optimization by Quantum Annealer
Processor
51https://www.dwavesys.com/sites/default/files/RCO_0_0.pdf
• ユーザと広告のマッチングの最適化
• 評価指標:CTR,CTRのボラティリティ
• 結果:
• 既存手法と同じCTR達成
• 既存手法と比較し、ボラティリティ低い
量子アニーリング
既存手法
52
1. 量子コンピュータの概要
2. 量子コンピュータで問題を解く
3. 量子コンピュータの現状
4. 量子コンピュータの課題
5. まとめ
53
量子ゲート方式課題
- 実用化するためのキュービット数を増やすのは困難
- 大量キュービットのチップ生産技術
- ノイズが大きく、大規模なキュービットが必要
- 量子の操作が理論どうり行かないこと
- 量子重ね合わせを保つ時間は短い
- 長いシーケンスの処理ができない
- 現在、まだ商品化されない
- 実用化まだ時間かかると予測される
54
量子アニーリングの課題
- 最適化問題のみ対応
- 量子アルゴリズム( 因数分解など)未対応
55
ゲート方式の簡単なDemo
56
Forestはrigetti社が提供したAPIとSDK
 唯一量子コンピュータと古典コンピュータ両方対応しているAPI
57
$ pip install pyquil
58
ゲート方式でのloop
Demo
59
ゲート方式でのif
Demo
60
現在のコンピュータのプロ
グラミングと似ている
61
1. 量子コンピュータの概要
2. 量子コンピュータで問題を解く
3. 量子コンピュータの現状
4. 量子コンピュータの課題
5. まとめ
62
まとめ
• 量子アニーリング方式では物理学知識がなくても利用できる
• 量子アニーリング方式は現時点で、唯一ブジネス事例があります
• ゲート方式は理論的にパワーフールですが、実用化できるまでは
まだ時間かかりそう
63
ご静聴ありがとうございます

量子コンピュータの時代へ:現在の量子コンピュータで何ができるか