メインコンテンツへスキップ

量子コンピューティングの基礎

学習目標

このモジュールを終えると、以下のことができるようになります。

  • 量子コンピューティングと古典的コンピューティングの違いを説明できる
  • 量子ビット(qubit)とビット(bit)の違いを説明できる
  • 量子コンピューティングの基本概念を説明できる
  • 量子ゲート、量子回路、量子コンピューターの違いを理解できる

量子コンピューティングとは何か——そして何ではないか

量子計算は古典的なコンピューターで実現できるのでしょうか?量子コンピューティングはAIの一形態に過ぎないのでしょうか?IBM Quantumの副社長であるKatie Pizzolato氏が、60秒で量子コンピューティングに関するいくつかの誤解を解き明かします。

問題を見る新しい視点

量子コンピューティングには、あなたの組織や業界への応用可能性を理解するうえで役立つ、独自のコンセプトがいくつかあります。すべてのコンピューティングシステムは、情報を保存・操作する基本的な能力に依存しています。従来のコンピューターはビット(0と1)で情報を保存しますが、量子コンピューターは**量子ビット(qubit、キュービットと発音します)**を使います。量子コンピューターは自然界に存在する量子力学の法則を活用しており、従来の情報処理とは根本的に異なります。

量子コンピューティングが従来のコンピューティングとまったく異なる理由を理解するための比喩を紹介します。カラーフィルムが登場する前後の写真術を思い浮かべてみてください。

たとえば、チューリップ畑の白黒写真と、赤いチューリップと黄色いチューリップが咲く畑のカラー写真を比較してみましょう。

a black-and-white photograph of a field of tulips and a color photograph of red tulips and a yellow tulip in a field

写真がグレースケールに限られていた時代にも、色という物理現象は存在していました。しかし「赤と黄色を入れ替えられるか?」という問いは完全に無意味であり、そのような試みも同様でした。

カラーフィルムが発明されると、写真家たちは色の物理学を操作できるようになり、芸術的・技術的な選択肢が爆発的に広がりました。

量子コンピューターが今や実在するのは、私たちがずっと世界に存在してきたもの——量子現象である重ね合わせ、エンタングルメント、干渉——を制御する方法をようやく解明したからです。これらの新しい要素は、アルゴリズムに設計できることの可能性を広げます。量子コンピューターは問題を見る新しい視点を提供し、古典的なコンピューターには見えなかった解決策を明らかにすることができます。

カラーフィルム登場後に以前の写真が「白黒写真」と呼ばれるようになったように、量子コンピューティング以前のコンピューティングにも新しい名前が必要になりました。量子コンピューティング以前のコンピューティングを指す最も一般的な用語が**古典的コンピューティング(classical computing)**です。科学者たちがすでに「古典物理学」や「量子物理学」と呼び分けていたのと同様に、「古典的」と「量子」という言葉が「コンピューティング」を修飾するようになりました。

量子コンピューティングが古典的コンピューティングと異なる点

今日のコンピューターは、アラン・チューリングとジョン・フォン・ノイマンの研究に端を発する古典的計算モデルを使って計算や情報処理を行います。このモデルでは、すべての情報は0か1の値を取るビットに還元でき、すべての処理は1または2ビットに対して作用する単純な論理ゲート(AND、OR、NOT、NAND)によって実行できます。計算のどの時点においても、古典的コンピューターの状態はすべてのビットの状態によって完全に決まります。したがって、n ビットのコンピューターは 00...0(n 個のゼロの列)から 11...1(n 個の1の列)まで、2n2^n 通りの可能な状態のいずれかに存在します。

一方、量子計算モデルの威力は、はるかに豊富な状態の多様性にあります。量子コンピューターにもビットはありますが、0と1の代わりに、量子ビット(qubit)は0、1、またはその両方の組み合わせを表すことができます。これが**重ね合わせ(superposition)**と呼ばれる性質です。これだけでは特別なことではありません。ビットが0と1の中間値を取れるコンピューターはアナログコンピューターに過ぎず、通常のデジタルコンピューターよりわずかしか強力ではないからです。しかし、量子コンピューターは指数関数的に多くの論理状態を同時に実現できる特別な種類の重ね合わせを活用します。これは強力な能力であり、古典的なコンピューターには実現できません。これらの量子重ね合わせの大部分、特に量子計算に最も有用なものは、エンタングル(もつれ)状態にあります——個々の量子ビットのデジタルまたはアナログ状態の割り当てに対応しない、コンピューター全体の状態です。

量子コンピューティングを理解する難しさは複雑な数学にあると思われがちですが、数学的には量子の概念は高校代数より少し複雑な程度に過ぎません。量子物理学が難しいのは、シンプルでありながら直感に反するアイデアを内面化する必要があるからです。

