2022/09/07
古典コンピューターと量子コンピューターでは、計算を実行する最小単位がまったく異なっています。
古典コンピューターでは、この最小単位は、「ビット(bit)」と呼ばれ、「"0"か"1"かのいずれかの状態」を表しています。
一方、量子コンピューターでの最小単位は、「量子ビット(quantum bit)」と呼ばれ、「"0"か"1"の両方の状態」を同時に表す単位です。これは、量子物理学で説明される「重ね合わせ」とよばれる性質を使ったものです。
例えば、古典コンピューターで、4ビットの組合せを計算すると、16回の計算が必要です。
一方、量子コンピューターでは、「"0"か"1"の両方の状態」を同時に計算できるので、4量子ビットの量子コンピューターであれば、1回の計算で全ての組合せを計算できます。
古典コンピューターでこのビット数(n)を増やしてゆけば、2n回の計算が必要となり、計算量は指数関数的に増えてゆきます。
一方、量子コンピューターでは、量子ビットの数を増やせば、1回で計算できる組合せが増えることから、古典コンピュータを遥かにしのぐ計算が可能になります。そんなことから量子ビット数を増やす研究が進められています。ただ、古典コンピューター同様、計算では必ずエラーが起きます。
これを訂正しなければ、計算精度は保証できません。量子コンピューターでは、0.1〜数パーセント程度のエラーが発生しますが、現状ではこれを訂正することがほとんどできません。また、高速に計算できるようになっても、それだけでは必要な答えは得られません。
欲しい答えを得るための量子コンピューター専用のアルゴリズムが必要です。
現在のところ「素因数分解」と大量のデータの中からある条件に合致するデータを見つけるための「量子探査」を高速で計算するアルゴリズムが発見されている程度で、まだまだ研究の途上です。それでも、このアルゴリズムを使えば、暗号の解読や検索が桁違いに早くなり、ビジネスや社会に大きなインパクトを与える可能性があります。
量子コンピュータの登場により、古典コンピュータが不要になることはなく、適材適所で使い分ける時代が来るでしょう。
まだ研究開発の途上ではありますが、近い将来、コンピューティングの常識を根本的に変えてしまうかもしれません。
※ メール・BLOG の転送厳禁です!! よろしくお願いします。
コメントをお書きください