今の仕事で量子コンピュータが必要となるような課題は出てきていないが、そのうちそういう機会も出てくることを想定して、量子コンピュータについて少しずつ学んでいこうと考えてから1年は経っている。いくつか本を読んでは見たものの、うまく消化しきれずに自分の脳の中で自動退避モードになってしまっているので、ちょっと強制的に整理をし始めてみよう。

背景

コンピュータは半導体の微細化プロセスとともに進化してきた。半導体も微細化が進み、一つのトランジスタのゲート(スイッチに相当する)のサイズが7nmになってきているが、原子の大きさが0.1nmであることを考えると、微細化はいきつくところまで来つつある。実際1nmまでいくと、トランジスタのスイッチを切ってもトンネル効果によってすり抜けてしまうようになり、そうなると従来のコンピュータの’0’と’1’の信号のスイッチの制御が正しくできなくなってしまう。微細化に頼れなくなると、複数のCPUの並列・分散処理しか計算能力を上げることができなくなってしまう。しかも、組み合わせ最適化で紹介したような膨大な組み合わせの計算が必要なケースも増えてきており、ブレークスルーが必要となってくる。

量子コンピュータ

従来のコンピュータの限界が見えてきている中で、最近注目を集めているのが量子コンピュータ。量子コンピュータとは、「量子のもつ特性を利用して、従来のコンピュータでは解くことができなかった問題を解くことが期待されているコンピュータ。」そして、量子の性質として、量子の重ね合わせという現象を使うことによって、従来’1’と’0’だけだったものに対して、’0’と’1’が重ね合わさった状態(量子重ね合わせ)も持つことができるようになる。最適解を探索するときに組み合わせを一つずつ計算していたところを、まとめて同時に処理をすることができる。その他にも量子力学の特性を利用して、複数の量子ビットを関連づけることもできる(量子もつれ)。

ただし、注意しないといけないのは、これを測定したときには’0’か’1’の固定されてしまう。なので、うまく答えを取り出さないと間違った答えになってしまう。そのため、量子コンピュータは厳密な計算での答えが必要な場合には不向きで、多くの組み合わせの中から良さそうな答えを探索するのには向いている。

また、これまでのコンピュータと違い、量子状態を維持するために絶対零度に近い状態にする必要があり、通常のコンピュータのように小型化、モバイル実装ができるわけではない。クラウド経由で複雑な計算を使用するためのスパコン的な使われ方になる。

量子コンピュータの種類

量子コンピュータにも以下のように、大きくは用途を組み合わせ最適に絞ったイジングマシン方式と万能型を目指した量子ゲート方式に分けられる。従来のコンピュータより量子コンピュータの方が優位性を示せることを量子スプレマシーと呼ぶ。

また、量子ゲート操作にはどうしてもエラーが生じてしまうため、誤り訂正なしだと万能なコンピュータにならず非万能量子コンピュータで、エラー訂正する能力を持ったものを万能量子コンピュータと定義される。

Googleは2019年に量子スプレマシーの発表に対してIBMが反論したりとか、Googleは2029年までに100万量子ビットをロードマップとして発表するなど、米国主導で主要企業の主導権争いが激しくなってきている。

まずはここまで整理したが、ここからの深掘りが大変なところ。少し自分で手を動かしたり、応用先を考えながら理解を深めていきたい。