eisawaの日記

アイソレート加工のナノ化した吸収率99%のCBDです。

量子コンピュータって何?

量子コンピュータは、これまでのコンピュータとは異なる新しい計算機です。

最初に、量子コンピュータがどのような計算機なのかその位置付けを理解しましょう。

 

計算機とは?

計算とはなんでしょう?小学1年生の頃、算数を習い始めたときのことを思い出してください。1から9までの数字を習い、足したり引いたり掛けたり割ったりすることを学びました。これにより物を数えたり、時間を計算して予定を立てたり、お金を計算したりして日常生活を送ることができるようになりました。

 その後、さらに複雑な計算の方法を学んで、製品を製造したり、建物を設計したり、地球環境を測定したり、さまざまな仕事で計算が使われていることを学んできました。しかし、私たち人間は、大した計算能力をもっていないということを高校生くらいのときに理解し始めます。大きな数字の計算は、筆算で5桁くらい、図形の計算は単純な円や三角形が限界で、それ以上大きな数や複雑な図形などの場合、頭がこんがらがってしまい計算できません。

 そこで、計算機を使います。計算機と言ってもいろいろありますが、ここでは計算するための機械全般を計算機と呼ぶことにします。最も身近な計算機は電卓(電子卓上計算機)でしょう。昔は、電卓の代わりにそろばんを使っていました。これにより桁数の多い計算が高速にできるようになりました。

 そして、さらに複雑な計算になるとコンピュータを使います。XやYが出てくる方程式を習うと、数字を直接扱わずに計算式を立てられるようになり、これを使いプログラムを作ることで、手計算では困難な複雑な計算がコンピュータによってできるようになります。数千桁の計算も、3次元の複雑な図形の計算も、基本的な方程式さえ知っていれば計算して答えを出すことができます。

 電気の力を使った計算機であるコンピュータは1960年頃に実用化され、今では誰でも使うことができ生活の一部となりました。コンピュータにより人間の計算能力の限界を突破することができるようになったのです。

下図は計算機の発展を表しています。

f:id:eisawa:20210814234653p:plain

 

コンピューターの限界!

 この電気を使った計算機であるコンピュータでも、やはりどこかに限界があります。これまで60年くらい、コンピュータはどんどん進化してきて、高速に計算できるようになり、そして使いやすくなりました。しかし人間の解きたい問題も同じくらいのスピードでどんどん進化(複雑化、煩雑化)してきました。複雑な3次元物体のシミュレーションや、量子力学的なふるまいをする物質のシミュレーションは、現在の最先端のコンピュータを使ってもなかなか計算できません。

 最近では、ブロックチェーンという技術が注目を集めており、これは現在のコンピュータでも計算するのが難しい問題が存在することを利用して作られたシステムです。また、機械学習という技術も注目を集めていますが、これも計算するのに多くの時間がかかる問題を解く必要があります。

 そのため、現在のコンピュータの限界を突破することはとても重要なことであり、これによりさらに世の中を良くすることができると信じられています。ではどうすれば、コンピュータの限界を突破できるのでしょうか? その答えの1つが、量子コンピュータだと期待されているのです。

図1.2 量子コンピュータによる限界突破

 

 

それでは量子コンピュータとは?

量子コンピュータは、次世代の高速計算機として研究・開発が進められています。現代のコンピュータでは困難な問題をすべて解決できるわけではないですが、そのうちいくつかでも解決できれば、社会に大きなインパクトを与えると期待されているのです。

 まずここで、量子コンピュータとは何か、について簡単に説明します。量子コンピュータとは、「量子力学特有の物理状態を積極的に用いて高速計算を実現するコンピュータ」と本書では定義します。量子コンピュータの「量子」は量子力学の「量子」です。

 量子力学とは、大学レベルで学ぶ物理学の1つで、原子、電子などの非常に小さなものの動きを説明するために発展した理論です。この量子力学によると、原子や電子、光の粒である光子などの微小なものや、超伝導などの非常に低温に冷やした物質においては、私達が普段目にしない不思議な現象が起きるということが知られており、実際に実験的に確かめられています。

 例えば、後で説明する量子力学特有の物理状態である「重ね合わせ状態」や「量子もつれ状態」などが実現されています。そして、この量子力学特有の物理状態を積極的に用いてコンピュータを作ろうというのが、量子コンピュータです。これにより、これまでの計算よりもパワフルな量子計算と呼ばれる計算ができるようになります。

 この量子計算は、従来の計算とは本質的に異なるポテンシャルを有していることが研究によって明らかになりつつあります。量子コンピュータの開発は、「量子」を高度に制御(コントロール)することで、従来のコンピュータの限界を突破するコンピュータを作るという物理学とエンジニアリングの挑戦なのです。

図1.3 量子コンピュータとは

 

量子コンピューターと古典コンピューターの違い!

ここで、量子コンピュータと通常のコンピュータの違いを整理しましょう。まず「計算」には大きく分けて2種類あると考えることができます。物理学の1つの分野である古典物理学に基づく古典計算と、量子物理学(量子力学とも呼ばれる)に基づく量子計算です。

 古典物理学とは中学校や高校の物理の授業で習う物の運動や力の作用、電磁気の性質などを扱う物理学です。一方、量子力学は理系の大学レベルで習う「原子や電子の性質」などを扱う物理学です。この2つの物理学に対応して、2つの計算が存在すると考えることができます。古典計算と量子計算の違いは第3章以降で説明します。本書では、量子計算を行う装置を「量子コンピュータ量子計算機)」と呼び、古典計算を行う装置を「古典コンピュータ(古典計算機)」と呼びます。そのため本書では、通常のコンピュータのことを「古典コンピュータ」と呼びます。

 そして、量子計算は古典計算の上位互換であり、古典コンピュータで解ける問題はすべて量子コンピュータで解くことができます。これは、古典力学で扱える現象はすべて量子力学で(原理上は)扱える(つまり古典物理学は量子物理学の近似である)ことに対応しています。

 さらに、古典コンピュータでは解くことの難しい問題も、量子コンピュータなら高速に解くことができる場合があることがすでに知られています。これは、古典物理学では扱うことのできない現象まで量子力学では扱えることに対応しています(図1.4)。

図1.4 物理学と計算の対応関係
図1.4 物理学と計算の対応関係

 現在、量子コンピュータの決まった定義があるわけではありません。そのため、本書では図1.3のように量子コンピュータを定義しました。ここで注意すべき点は、通常のコンピュータも量子力学的な現象を使った半導体バイストランジスタフラッシュメモリなど)によって動いていますが、できる「計算」は古典物理学に対応する「古典計算」であるという点です。

 実現のために使われている物理現象と、実際にできる計算は明確に区別する必要があり、量子力学で説明されるような現象を用いているからといって「量子計算」ができるわけではありません。しかし、量子計算を行うためには、量子力学で説明されるような現象を高度に制御し、「量子力学特有の物理状態」と呼べるような特殊な状態を実現することが不可欠となります。