キヤノンサイエンスラボ

光コンピューター

現在のコンピューターは、半導体素子を利用して計算しています。
未来のコンピューターは、「光子」を利用することが考えられています。
現在のコンピューターの中枢部(CPU)は半導体素子でできています。電気信号の「ON」「OFF」で演算処理をしているのですが、この方法で情報処理能力を向上させていくには限界があります。未来のコンピューターは、物質の量子力学的な性質、原子や分子をはじめとする“粒子”のふるまいを利用したコンピューターになるはずです。それが「量子コンピューター」で、「光コンピューター」は量子コンピューターの中でも究極のものです。これは光の粒子(光子:フォトン)のスピン、左回りの自転か右回りの自転かという性質を利用した超々高速のコンピューターです。

光子の動きをベースに計算をする

光コンピューターで主役となるのは、粒子としての光の姿である「光子」です。
現在のデジタルコンピューターは、値が「1」か「0」かという「ビット」、2値をベースに演算処理しています。ところが量子力学では、ひとつの光子に「1」「0」ばかりでなく、「1」「0」を重ね合わせた状態を作ることができます。この重ね合わせができる状態は「クビット(量子ビット)」と名付けられています。将来の光コンピューターはこのクビットをベースに計算を行うのです。

実用化のカギはクビットのアルゴリズム

クビットは、コンピューターサイエンスでは“シュレディンガーのネコ”といわれるものです。
横図のように中が見えない箱の中のネコの様子は、外側からはわかりません。「生きている(1)」状態なのか、「死んでいる(0)」状態なのかがはっきりせず、開いてみてはじめて「生きている(1)」か「死んでいる(0)」かがわかります。箱の中のネコは生死が重なり合った状態、まさしくクビットです。
この「開けるまでわからないネコ」は、一見するとあいまいで不自由な状態のようです。

しかしこれは「開けるまで」は2値を兼ねることができる便利な状態とも考えられ、未来のコンピューターをどう動かすかの演算方法(アルゴリズム)のカギとなっているのです。

クビットで超高速計算ができる理由

なぜ、クビットを使うと超高速コンピューターができるのか、もう少し考えてみましょう。
クビットは「1」と「0」のふたつの状態を同時に重ね合わせていると説明しましたが、これが2クビットになると「00」「01」「10」「11」と、4つの状態をあわせもつことになります(これを「量子的もつれ」といいます)。このように、nクビットでは、2n個の状態を同時にあらわすことが可能です。ということは、nクビットを対象に何か演算を行うと、デジタルコンピューターなら2n個もあるデータをたったnクビットで一括に処理することができます。

これが、超高速計算ができるようになる理由です。
今後は、クビット計算や答えの確定の仕方などについてのアルゴリズムの開発が光コンピューターを実現していくことになるでしょう。ただし、汎用的な計算には不向きで、因数分解など特定の計算に適用されると考えられています。