今回から量子コンピュータ関連のシリーズを連載していきます。
このシリーズでは数回にわたって、量子コンピュータの基礎的な部分や美味しい部分を解説していきます。
来る量子コンピュータ時代に向けて私と一緒に勉強していきましょう。
初回となる今回は量子コンピュータの概要や量子論の世界観について導入することから始めます。
量子コンピュータはその名の通り量子論の原理に則ったコンピュータですから、まず量子論について概観することから始めましょう。
量子論の世界観
今からおよそ100年前、科学史上の大革命が起こりました。
「量子論」の誕生です。
量子論の何が革命的であったかと言うと、自然の非「実在性」を説明できることです。
我々は普段「系が持つ量は観測によらず一定である」という世界観で生きていますが、現実にはそうでなく「系が持つ量の一部は観測により変化し得る」ということが実験により判っています。
サイコロで例えると、前者は「サイコロをどの角度から見た所で、振り直しでもしない限り出目は変わらない」という世界観で、後者は「出目を見た後、別の面の目を見てからもう一度元の面を見ると出目が変わっている可能性がある」という世界観です。
この前者の「系が持つ量は観測によらず一定である」という性質を「実在性」と言い、この性質が成り立っていないことを「実在性が破れている」と表現します。
サイコロの例で見ると実在性の破れた世界観がどれだけ奇妙かわかるでしょう。
量子論はこの非「実在性」を確率を用いることで理論に落とし込みました。
さて、このように自然には非「実在性」があると判った所で、Feynman(ファインマン)さんは言いました。「非実在的な自然の振る舞いを効率的にシミュレートするには、量子力学の原理に基づくコンピュータが必要である」と。1982年のことです。
量子コンピュータの誕生
前の節で見たように自然の量子的な現象をシミュレートするために量子論の原理に基づくコンピュータ、すなわち「量子コンピュータ」という概念が生み出された訳ですが、ここから、量子コンピュータを用いることで一般的な計算をもより効率化できるのではないかというアイデアが生まれました。
ただアイデアとしては面白かったものの、そのようなコンピュータをどのように構築するのか、量子効果を利用してどのように計算を高速化するのかといったことが具体的な形になるにはしばしの時間が必要でした。
転機が訪れたのは1994年、Shor(ショア)が因数分解を多項式時間で行うアルゴリズム、いわゆる「Shorのアルゴリズム」を発表した時です。
この発見を機に量子コンピュータ界隈は俄かに活気づき、今や社会現象をも引き起こすセンセーショナルな一大分野となりました。
量子コンピュータの計算能力
先にも述べた通り量子論は「確率(確率密度関数、確率質量関数)」を使う理論です。
一般に関数は持っている情報が大きく、このことが量子コンピュータの甚だしい計算能力に関わっています。
というのも関数というのはベクトルで、複数の情報を同時に持っているからです。
そしてベクトルが複数集まると、それらが全体として作る空間はベクトルの次元に応じて指数的に大きくなっていきます。
感覚としては、例えば数直線上を\( 1,2, \cdots ,10 \)の範囲で動ける物体を想像してください。ここで数直線を一本増やすと、物体が動ける範囲は\( (1,1),(1,2),(2,1), \cdots ,(10,10) \)となって、\( 10 \)パターンしか取れなかったものが\( 100 \)パターン取れるようになります。更に数直線をもう一本増やせば……という具合です。
量子コンピュータの中で実際に働いているのは光子とか電子とかそういったものですが、それらが取る状態はベクトルで表されるので、それらの数を増やすことで量子コンピュータが全体として扱える情報は指数的に大きくなります。
このことが量子コンピュータが持つ(と期待される)甚だしい計算能力の所以です。
ただここには量子論の原理的な問題があって、その情報をそのまま出力することはできないのです。
量子コンピュータから情報を出力するというのは、量子コンピュータが持っている量子系を観測するということなのですが、量子系を観測すると莫大な状態空間の中のある状態のみが確率的に得られます。
つまり量子コンピュータの出力する情報から状態空間全体の持っている情報を手に入れようとすると、その分観測をしなければならず、結果として期待されるほどの計算能力は得られないのです。
しかし勿論この状況に甘んじているほど人類も素直でなく、欲しい状態が観測される確率を上げる量子探索アルゴリズムが提案されるなどしています。
このように量子コンピュータの計算加速能力を十分に引き出すためのアルゴリズムが科学者達によって次々と提案されているのです。
量子コンピュータの現状
このシリーズでは量子コンピュータのソフト面についての解説のみを行うつもりなのでハード面については触れません。
ただ量子コンピュータが現状(2023/12/17現在)どのくらい実現されているのかを知っておくのは、余計な期待を打ち砕くという意味で重要だと思うので、少しだけ触れておこうと思います。
量子コンピュータは現状少ない個数の量子系についてのみ実現しています。
それもノイズまみれで、まともな計算に耐え得るような代物ではありません。
大規模な計算をまともに行えるようになるまではあと数十年は待たないといけないでしょう。
しかしそれまでただ手を拱いている訳にもいかないので、科学者たちはノイズのある小・中規模の量子コンピュータでも実行できるアルゴリズムを提案したり、そのようなアルゴリズムを適用できる問題を探してきたりしています。
このようなものであれば実用化はそれほど遠くないと予想されています。
実際小規模のものであればクラウド上で実機にアクセスして遊ぶこともできます。
このシリーズでも、もしかしたら実機を使って実験するかもしれません。
結局のところ量子コンピュータの実現は楽観的に期待できるほど近くはないけれど、絶望的なほど遠いものでもないといったところでしょうか。
今後の予定
第1回:今回
第2回:一体系の量子論の解説
第3回:一つの系に作用する量子ゲートの実装
第4回:二体系の量子論の解説
第5回:二つの系に作用する量子ゲートの実装
第6回:有名アルゴリズムの紹介
(第7回:量子アルゴリズムで適当な問題を解いてみる)
こんな感じで進めることを予定していますが、見切り発車でやっているのでシレっと変わる可能性があります。ご容赦ください。
取り敢えず次回は量子コンピュータを学ぶための下準備として、特に一体系の量子論の解説をしたいと思います。
量子コンピュータのための量子論基礎【一体系篇】
こんにちは皆さん、量子コンピュータシリーズ第2弾です。 前回は量子コンピュータの概要について見ました。 今回の記事では、より詳しく量子コンピュータを理解するために必要な最小限の数学と量子論を学んでいこ ...
続きを見る
参考文献
・堀田昌寛. "入門 現代の量子力学 量子情報・量子測定を中心として". 講談社サイエンティフィク, 2021, 第4刷
・Rieffel, E. & Polak, W. "An introduction to Quantum Computing for Non-Physicists". ACM Computing Surveys, Vol. 32, No. 3, September 2000, pp. 300 - 335