Knowledge/Culture
一覧へ戻る

量子コンピュータはなぜ速いのか?

タグ
  • 技術トレンド

(本稿に先立って「量子コンピュータとは?」をお読みいただくと理解が深まります。)

はじめに

近年、量子コンピュータは「次世代の高速計算機」として世界中で注目されています。高速性が特徴ですが、一体なぜ速いのでしょうか?それは計算原理(仕組み)にあります。
今回は、量子コンピュータの計算原理についてお話ししたいと思います。

量子コンピュータは特定の問題に対して理論的には従来のコンピュータより高速に解けると言われています。しかし、ここで一つ誤解されがちですが、量子コンピュータは必ずしも一つ一つの処理を従来コンピュータと比較して高速に行うわけではありません。量子コンピュータ特有の計算原理により、従来コンピュータにおける計算方法と比べて、 「解にたどり着くための計算のステップ数を大幅に減らす」ことで計算時間の短縮を図るのです。

量子計算の仕組み

従来コンピュータは「ビット」と呼ばれる情報単位で「0、1」の情報を表現し計算を行います。量子コンピュータは「量子ビット」と呼ばれる情報単位で「0、1」の情報を量子ビット(素子)の状態として表現し、以下3つのステップで計算を行います。

【計算ステップ】
① 量子ビットの初期化
情報の最小単位である量子ビットを準備し、初期状態(0や重ね合わせ状態)にします。

② 量子ビットの状態の操作(計算試行)
量子ビットの状態を決められた手順に従い連続的に操作(制御)して、状態を変換させることで計算を行います。決められた手順とは、量子の性質を利用して特定の問題を解くための手順を示した手法やアルゴリズムです。

③ 状態の測定
最終的な量子ビットの状態が計算結果(問題の解)になりますので、その状態を読み出します。

量子コンピュータの計算ステップ・イメージ

量子コンピュータは、量子が持つ性質「重ね合わせ」と「量子もつれ」を利用することで高速計算の実現を目指しています。

量子の「重ね合わせ」は、1つの量子ビットで「0」と「1」の情報を同時に表現することができる性質です。これを利用すると限られたビットで 大量のパターンの情報を同時に表現でき、1回の計算ステップで同時に処理することができます。
例えば、20ビットで表現できる全ての入力パターンを使用して計算する場合、従来コンピュータでは、1回の入力で1つのパターンしか表現できないので、2の20乗=1,048,576回の入力と計算が必要になります。
量子ビットであれば1回の入力(20ビット)を使って、2の20乗=1,048,576パターンの値を同時に表現して計算を行うことができます。更に、 量子もつれを利用すると、相互作用関係を持たせた複数の量子ビット(情報)を同時に操作することができます。

重ね合わせ状態と計算

量子コンピュータは、この2つの量子の性質を利用した計算手法(アルゴリズム)に基づいて計算を行うことで、従来コンピュータの計算処理と比較して計算ステップ数を大幅に減らすことができると期待されております。

ただし、量子コンピュータの計算の仕組みとして考慮すべき点があります。
「重ね合わせ」は、最終的に結果を確認するための「測定」と呼ばれる作業を行うと「0」もしくは「1」の状態に確率的に決まる性質があります。
そのため、「重ね合わせ」を利用した計算により求められる解(候補)は複数ですが、測定を行うことで確率的に一つの解に決まります。アルゴリズムの中で、問題の最適解を得る確率を高くすることはできますが、毎回同じ解になるわけではないので、何度か同じ計算を繰り返すことで解の傾向を把握する必要があります。

各方式の量子計算

量子コンピュータの計算方法には、「量子ゲート方式」と「量子アニーリング方式」の2種類があります。それぞれ計算の仕組みについて説明します。

量子ゲート方式

量子ゲート方式は、計算の前に問題を量子ゲート回路と呼ばれる計算の手順を示した回路図に落とし込む必要があります。この回路において、量子ビットをどのような操作や変換を行うかを示したものを「量子ゲート」と呼びます。計算の手順を示す「量子アルゴリズム」に基づいて、量子ゲートを適切に組合せ、配置して量子ゲートの羅列(量子回路)を作成します。
量子コンピュータは、この量子回路に従って量子ビットの状態を操作し、最後に量子ビットの状態を測定して計算結果として読み出します。

