Slide 1

Slide 1 text

オンライン ワークショップ テーマ:量子コンピュータもどきをつくろう(その3)

Slide 2

Slide 2 text

目次 巡回セールスマン問題を量子アニーリングに当てはめて実装するには ① 巡回セールスマン問題を量子アニーリングに当てはめて実装するには ② クラス構成

Slide 3

Slide 3 text

巡回セールスマン問題を 量子アニーリングに当てはめて 実装するには① 量子(Quantumクラス) 1スレッドで表現 どの量子と繋がっている かを保持 4 3 1 3 7 2 5 5 1 3 移動コスト ①各量子に状態をセット (全部ではなく一部だけ) →疎らに通過する、しないが設定 できれば良さそう ②スタートを決める ③隣り合う量子毎にも通過するか、 しないかを設定 (ここはランダムか近い方か・・) ④③を繰り返す

Slide 4

Slide 4 text

巡回セールスマン問題を 量子アニーリングに当てはめて 実装するには② •  例: ここが スタートだとすると・・ 「通過する」 「通過しない」 ランダムに状態を セット 通過する状態にセッ トされた方に処理を 委譲 どちらも通過しない状態なら ランダム(もしくは近い方)に 方向を決める 一度通過したところ は通過済みフラグを 立てる 通過済みフラグが立ってい る所は通らない 最終的に通過済みフラグ が立っていない所があれ ばそのパターンは無効に する

Slide 5

Slide 5 text

クラス構成 •  今回は基礎部分のみ作成 •  quantum.py → 量子クラス •  quantum_thread.py → 量子スレッドクラス •  quantum_computer.py → 量子コンピュータクラス