こんにちは、みっちゃんです。
以前の記事で紹介したように、わたしたちが使用している(ノイマン型)コンピュータは、電気のオン/オフを1/0で表現する「ビット」を使って、複雑なデータを表現しています。
一方で、最近話題の量子コンピュータは「量子ビット」を使っています。
今回の記事では、「量子ビット」を使うことの意義を解説したいと思います。
目次(まとめ)
- ビットを使って情報を表現する仕組み
- 量子ビットを重ね合わせることで複雑な情報を表現する
- 量子ビットが表現できる領域を図示するとビットとの差が明確になる
- 参考文献
ビットを使って情報を表現する仕組み
「ビット」とは「binary digit」の略であり、必ず"0"か"1"の値をとります。
つまり、1ビットで表現できるのは「0」か「1」という2通りということです。
2ビットで表現できるのは「00」「01」「10」「11」という4通りになります。
「数字ではよくわからない」という方は、「00」が"A"、「01」が"B"、「10」が"O"、「11」が"K"というアルファベットを表現すると考えるとどうでしょうか。
つまり、2ビットでは、ABOKの4文字からなる単語しか表現できないということです。例えば、BOOK(本)という単語は「01 10 10 11」と表現するというようなイメージです。
それでは、3ビットではどうでしょうか。
表現できるのは「000」「001」「010」「011」「100」「101」「110」「111」という8通りになるので、2ビットを使うより多彩な表現ができそうです。
量子ビットを重ね合わせることで複雑な情報を表現する
「量子ビット」を使う場合にも、基本的には同じように考えることができます。
量子ビットは、「ケット(|>)」という記号で囲んで表記することができるので、2量子ビットが表現できるのは「|0 >|0 >」「|0 >|1 >」「|1 >|0 >」「|1 >|1 >」ということになります。
ただし、量子ビットは「重ね合わせ」という量子現象を示すことに注意が必要です。
つまり、4つの状態のうち、どれか1つの決まった状態ではなく、4つの重ね合わせ状態として、情報を表現するということです。
量子ビットが表現できる領域を図示するとビットとの差が明確になる
量子ビットの状態を表現するために、図に示すような球体を考えることができます。
ノイマン型コンピュータにおける「ビット」が表現するのは、「北極点」と「南極点」だけです。
一方、量子コンピュータにおける「量子ビット」が表現するのは、「北極点」「南極点」だけでなく、球体上の1点になります。
このことからも、量子ビット、つまり、量子コンピュータが取り扱うことができる情報量が膨大になることが明らかです。
参考文献
竹内繁樹「量子コンピュータ」講談社ブルーバックス