全645文字
PR
(出所:123RF)
(出所:123RF)

 指数関数的に難しさが爆発する問題の全てを、量子コンピューターが短い時間で解けるわけではありません。対象とする問題がある条件を満たす必要があります。その問題を量子コンピューターで解くための、効率的なアルゴリズムがあることです。

 量子コンピューターの速さをごくごく簡単に説明すると、次のようになります。量子コンピューターは、基本要素である量子ビットが「0」と「1」の両方の状態を取る「重ね合わせ」を使っているから、全ての「0」と「1」の組み合わせを同時に調べることができる。量子ビットを大量に用意して、組み合わせを並列に調べればあっという間に計算してくれる、というわけです。

 実際は、そう簡単ではありません。量子コンピューターが重ね合わせを利用するのは確かですが、それぞれの量子ビットが自動的に正解を見つけてくれるわけではないのです。当てずっぽうで量子ビットの状態を確定しても、結果が正解になる確率はほぼゼロです。重ね合わせを正解の状態で確定させるためには、量子ビットの状態を巧妙に操作して正解に導く手段が欠かせません。それこそがアルゴリズムです。

 ここで重要なのは、今知られているアルゴリズムはそこまで多くないことです。量子コンピューターのアルゴリズムを集めた「Quantum Algorithm Zoo」 Webサイト をのぞいてみると、登録されたアルゴリズムの数は60をちょっと超えるくらいです(2022年1月時点)。実は有用なアルゴリズムの数はもっと少なく、現時点で10個もないとする意見もあります。