「量子のもつれ」の続きです。
資料はこちら → 量子シミュレーションその2
p.1 ①測定のモニタMを置いて実行すると、シミュレーション結果は、表だけなので「0」です。②アイコンXをひっくり返すと裏なので「1」。③アイコンXを2個にすると元に戻って表の「0」です。④もつれにするアイコンHを1番目と2番目に入れると、1枚目も2枚目ののコインが各々表と裏の場合があるので、「01 10 11 00」の4通りがほぼ同じ確率で起きます。
p.2 アイコンCXを量子ビット1番目に置くと、図のように表示されます。2枚のコインは最初初期化されているので、両方とも表ですが、1枚目の⚫︎のところで、2枚目のコインをひっくり返して裏にします。1枚目は表のままです。アイコンHを1枚目の先頭におくと、1枚目のコインは回転していて「もつれ」状態です。もし観測時に1枚目が表(0)であれば、2枚目はひっくり返されているので裏(1)です。結果は「01」になります。1枚目が裏(1)であれば、2枚目はひっくり返されているので表(0)なので、結果は「10」になります。この結果が棒グラフになっています。アイコンXを量子ビット2番目に加えると、2番目は2回ひっくり返され1枚目と同じになりますので結果は「00 11」となります。
p.3 少し複雑な論理回路を作ります。アイコンCXを離れた量子ビット上にする方法を説明します。①アイコンCXを量子ビット1番目に置き、②右側の結果のボタンをダブルクリックして、 詳細をクリックします。③アイコンX部分をクリックすると現在位置を表示しますので、今回の場合は「1を3に変更」すると図のようにXの位置が変更されて表示されます。
p.4 ⑤2つ目のアイコンXを置き、アイコンCCXを置きます。やり方は同様です。⑥アイコンIと測定アイコンMを以下のように配置して、⑦実行すると、0+0=00を計算して、結果を表示します。この時、上の2つの量子ビットが入力、下2つのビットが出力となります。上2つのビットはいずれも「0」ですので、答えも「0」です。したがって結果は「0000」になります。左2桁が入力値(足し算する2つの数字)、右2桁が出力値(計算結果)です。
p.5 前ページで作成した論理回路を変えてみます。⑧1番目にアイコンXを加えると、1+0=1を計算しますので、 実行結果は1001です。⑨2番目にアイコンXを加える他場合は、 0+1=1 を計算し、 実行結果0101です。⑨1番目と2番目にアイコンXを加えると、 1+1=2 を計算し、 実行結果1110になります。 ここまでは、従前のコンピュータと同じです。 量子コンピュータの強みである「量子のもつれ」は、⑩ 1番目と2番目にアイコンHを加えることによって実行できます。量子ビットの1番目と2番目は、コインが回っている状態なので「0」と「1」のどちらかです。答えの組み合わせは4通りになります。実行結果は、その4通りを表示しています。
この最後のシミュレーション結果を見て、従前のコンピュータよりも高速になる理由を少し実感しました。ただし、論理回路のアルゴリズムを考えるのが大変そうです。最近のAIは、このようなアルゴリズムを生み出すこともできてしまうのでしょうか。