
関連するソリューション

アプリケーション開発

マネージドサービス(運用・保守)

セキュリティ製品

業務改革
データ・マネージメント・サービス第1部
エバンジェリスト 上坂 明
皆様、はじめまして。
エバンジェリストの上坂と申します。
今回こちらのコラムへ初投稿となります。
よろしくお願いします。
新型コロナウィルスのニュースに隠れがちですが、量子コンピュータに関する話題を耳にすることが多くなってきました。ビジネス適用はまだまだ先となりそうですが、今回は「そもそも量子コンピュータとは何か」をテーマにお話させて頂きたいと思います。
■量子コンピュータの「量子」とは
量子コンピュータの「量子」とは、物理学の一つである量子力学の「量子」を指します。
詳しい論理はご説明しませんが、原子・電子などの非常に小さい物質の動きを説明する為の論理となります。量子コンピュータはこの「量子が持つ特徴を利用して、高速な計算を行うことを目的とした」コンピュータとなります。
量子が持つ特徴と言われても良く分からないと思いますが、例えば私たちが利用しているコンピュータは全てビット単位の情報でデータを処理しています。
1ビットで扱える情報は「 0 」と「 1 」の 2 通り、 2 ビットでは「 00 、 01 、 10 、 11 」の 4 通りの情報が扱え、ビット数が増えるごとに2のビット乗通りの情報が取り扱えます。 (8 ビットであれば 2 の8乗 (256) 通り )
例えば「 01 」を 10 進数変換する処理にかけると、必ず「 1 」という結果が得られます。これは何万回計算を繰り返しても同じ結果となるため、「 1 つの情報を持つ」という特徴があると言えます。
量子コンピュータは、量子ビットと呼ばれる表現可能な状態全ての情報を持つ、「重ね合わせの状態」と呼ばれる特殊な状態で情報を扱う為、「 01 」という情報を与えられた場合、答えは「 1 」ではなく、「0、1、2、3」とそのビット数で表現可能ないずれかの答えが返ってきます。(厳密には確率振幅と呼ばれる出現率に従います)
そのため、全く同じ操作を繰り返した場合でも「 0 」や「 3 」など、 4 通りいずれかの答えとなるため、「 4 つの情報を持つ」という特徴があります。
この複数の情報を同時に持てるということが「量子が持つ特徴」となります。
■古典ビットと量子ビット
もう一つ重要な特性として量子ビットの性質についてご説明します。
私たちが利用しているコンピュータは古典物理学に基づく古典計算で計算を行うため、古典コンピュータと呼ばれ、古典ビット (0 、 1) を情報の最小単位として扱います。これに対し、量子力学に基づく量子計算で計算を行う量子コンピュータは、量子ビット( |0 〉、 |1 〉)(を最小単位として扱います。
古典ビットは 0 か1の状態があらかじめ決まっており、いずれかの状態となります。
量子ビットは 0 でも1でもない、あいまいな「重ね併せ状態」を取ります。また波の性質(振幅と位相) *1 を持ち、常にビットの状態が変化し続けています。変化のイメージとしては地球の周りをジグザグに漂う人工衛星のような動きと考えれば分かりやすいと思います。詳しくは
下段リンク先をご参照ください。
イメージ図(矢印はビットの状態を表します)
※1 外部リンク:高等学校物理 / 物理Ⅰ / 物理Ⅱ / 波 / 波の性質
■量子ビットの測定
前述の通り、 0 でも 1 でもない状態を取る量子ビットは、このまま値が分かりません。そこで量子ビットがどちらの状態であるかを測定 ( ※ ) するという工程が必要となります。
※測定には様々な方法がありますが、本説明は 0 か 1 かを測定する Z 軸測定を指します。
Z軸測定は0と1を通る結ぶ軸に垂直な光を当てることで、矢印の影を観測する測定方法です。
測定の結果、影の位置が 0 に近ければ 0 が出る確率が高く、逆の場合は 1 が出る確率が高くなります。さらに測定された量子ビットは0か1の状態に瞬時に変化し、以後波の性質は失われ、状態が変化しない粒子の性質(確定した状態)に変化します。
測定は量子の性質を変化させる重要な工程であるため、演算途中に測定を行うことは出来ません。古典コンピュータであれば演算途中にメモリから情報を見たとしても、答えは変化することなく一定ですが、量子コンピュータでは演算結果が意図しない結果となる原因となります。
こうして得られた測定結果を古典コンピュータで読み取れる形に変換し、演算結果を得ます。
■量子コンピュータの種類
量子コンピュータは上記の量子ビットを利用し、同時に多数の状態を表すことが出来ます。
例えば、
4
量子ビットのコンピュータの場合、
|0000
〉~
|1111
〉までの
16
通りの値を同時に扱うことが可能なため、
16
通りの同時インプットをもとに並列演算を実行することが出来ます。
これをうまく利用するアルゴリズムを実装し、並列計算を行うことで古典コンピュータが解くことが難しい問題(=現実的な時間で解ける計算量ではない問題)を高速で計算することを目的に開発が進められています。
尚、古典コンピュータで解くことが難しい問題全てを量子コンピュータで解けるというわけではありません。その問題に対応出来る「有用な量子アルゴリズム」が見つかっていない問題は、量子コンピュータでも高速化はできません。
さて、そんな量子コンピュータですが、以下の
3
種に分別出来ます。
1.万能量子コンピュータ
2.エラー耐性無し量子コンピュータ
3.量子アニーリングコンピュータ
1と2は、古典コンピュータで論理回路( AND ・ OR ・ NOT ゲートを組み合わせてビット操作行う回路)に相当する、量子回路を使用し計算を行うことが可能なコンピュータです。
1と2の違いはエラー訂正機能を有しているかの違いで、万能量子コンピュータはあらゆる量子アルゴリズムを実行できる可能性を秘めています。また、可能性という表現の通り現在の技術では実用化出来ていません。
尚、エラー訂正機能は古典コンピュータやメディアの読み取りでも当たり前に使用されている機能ですが、量子コンピュータはエラーの訂正のために付与する情報が非常に大きく、 1 量子ビットのエラー訂正に複数の量子ビットが必要となります。現在の技術力では約 50 ~ 100 量子ビットのコンピュータが限界のため、いかにエラー・ノイズ発生を少なくするかの研究が進められています。
ちなみに、素因数分解の高速化が可能で、 RSA 暗号が陳腐化するのではと話題になった「ショアのアルゴリズム *2 」はこの量子回路を利用することが前提かつ、万能量子コンピュータの性能をもって真価を発揮するアルゴリズムです。
現時点で発表されている量子コンピュータの性能では、 20 ~ 40 ビット程度の RSA 暗号を効率よく解ける程度の性能しか出せません。また、 2048 ビットの RSA 暗号を高速に解読するには 1 千万以上の量子ビットに対応した万能量子コンピュータが必要と言われており、今すぐ現在の暗号技術が陳腐化することはありえません。
3の量子アニーリングコンピュータ(量子アニーラとも呼ばれます)は、量子回路を使用せず、数ある組合せの中で最適の答えを求める「組合せ最適解」を高速で解くことを目的に構築・構成されたコンピュータです。これは、機械学習( AI の性能向上)や薬剤の素材最適化などの分野で活躍を期待されています。
この量子アニーリングコンピュータは 2011 年に D-Wave Systems という企業が商用化を行い、現在は Google などの有名企業が研究に参加し、有名となりました。
量子アニーリングコンピュータは量子ビット数の大容量化が比較的容易な半面、量子の持続時間が短い特性を持っています。
D-Wave
社では現在
2000
量子ビット級のコンピュータ
(D-Wave 2000Q) *3
を発表。課題は残るものの、量子の持続時間を延ばす研究も進められており、現在の量子コンピュータでは最も実用化が早いのではと期待されています。
※2
外部リンク:量子コンピュータで因数分解が高速に解ける?〜 ショアのアルゴリズム 〜
*3
外部リンク:
D-WAVE Japan
■量子コンピュータの性能指標
量子コンピュータの性能指標は様々ですが、「量子ビット数」、「量子の持続時間(コヒーレンス時間)」、「エラー率(エラー耐性)」が最も分かりやすい指標となります。
- 各指標の概要 -
・量子ビット数:
量子ビット数が多ければ、扱えるビット数が増え、同時に扱える数がその分増えるため、演算速度が向上します。また、エラー訂正情報を付与するために使用できるビット数が増え、エラー耐性も上昇させることが可能です。単純な比較は出来ませんが、量子回路を使用し、
50
量子ビット以上の精度の高い量子コンピュータは、スパコンとほぼ同等の性能であると言われています。
・量子の持続時間(コヒーレンス時間):
量子の持続時間とは量子ビットの状態をどれだけ持続出来るかの時間となります。
これをコヒーレンス時間と呼び、計算時間がこの時間内に処理が完了しなければ、量子状態が崩れノイズ発生の原因となり、計算精度の低下原因となります。
・エラー率(エラー耐性):
エラー率はその名の通り、計算量に対しどの程度のエラーが発生するかを示したもので、
ちょっとしたノイズやエラーで計算結果が狂う量子コンピュータでは、重要な指標となります。
■量子コンピュータの実装方式について
量子ビットの特性を実際のコンピュータ上で実現するため、様々な実装方式が研究されています。その中で先ほどの
D-Wave2000Q
の実装方式である「超伝導回路」と呼ばれる方式が現在の主流になりつつあります。(今後の研究次第では変わる可能性もあります)
超伝導回路とは、極低温に冷やした金属で作られた電子回路は、量子性を強く示すという特性を利用したもので、絶対零度に近い約 -273.14 度 (0.01k) の低温に近づけた電子回路で演算を行うことで、量子ビット操作を実現させています。冷却には希釈冷却装置 *4 と呼ばれる特殊な装置を使用し冷却するため、大掛かりな設備が必要となります。また、現在の冷却技術ではまだ温度が高く、演算中のノイズ発生原因にとなるという課題もあります。
また、超伝導回路とは異なり、光(光子)を利用した「工学的量子計算」と呼ばれる方式も研究されています。こちらは常温で量子ビットが実現可能となる特性があります。
※4
外部リンク:希釈冷却機
―まとめ-
いかがでしたでしょうか。
今回は量子回路や量子計算の仕組みなど踏み込んだ説明などは割愛させて頂きましたが、量子コンピュータがどのようなものか何となく掴めたのではないかと思います。
(このあたりはまた別の機会でご説明できればと思います)
量子コンピュータは量子ビットを制御する特殊な実装となるため、ハードウェアが非常に高値で一般企業が所持することは現実的ではありません。クラウド上のサービス利用が主な利用形態となることが想定されます。
ちなみに、クラウドサービスとして、
IBM
から「
IBM Q *5
」と呼ばれるお試し版量子コンピュータが公開されています。無料アカウント版では
5
量子ビットのコンピュータしか操作出来ず、機能の制限もありますが、実際に触れて動かすことが可能なため、興味のある方はぜひアクセスしてみて下さい。
最後までお付き合い頂き、ありがとうございました。
また次のエントリーでお会いしましょう。
当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。
エバンジェリストによるコラムやセミナー情報、
IDグループからのお知らせなどをメルマガでお届けしています。