D-Waveのキメラの各種表現とペガサスを見比べてみる

# はじめに
* 量子アニーリングを勉強中の身なのですが、、
    * D-Wave(2K)のキメラグラフも複数表現があり、度々混乱しがちです。
    * それらが本当に同一か？確かめる為に、お絵かきをしたので、まとめます。
* 最後に、ユニットセル内の近接bit接続を増やし、キメラ(DW2K)→ペガサス(DW5K)にになるか？を確認します。
* 理解間違っている点等ありましたら指摘頂ければ助かります。

また、他の量子コンピュータ関係の他の記事は、下記で紹介しています。

https://qiita.com/shnchr/items/41fa7fd1284d74007a7c

# 見ていきたいこと
* D-Wave 2kでは、Qubitの配置がキメラグラフ（密結合と疎結合の組合せ）になっています。
* その表現方法は、下記の様に３パターン見かけます。
* これらが意味的に同一であることを確認していきたいと思います。
* グラフ全体を対象にすると少し複雑なので、ユニットセル（表現1の太線の塊単位）で見ていきたいと思います。

|表現1|表現2|表現3|
|:--:|:--:|:--:|
|マニュアルで見るやつ|dwave_networkxで書けるやつ|回路っぽいやつ|
|<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/50252652-9871-d4f0-49f9-68c1f99cbc1b.png">|<img width="230" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/b13e1d98-1798-eb61-0c06-e4d6dd62b49c.png">|<img width="230" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/70eb8991-7de2-3ce3-165c-d434a371a965.png">|

# 表現1 vs 表現2
* まずは、表現１のユニットセルに注目します。
* ポイントは、
    * Qubitが4つづつ、2グループ（左No.0,1,2,3　と 右No.4,5,6,7）に分かれている。
    * 右グループ、左グループは双方、相手のグループと全部つながっている（全結合）
    * グループ内での接続は無い。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/4bd807a5-8805-91be-6191-f43f024165df.png)

* この図を接続は変えずに、Qubitの位置だけ（No.4とNo.5）をちょっとずつ動かしていきます。

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/3bf2d252-4390-98f2-bc69-f214450ec1b0.png"><img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/4191abb0-849d-3f22-a0b9-d9baba68c280.png">

* 引き続き、接続は変えずに、No.6とNo.7の位置を変え、表現２にたどり着きました。

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/d7d66188-cba8-464a-75c6-cf04bbf68866.png"><img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/0f1491cb-dc9a-c0a2-f2a5-2419cd92e0b5.png">

# 表現1 vs 表現3
* こちらは、比較的簡単です。
* Qubitの接続に番号を振ってあげます（例えば0と4の接続は04）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/e3a8f2ca-3517-bb58-6350-47966f33e9a2.png)

* 表現3は、qubit同士が重なり合う点で、相互接続されているので、同じ様に番号をふると。
* 表現1と3が等価であるとことが分かると思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/78f94b09-8680-42da-267e-b5cd3310990d.png)

# キメラ(DW2K)からペガサス(DW5K)へ
* DW2Kのキメラグラフからペガサスになると、qubitの相互接続が大幅に増えます。
* 接続が増える要因としては、
    * ユニットセル内での接続が増える（※）
    * ユニットセル間での接続が増える
* 一旦、※だけに着目します。

|キメラ(DW2K)|ペガサス(DW5K)|
|:--:|:--:|
|上述の表現2|キメラに対し隣接bit(赤部分)を接続|
|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/f69f6f73-e783-200a-56c4-1e8f7e4c158d.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/f55da1ad-20d8-f0f0-88d9-adfff59d945b.png)|

* 上記の右図から、qubitの接続は変えずに配置だけ変えていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/174ee4b5-07c3-70da-20b1-872dc5646bd1.png)

* 縦方向の4bit（No.0,1,2,3）を大きく右（→）に動かします

<img width="340" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/8ecd3b09-de56-5bb0-d6fc-011a3b591a5a.png">


* 横方向の4bit（No.4,5,6,7）を大きく上（↑）に動かします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/60c71e77-dc66-1a18-7537-5ada07b134c1.png)

* dwave_networkxでレンダリングしたペガサスは下記の通りで、

```python
import networkx as nx
import dwave_networkx as dnx
import matplotlib.pyplot as plt

dnx.draw_pegasus(dnx.pegasus_graph(3))
plt.show()
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/36322359-4b2f-a0ba-7e6b-4e9be1afbd72.png)

* 赤い部分のユニットセルに着目すると、、

|networkxで書いたやつ|手で作ったやつ|
|:--:|:--:|
|<img width=300 src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/701abfba-baa9-6a41-dde4-943755290d92.png">|<img width=300 src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/60c71e77-dc66-1a18-7537-5ada07b134c1.png">|


* ユニットセル内の接続については、キメラ→ペガサスで、上記の赤線部分の隣接bit接続のみが増えたのか、感覚的にはご理解いただけたかと思います。

# まとめ
* 最後に、キメラvsペガサスのユニットセルを色々な表現でまとめておきたいと思います。

|#|キメラ(DW2K)|ペガサス(DW5K)|
|:--:|:--:|:--:|
|1|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/06824022-5043-2a1e-bc5f-20eb45840675.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/57880620-76cc-2eec-f706-c0f3dbbc88e3.png)|
|2|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/f69f6f73-e783-200a-56c4-1e8f7e4c158d.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/f55da1ad-20d8-f0f0-88d9-adfff59d945b.png)|
|3|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/9e12ac36-4440-bf04-dc06-9ccce8c2dadd.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/d8ad096e-6635-2984-a0de-51d4bf12eaf8.png)
|4|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/7cacc33a-7046-eb80-e262-2bb21b48a988.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183826/15f3db08-dfae-2f96-0e65-6a456c60d01a.png)|

# 所感
* 厳密性を欠いた、（非常に感覚的な）議論になってしまいました。
* １点感じたのはやはり、グラフ構造の理解にはお絵かき（紙とペン）が重要と感じました。
* どなたかのお役に立てれば幸いです。