量子ゲート方式

量子ゲート方式は、高速計算を実現するには量子回路を作成する時の量子アルゴリズムが重要になります。そのため、量子ビットの実現方法だけでなく、量子アルゴリズムの研究も世界中で行われています。代表的な量子アルゴリズムとして、データを効率的に探索できる「グローバーのアルゴリズム」がありますが、このアルゴリズムを使うと例えば従来の方法で1億回の計算量が必要な探索を理論上は1万回に減らすことができます。

量子アニーリング方式

量子アニーリング方式は、組み合わせ最適化問題を解くことに特化した方式です。組み合わせ最適化問題とは、「様々な制約条件の下で数ある選択肢の中から何らかの観点で最適な選択を決定する」問題です。代表的な問題例として、物流分野でコストや距離等が少なくなるような最適な経路探索や勤務条件や個人スキル等に基づいた適切な人員配置などの問題があります。
事前の準備(設計)として、解きたい問題を下記のような形式(数式)に変換(定義)します。

この変換は解きたい問題を「数式が最小になるような変数の組み合わせ(解)を求める問題」として置き換えることを意味します。変数を量子ビットに割り当て、係数の情報を量子コンピュータに与えることで、この数式の値が小さくなる条件を満たす変数の組み合わせを計算で求めます。計算は以下のステップで行われます。

① 初期化
量子ビットに磁場(電磁波)を加えて、全ての解候補を表現した重ね合わせ状態にします。
この時、量子ビット間の相互作用は弱く、各量子ビットの状態も0か1の定まらない状態です。相互作用とは、量子ビット間で互いの状態に対して影響を及ぼし合う力で、数式における係数に相当します。

② 量子アニーリング操作(計算試行)
磁場を徐々に弱めるのと同時に量子ビット間の相互作用を強める操作を行うことで、各量子ビットは重ね合わせ状態から0か1に決定された状態に変化します。
量子ビットの状態は、量子ビット間の相互作用により数式の値が小さくなるような状態に変化していきます。

③ 測定
最終的には、量子ビットは0か1に確定した状態になるので、その状態を測定します。

量子アニーリング方式・計算イメージ

このように量子アニーリング方式では、 全ての解の候補を同時に表現し、そこから解を絞り込むことで高速計算の実現を目指しています。

さいごに

量子コンピュータは、量子の性質を利用した計算方法・アルゴリズムにより、解にたどり着くための計算のステップ数を減らすことで計算時間の短縮を図ります。従来のコンピュータと計算の仕組みが異なり、解ける問題も限定されます。
しかし、量子コンピュータを上手く活用すれば現実的な時間で解けなかった問題が解けるようになり、時間的コスト低減や作業効率化などの面で大きな恩恵をもたらす可能性があります。三井情報ではその可能性に向けて、量子コンピュータの活用シーンの検討および技術検証を実施しております。

【掲載内容に関するお詫びと訂正(2021/06/02)】
本コラムの掲載内容に誤りがございましたのでお詫びして訂正いたします。
『各方式の量子計算』の章内、QUBO形式の以下の部分
(誤)変数:q=0 or 1、係数Q
(正)変数:x=0 or 1、係数:Q

関連ページ

おすすめコラム:
量子コンピュータとは?

「でぶろく」のご案内:
三井情報のR&D部メンバーが中心となり開催している勉強会です。量子コンピュータ、マシーンラーニングなどの新しい技術について初心者向けに解説します。開催予定、お申し込みは以下よりご確認ください。
でぶろく

執筆者

大貫 真
R&D部 研究開発室

現在、量子コンピュータ、分析技術に関する研究開発に従事

コラム本文内に記載されている社名・商品名は、各社の商標または登録商標です。 本文および図表中では商標マークは明記していない場合があります。 当社の公式な発表・見解の発信は、当社ウェブサイト、プレスリリースなどで行っており、当社又は当社社員が本コラムで発信する情報は必ずしも当社の公式発表及び見解を表すものではありません。 また、本コラムのすべての内容は作成日時点でのものであり、予告なく変更される場合があります。

Downloads

製品・サービス / 事例等の
各種資料はこちら。

Contact

三井情報への各種お問い合わせはこちら。