チュートリアル5 分散して走れ
問題
3台の車を3つのルートに分散して走らせます。ルート選択にはどのようなパターンがありますか?
考え方1
この問題も「車はa, b, cのどれを通るか」というものであり、そのまま量子ビットに対応させることができない。
そこで次のような表を作ってみよう。
表の各マスに量子ビットを対応させ、アニーリングで1になった場所で解釈する。こうすれば3択以上の問題も表現できるね!
考え方2
それでは設定を考えよう。
まず、各車は必ず1つのルートを通る。言い換えると「表の各行の3つの量子ビットは必ず1つだけ1になる」ということだ。
また、分散して走らせるということは、各ルートはできるだけ空いていてほしい。言い換えると「各ルートとも車はできれば1台も走ってほしくない」ということだ。うまく設定できるかな?
これらを設定してアニーリングして結果を確認しよう!
やってみよう
解答の確認
結果は何通り出たかな?この問題も理論的には6通りあるはずだ。
使う量子ビットが多いほど、一つ一つの結果の出現回数は少なくなる傾向にある。そのためすべての最適解がヒットしないこともある。実行ボタンの左にある回数をデフォルトの100から500くらいに増やして実行すれば、すべての最適解にヒットする確率が高まるぞ!
解答例
解答例をそのまま「実行」すると正解が確認できます。アニーリング回数を500くらいに増やしてみよう。