量子コンピューティングの基本概念についてより直感的に理解するには、IBMリサーチのTalia Gershon氏(ハイブリッドクラウドインフラ担当ディレクター)による動画をご覧ください。Gershon氏は、WIRED誌のために、子ども、10代、大学生、大学院生、そして専門家という5つのレベルで量子コンピューティングを説明しています。06:17あたりまでをご覧ください(全体を見ていただいても構いません)。

理解度チェック

以下の問いを読んで答えを考え、三角形をクリックして解答を確認してください。

正しいか誤りか:量子コンピューティングの概念を理解できるのは、数学や物理学の高度な学位を持つ人だけである。

誤りです。量子の概念は高校代数より少し複雑な程度であり、思われているよりもはるかに身近なものです。難しさは複雑な数式ではなく、直感に反する性質にあります。

量子情報の原理

量子ビット(Qubits)

以下の動画では、IBMリサーチのディレクターであるDarío Gil氏が、古典情報の基本単位(ビット)と量子情報の基本単位(量子ビット)を対比して説明しています。量子コンピューティングの3つの基本原理——重ね合わせ、エンタングルメント、干渉——を視覚的に理解できるようガイドします。これらの性質を活かすことで、世界最大のスーパーコンピューターでも手の届かないビジネス上の問題を解決する量子アルゴリズムを開発できます。

重ね合わせ(Superposition)

重ね合わせとは、2つ以上の状態の重み付き和または差のことです。この状態の混合は、コインを投げている最中に表と裏が同時に存在するようなもので、直感的に理解しにくいことが多いです。ただし、もっと想像しやすい例もあります。たとえば、ギターでいくつかの音のコードを弾いたとき、空気の振動は1つの音だけでなくすべての音に対応します。空気はコードのすべての音に対応する周波数の組み合わせで振動しています。「重み付き和または差」とは、バイオリンが弦楽四重奏の他の楽器より大きく演奏されるように、重ね合わせのいくつかの部分がより目立って表現されることを意味します。通常の(古典的な)重ね合わせは、波を含むマクロ現象でよく見られます。したがって、重ね合わせは実はなじみのある概念かもしれません。

量子の世界に特有の奇妙な点は、重ね合わせ状態にある系を測定すると、系が純粋な状態の1つだけに崩壊することです。音楽的な類推で言えば、複数の音のコードを弾いて空気中に広がるのを耳で聞いた(測定した)とき、演奏された複数の音のうちの1つしか聞こえないということになります。このようなことはマクロな世界には存在しません。

重ね合わせによって量子コンピューターは古典的コンピューターとどう違うのか

n 量子ビットのシステムは、2n2^n 通りの可能な状態のいずれかに測定されます。これは古典的なコンピューターのビットでも、n 個の2値の結果のどんな集合でも同様です。これを説明するために、「表」(H)と「裏」(T)の2面を持つ n 枚の区別可能なコインを投げたときの、すべての可能な結果を考えてみましょう。

コインを1枚投げると、2つの可能な状態があります:HまたはT。

コインを2枚投げると、4つの可能な状態があります:HH、HT、TH、TT。

3枚では、8つの状態があります:HHH、HHT、HTH、HTT、THH、THT、TTH、TTT。

このパターンは続きます。コインを1枚追加するたびに、可能な結果の数は2倍になります。したがって、n 個の2値変数からなるシステムの結果の数は 2n2^n です。

これが古典的コンピューターと量子コンピューターの両方に当てはまるなら、量子コンピューターの何が特別なのでしょうか?答えは重ね合わせです。古典的コンピューターも量子コンピューターも、2n2^n 通りの可能な状態の空間にアクセスできます。しかし、古典的コンピューターは一度に1つの状態にしかなれませんが、量子コンピューターはこれらすべての状態の重ね合わせに__同時に__存在できます。

より具体的に言うと、ある工業プロセスに関連する最小コスト C を探しているとします。このプロセスは多くの入力変数(xix_i と表します)に依存しています。ここでは一般化できますが、これらの変数は2値であると仮定します。古典的なコンピューターでは、可能な xix_i の選択ごとにコスト C(xi)C(x_i) を計算する必要があります。つまり、0000...00、000...01、000...10などを順番に代入して、すべての可能な入力を網羅しなければなりません。量子コンピューターはこれらすべての状態の重ね合わせに存在できるため、すべての可能な入力状態に対して同時に演算を実行できます。

あまりにも良い話に聞こえるかもしれませんが、1つ複雑な点があります。量子システムを測定すると、全空間からすべての結果ではなく1つの結果しか得られないことを思い出してください。そのため、最適な解(最低コストや最速の応答など)が測定される結果になるようなアルゴリズムを設計することが課題となります。言い換えれば、量子コンピューターはすべての可能な解を返すのではなく、多くの解の空間を同時に探索し(アルゴリズムが機能する場合)最適な解を高い確率で返します。非常に大きな解空間や計算コストの高いステップを含む問題では、この違いがゲームチェンジャーになる可能性があります。

