--- layout: page title: 確率的ビット description: 量子ビットの確率的な性質 ---

量子コンピュータの計算結果を取り出すには、測定という確率に基づいた奇妙な操作があるのでした (QPU は何が得意? 参照)。 序盤でいきなり迷子にならないためにも、まずは簡単な確率の世界に慣れておく必要があります。

この節では、ふつうのコンピュータが持つビット (古典ビット) をおさらいした後、確率と確率的ビットを学びます。 確率的ビットは量子コンピュータの量子ビットによく似ているので、確率的ビットを通して量子ビットの重要な側面を理解できます。 ここでは、確率的ビットの状態はどんなものか、また測定によって確率的ビットからどのように情報を取り出すことができるかを学びます。

古典ビット

ご存知のように、従来のビット (古典ビット{% include margin_note.html content="量子力学と古典力学との対比から、量子コンピュータのビットを量子ビットと呼ぶときは、現在のコンピュータのビットを古典ビットと呼びます。" %}) は 0 または 1 のどちらかの値をとります。ごく当たり前のことですが、古典ビットから取り出せる値は 0 か 1 のみで、また計算中のその中身 (状態) も常に 0 か 1 です。

確率

確率とは「元旦には 10% の確率で雪が降る」とか「80% の確率で日本列島に台風が上陸する」といったイベントが起こる可能性を数値化したものです。確実に発生するイベントなら 100%、絶対に発生しないイベントなら 0% の確率を持ちます。

例として、コイントスを考えてみましょう。コインを投げて手でキャッチすると、「コインが表」または「コインが裏」のイベントが起こります。 偏りのないコインならば、それぞれのイベントの確率は 50% ずつです。 また、表の出やすいコイン (表 60.8%、裏 39.2%) や絶対に裏しか出ないインチキコイン (表: 0%、裏: 100%) など、無限のバリエーションが存在します。

表と裏の確率を足すと必ず 100% になることを考えると、表と裏になる確率すべての組合わせを次のグラフのように図式化できます。 横軸は表の出る確率 (0〜100%)、縦軸は裏の出る確率 (0〜100%) で、さまざまなコインが持ちうる確率のすべての組合わせは青色の線分になります。

確率的ビット

確率的ビットは、コイントスと同じ確率的な性質を持っています。計算中の確率的ビットの状態は、コインが宙に浮いていてまだ表か裏か定まっていない状態と同じと考えることができます。 コインの表を値 0、コインの裏を値 1 とすると、確率的ビットはたとえば「60% の確率で 0、40% の確率で 1」などという状態を取ることができます。

計算後、値を取り出す操作 (測定) をした後の確率的ビットは、手の中のコイン (表か裏かが定まった状態) に対応します。 つまり、値を取り出した時点で確率は消え 0 か 1 かが確定するので、古典ビットとまったく見分けがつきません。

こうした確率的な情報はいったいコンピュータの計算に使えるのでしょうか? 古典ビットの値 0 と 1 は確定した値を表しているのに対し、確率的ビットはおおよその知識 (または知識の欠如) を表しているので、あまり役に立たないと思うかもしれません。 確率ビットの利点は、部分的な知識をより正確に表現できることです。 もし何かが完全に分かっていないのであれば、計算をあきらめるのではなくそれを認め、確率のまま計算を進めてしまおうというのが確率的ビットの考えかたです。

重ね合わせはなぜ強力?

確率的ビットの確率的な 0 と 1 の状態 (コインが宙を舞っている状態) を重ね合わせ状態と言います。 0 と 1 が完全に確定しない状態のまま、2 つの値を重ね合わせて計算を進めるイメージです。 よく「量子コンピュータは重ね合わせと量子もつれを使った強力なコンピュータである」と言いますが、なぜ重ね合わせが強力なのでしょうか?

直感的に納得する方法の 1 つは、先ほどのグラフ上で古典ビットと確率的ビットを比べてみることです。 古典ビットは常に 0 または 1 の状態しか取りませんから、先程のグラフ同様に表すと古典ビットの取りうる状態は 2 点になります。

一方で、確率的ビットは線分上のすべての点、つまり無限個の状態を持ちえるのでした。このように取りうる状態の数で比較すると 2 個 vs. 無限個なので、確率的ビットのほうが (なんとなく) 強力に見えます。

またはこう考えることもできます。たとえば確率的ビットが 0 になる確率を 0.11001001011...% のように好きな 0 と 1 の並びにセットできるとします。 そしてそこにすべての Wikipedia の記事と YouTube の全動画データ、そしてインターネットでみつかるすべての猫画像を 2 進数として埋め込みます。 それはなんと、確率的ビットたった 1 個に超巨大なデータを埋め込めることにほかなりません!

すべての Wikipedia 記事と YouTube 動画、そしてネットの猫画像をまとめて 0 と 1 で表現し、確率的ビットが 0 となる確率に埋め込む!

...実際に埋め込めたとしても、測定によって 0 としか 1 しか取り出せないなら確率に乗せたデータは消えてしまうのではないでしょうか? チュートリアル後半では、確率のデータをなんとかして取り出すための量子アルゴリズムを紹介します。