量子回路は楽譜のようだ
今更だが,古典的な論理回路と量子的な論理回路との大きな違いはどこにあるだろうか?
すぐに気付く点は,量子ビットの数が計算の最初から最後まで一切増えも減りもしないということだ.計算の途中で必要になる予備の量子ビットが欲しければ,それは最初から用意しておかなければならない.
古典的な論理回路では一つのゲートの出力を枝分かれさせて複数のゲートの入力として使うことができた.多数の粒子の集団の振る舞いによって情報を運んでいるのでそういうことが可能なのである.一方,量子回路では単一の粒子が情報を担っていることがほとんどなので,複数のゲートの入力に分けて使うことができない.
量子コンピュータでも多数の粒子集団に同一の操作を行って同じ状態を持つ粒子を大量に生成する方式がないわけではない.測定結果は平均値として得られるので多少の量子状態が壊れてしまっても平気であり,ノイズに強い.しかしその集団を途中で複数に分けて別々の操作を受けさせるというのは困難である.もしそのようなことが可能になったとしても量子回路の理論を使って考えれば十分である.なぜならそれは同じ状態を持つ量子ビットを大量生産するために同一の回路を複数用意するのと実質同じだからである.
制御ビットに入れた状態がそのまま出てくるというのは少しばかりの救いである.複数のゲートの制御ビット側に次々と通せば,実質同じ状態を枝分かれさせて使っているのと同じだからである.しかし標的ビットへの入力として使ってしまえば状態が変化して出てきてしまうので,同じ状態を使い回しすることはできない.
では,一つの状態をコピーした上で複数の入力に回すことはできないのだろうか?無理である.どんな状態になっているか分かっているものについては量産は可能であるが,突然持ってこられた未知の量子状態をコピーすることができないのは数学的に証明されている.それについてはこの記事のもう少し後で説明しよう.
このようなわけで,古典的な論理回路とは違って,量子回路はまるで音楽の五線譜のような図の上で,量子ビットどうしを絡め合わせるように描かれるのである.
可逆ゲート
量子回路が楽譜のように描かれるのは,量子ゲートの入力の数と出力の数が必ず同じだということとも関連している.量子ビットはコピーができなくてもったいないものだから数を減らすわけにはいかないという理由だけではない.量子ゲートの動作は量子物理的な現象を利用しているのでユニタリ変換で表されることになる.つまりユニタリ行列で表せるものであり,故に必ず逆変換が存在している.出力から入力を再現することが可能なのである.出力の一部を捨ててしまうと再現ができなくなる.
計算の途中で一時的に使っただけだからといって要らなくなった量子ビットを途中で捨ててしまってもいいのだが,使わないままで最後まで保存しておいたとしよう.量子ゲートの一つ一つの働きはユニタリ行列であり,その全ての組み合わせもまた一つの複雑なユニタリ行列である.つまり,計算の最終結果の全ての量子ビットを残しておけば,そこから初期状態にまでさかのぼることができる.
量子回路の図は,そのような可逆ゲートの概念を意識したものになっている.普通は図の左側から右側へ向かって計算が進むのだが,右から左へ進んでもある種の量子回路と言える.その思想を表すために,各ゲートの記号はわざと左右対称な形にしてあるのである.
すると,計算というのは結局何なのだろうか,ということになる.ユニタリ変換によって問題と答えとを結びつける技術と言えるかもしれない.計算結果からさかのぼって初期状態にまで戻すことが出来るというのだから,計算の途中では情報が一切失われていないということになる.情報量と熱力学を結びつける理論によれば,計算によって情報の散逸が起こっておらず,エントロピーが増大していないことになるのだから,原理的には,計算によって発熱は一切起こらなくて済むはずである.計算による発熱は情報を捨てる時にだけ起こる.初期状態にリセットするときにだけ起こるというわけだ.
なるほど,そうすると,古典的な論理回路というのは NOT ゲート以外は可逆になっておらず,ゲートを通るたびに情報を捨てていることになる.量子回路を見習った可逆的な論理ゲートを作れば,エネルギー消費のない理想的な計算も可能かもしれない.いや,古典的なコンピュータの熱の発生源は電気抵抗がほとんどなのだから,そんなことをしてどれほどの意味があるだろうか?情報と熱の関係は少し気になるので,次回ではその辺りをもう少し調べてみよう.
クローン禁止定理
未知の量子状態はコピーが不可能であるという先ほどの話の根拠を説明しておこう.分かっている状態ならばそれと同じものを作ることができる.しかし目の前に一つの状態があって,それと同じものをコピーせよと言われても,それを実現する物理法則はこの世に存在しないのである.それは理論的に証明可能で「クローン禁止定理」だとか「量子複製不可能定理」だとか呼ばれている.英語の「no-cloning theorem」(ノー・クローニング定理)を訳したものである.
状態を知ろうとして観測してしまえば,結果が確率的に得られるだけなので,元の状態がどうだったのか知ることはできない.同じ状態のものが多数あれば,多数の観測を繰り返すことで,元の状態がどうだったのかをある程度推測することはできる.しかし対象の状態が 1 個しかなければこの方法も使えない.
未知の状態をコピーして,別の状態だったものをに変えるような物理的操作を演算子で表そう.このは以前の記事に出て来たものとは全くの無関係で,copy の頭文字のつもりである.その操作の結果としてそれらコピー元とコピー先の状態以外の全世界が少し影響を受けてになっても構わない.それは次のような式で表せる. どんな状態が来てもコピーできなければ本物とは言えないので,次のような式も成り立っているべきであろう. 外界は先ほどとは異なる状態になるかもしれないが,コピーさえできればいいのでどう変化したとしても気にしない.
ここで,次のような状態をコピーしたいと考える. 演算子には線形性があるので,次のようになるだろう. これは注文したものと同じ結果だろうか?単純に考えて,そのままコピーしてくれればいいので,次のようになってほしかったのだ. いや,展開してしまうと意外と複雑で,本当にこんな結果になることを望んでいたのだったかはもう分からないほどだが,とにかく両者はまったく違う結果へとたどり着いていることだけは確かだ.外界はどうなっていてもいいのでその違いは無視しても構わない.ややを省いて考えたとしても両者はまるで違っている.当然成り立っているはずの性質で二通りに計算した結果が一致しないのである.つまり,このような演算子の存在自体が矛盾を招いていると言える.
よって,既知の物理法則を利用する範囲ではこのような量子状態のコピーを行うことは不可能であると結論できるのである.