2023年12月21日木曜日

量子コンピュータって何が凄いの?(木曜担当 近藤)

こんにちは!

ラーニングサポート木曜担当の近藤です。

  • 化学系の授業で困っている
  • 学校生活について相談したい

という方は、是非お気軽にお声掛けください!

【毎週木曜12:30-14:00 理工学メディアセンター本館1階レファレンスデスク】

にてお待ちしております。

----------------------------------------------------------------------------------------------------------------------------

最近何かと耳にする量子コンピュータ。気になっている方も多いのではないでしょうか。慶應は量子コンピュータの研究にかなり力を入れているので、量子コンピュータ関連の研究室もそれなりにあります。かく言う私の研究室でも量子コンピュータ関連の研究は行われており、色々と情報が入ってきます。

そこで今回は量子コンピュータが従来のコンピュータと比べてどう凄いのかをざっくりと説明します。私自身は量子コンピュータとあまり関係のない研究を行っているので、細かい話については説明できないのですが、研究室の先生やメンバーから話を聞いて、基本的な知識とイメージを持っています。ですので、詳細な話は入門書にお任せすることにして、ここでは量子コンピュータについて何も知らない人に向けて、専門用語を出来るだけ使わず大まかなイメージを伝えることに努めます


量子コンピュータと従来のコンピュータの違い

従来のコンピュータを電卓にたとえるとしたら、量子コンピュータはサイコロにたとえられます。ただし、ただのサイコロではなく、"正解が出やすい特別なサイコロ"です。量子コンピュータはこの特別なサイコロを振って計算を行います(サイコロを振るというのは比喩で、実際には"量子ビット"というものを使って計算を行うのですが、詳しい話は割愛します)。サイコロを振って答えを決めるので、計算する度に出てくる答えは変わりますし、正解したり外したりします。"正解が出やすい特別なサイコロ"なので、"10+5"という計算に対しては"15"という答えを出すことが多く、たまに"14"や"16"といった間違った値を出してしまう、というイメージです。

そう聞くと多くの方が「従来のコンピュータの方が良いのでは?」と感じると思います。正解する確率が高いとはいえ、量子コンピュータは間違えることもあるわけで、それならば絶対に間違えない従来のコンピュータを使った方が良いはずです。実際、その認識は間違いではありません。計算速度に関しても、量子コンピュータの方が常に速いというわけでもありません。量子コンピュータは従来のコンピュータの上位互換ではなく、限られた問題に特化した性能を有しています


量子コンピュータの使いどころ

量子コンピュータが得意とする問題の一つとして「組合せ最適化問題」が挙げられます。組合せ最適化問題とは、ルート選択や勤務シフト作成といった「多数の組み合わせの中から最良の組み合わせを見つける」というタイプの問題です。従来のコンピュータで組合せ最適化問題を解く場合、全ての組み合わせについて計算を行い、その計算結果を比較することで最良の組み合わせを見つけることになります。しかし、選択肢が増えれば増えるほど、考えなくてはいけない組み合わせの数は爆発的に増えていきます。例えばルート選択問題の場合、自宅から近所の公園くらいまでであれば、それほど多くのルートは存在しないと思いますが、隣の県、隣の地方、隣の国…と目的地が離れると検討すべきルートの数は一気に増えます。それら全てのルートを従来のコンピュータで計算することは時間がかかり過ぎるので現実的ではありません(ただし、あまりにも不合理なルートについては計算を省くことができます)。一方、量子コンピュータであれば、全ての組み合わせについていちいち計算する手間を省けます。量子コンピュータによる組合せ最適化問題の解き方は、次のような特徴を持ったサイコロを振ることに近いです。

  • 組み合わせの数だけ面があり、各面に一つずつ組み合わせが書かれている(100通りの組み合わせを考える場合、百面体のサイコロ)
  • 求める条件に合致する組み合わせの面ほど出やすい(最短ルートを考えている場合、時間のかからないルートの面ほど出やすい)

どの組み合わせが求めたいものであるかを知らなくとも、問題設定を知っていれば上記のようなサイコロは作れます。そして、このサイコロを一回振れば、それだけで最良の組み合わせを得られる可能性があります。とはいえ、別の組み合わせが出てきてしまう可能性も否定できません。そこで、サイコロを何度も振り、最も多く出てきた組み合わせを最良の組み合わせと考えます。量子コンピュータの場合、サイコロを何度も振る手間はかかりますが、膨大な数の組み合わせを全て計算することに比べたら遥かに低い計算コストで問題を解くことができます。

また、量子コンピュータは間違えることもあるという欠点を抱えていますが、間違いを自動的に修正してくれるような量子コンピュータの開発も進められています。ただし、間違いの修正には非常に多くのサイコロが必要となるため、実用レベルのものはまだ開発されていません。

今回は量子コンピュータが有効な例として「組合せ最適化問題」を挙げましたが、他にも応用例はあり、今流行りの機械学習への適用も期待されています。とはいえ、まだまだ量子コンピュータは研究開発段階であり、実用化段階には至っていません。多くの人にとって身近な存在となるまでにはもう少し時間がかかるでしょう。


終わりに

いかがだったでしょうか。量子コンピュータは次世代のコンピュータですが、何でも出来るスーパーコンピュータではない、ということだけでも覚えて頂ければ幸いです。

ここまで読んで頂き、ありがとうございました。


近藤