古典的確率と量子確率

計算の最後にどの量子状態が測定されるかは確率的です。上述の重みは異なる状態が測定される確率に対応します。技術的な注意点として、確率は正(またはゼロ)でなければなりませんが、重ね合わせの重みは正、負、あるいは複素数にもなれます。確率は重みの絶対値の2乗です:Pi=wi2P_i = |w_i|^2確率という言葉が古典的文脈と量子的文脈で異なる意味で使われることがある点に注意が必要です。たとえば、n 枚のコインをすでに投げたが結果を見ていない場合、あなたの知る限りでは各コインは表か裏かもしれません。これを 2n2^n 状態の確率的混合と呼ぶかもしれません。しかし実際には、コインの集合は可能な状態の1つにしかありません——どの状態かを知らないだけです。量子コンピューターはそうではありません。量子コンピューターは 2n2^n 個の異なる論理状態の重ね合わせに対応するデータを同時に保持できます。このため、量子の重ね合わせは古典的な確率論よりも強力です。データを重ね合わせ状態で保持できる量子コンピューターは、既知の任意の古典的アルゴリズムよりも指数関数的に速く一部の問題を解くことができます。

詳細については、古典的ランダム性と量子ランダム性に関するYouTubeのIBMリサーチ動画をご覧ください。

エンタングルメント(Entanglement)

2人の友人が、ほぼ透明な非常に薄いスカーフを2枚持っているとします。1枚は赤、もう1枚は青です。友人たちがスカーフを重ね合わせると、一緒に紫色に見えます。友人たちがこの2枚のスカーフを間に張って持っているとき、2人が紫色のものを持っているという状態は確かです。しかし、もし離れたとすると、どちらが青いスカーフを持ち、どちらが赤いスカーフを持つかはわかりません。量子エンタングルメントはこれに似ています。システム全体の状態は分かっている性質を持ちます(2枚のスカーフの合わさった色のように)が、個々の部分は明確な性質を持ちません(それぞれの友人は、はっきりした色のスカーフを持っていないように)。この比喩は不完全です。各友人はあらかじめ1枚のスカーフをより強く握るか、2人が離れるときにどちらかのスカーフを離すかを決めることができるからです。量子システムでは、部分の性質は測定が行われるまで本当に未定義です。

干渉(Interference)

干渉は、位相が逆の状態が互いを増幅または打ち消し合う量子システムの性質です。干渉を理解するひとつの方法は、サングラスの偏光レンズの仕組みを考えることです。2枚の偏光レンズを重ねて一方を回転させ始めると、より多くまたは少ない光が遮られるにつれて、建設的干渉と破壊的干渉の両方が現れます。

干渉の仕組みについてより直感的に理解するには、この動画の7:40から8:24をご覧ください。

理解度チェック

以下の問いを読んで答えを考え、三角形をクリックして解答を確認してください。

量子物理学には直感に反するアイデアが含まれています。たとえば: (a) 確定した状態にある物理系がランダムに振る舞うことがある。 (b) 互いに影響を与え合えないほど離れた2つの系が、何らかの形で強く相関している。 (c) 状態を構成する量子ビットの独立した成分の積として記述できない量子システムの状態が存在しうる。 (d) 上記すべて

正解は「上記すべて」です。最初のアイデアは量子ビットの確率的な性質に関係しています。残りの2つのアイデアはエンタングル状態において生じます。

量子回路

量子回路のビジネス価値

量子回路は、複雑な問題を解くために重ね合わせ、エンタングルメント、干渉を活用できるよう量子ビットを操作する命令のセットです。以下の動画で、古典的回路と量子回路の比較と、量子回路があなたのビジネスにもたらす価値をご覧ください。

理解度チェック

以下の問いを読んで答えを考え、三角形をクリックして解答を確認してください。

正しいか誤りか:量子回路は物理的なデバイスではない。

正しいです。量子回路は量子アルゴリズムを構成する命令セットの抽象的な表現です。IBM Composer のようなビジュアルツールや Qiskit のようなプログラミング言語を使って量子回路を構築できます。

量子回路のプログラミング

量子コンピューターをプログラムするには何が必要でしょうか?答えはQiskitです!この言葉の発音とその他の特徴について、以下の動画でご確認ください。

まとめ

以下の重要なポイントを覚えておいてください。

  • 古典的なコンピューターでは解けない計算上の難問がまだ存在します。
  • 量子コンピューターは、アルゴリズムに設計できることの可能性を広げます。
  • 量子ビットは量子情報の基本単位です。
  • 量子の重ね合わせは、古典的な重ね合わせより指数関数的に多くの状態を持てます。
  • 量子の重ね合わせは古典的な確率論より強力ですが、指数関数的な並列処理よりは弱いです。
  • エンタングル状態では、部分が確定していなくても、システム全体は確定した状態にあります。