シンギュラリティと大失業時代 その10 量子コンピュータとはなにか?

量子コンピュータというのは、普通のコンピュータと何が違うのか? というと計算の方法が従来のコンピュータとまったく違うのです。

従来のコンピュータというのは速さに係わらず、0か1の二進数で計算しています。
イエスかノーの二択で超高速に処理していると思って下さい。
一方、量子コンピュータは0と1を同時に計算できるという特性を持つと想定されています。

0か1と、0と1を同時というのは、計算が複雑になればなるほど大きな差が出てきます。
例えば、0か1をイエスかノーに置き換えて、AさんとBさんの二人がそれぞれ回答するとします。

すると、このような選択が考えられます。

1.(Aさん:YES , Bさん:YES)
2.(Aさん:NO! , Bさん:NO!)
3.(Aさん:YES , Bさん:NO!)
4.(Aさん:NO! , Bさん:YES)

4通りのパターンがあることが分かります。
従来のコンピュータはこのパターンを全て計算するのに1~4までを総当りで計算します。
なので当然のことながら、回答する人が増えれば増えるほど指数関数的にパターンは増大していくことになります。

(2 , 4 , 16 , 256 , 65536 , 4294967296…)

といった感じです。

ところが、量子コンピュータは0と1を同時に計算できるので、さきほどのパターンであれば、4パターンを一度に計算できることを意味します。

1.(Aさん:YES , Bさん:YES)
1.(Aさん:NO! , Bさん:NO!)
1.(Aさん:YES , Bさん:NO!)
1.(Aさん:NO! , Bさん:YES)

回答する人が増えても一度に計算できるので、瞬時に答えが出せるのです。

(1 , 1 , 1 , 1 , 1 , 1…)

といった感じです。

話は戻ってこれがどれだけ凄いかというと、例えば、初期のファミコンは一度に処理できるデータは8つまでの8ビットだったのですが、これを二進数で表すと

「00000000」から「11111111」の8桁の数字になります。
「00000000」から「11111111」まで、一度に1つずつ、総当たりで条件と照らし合わせて、解を見つけていく、ということです。

ところが、量子コンピュータの場合、「00000000」から「11111111」までのすべての状態の中から、条件に合う解を一度に見つけ出すことができるため、一度計算すれば、総当たりしたことになるというわけです。
2の8乗=256パターンの総当りが一回でできるのです。

つまり、量子コンピュータが実現すれば、大量の数を扱うような計算問題を、今までのコンピュータとは比べものにならない高速度で解くことができる、ということを意味します。
よく堅牢な暗号を解くのに、○台で100年掛かる、といった言い方をしますが、量子コンピュータであれば一瞬で解ける可能性があるのです。

例えば、我々は単純な計算であれば計算をせず知識から導き出します。答えを覚えていれば、計算をする必要がないのです。これに似ています。
言ってみれば、計算という概念がまったく書き換わる可能性があるということです。

例えば、ガラスを粉々に割って、そのカケラを元に戻すシミュレーションは非常に難しいとされていますが、量子コンピュータであれば一瞬で元通りに直せる可能性があるのです。
水蒸気の水分子の動きすらシミュレーションできる可能性があります。

計算というのは一種の障壁となっており、人類の進歩は計算と予測の精度とともに歩んできたといっても過言ではないのです。

続く。

【引用元 goo

関連記事