量子コンピュータって何?(初心者向け)(1)

量子コンピュータ

はじめに

量子コンピュータを学習する前に「量子コンピュータ」とは一体何なのか?、どういうことができるのか?、をまとめます。あまり深く入り込まず、短時間で概略をつかめるようにしています。

現在、世の中で利用されている通常のPCやスマホで動いているコンピュータの方式は、量子コンピュータ界隈で「古典コンピュータ」と呼ばれています。区別のためです。
それくらい「量子コンピュータ」は全く異なる考え方で設計されているということですね。

量子コンピュータとは?

量子コンピュータにも、大別して二種類の方式があります。
量子アニーリング方式(量子イジングモデル方式ともいいます)と量子ゲート方式です。

両方とも、量子ビットの物理性質を利用しています。
量子ビットの性質としては、下のものがあります。

  1. 量子重ね合わせ(0と1の両方の状態を持つ状態)
  2. 量子もつれ(ある量子ビットの状態が、他の量子ビットの状態に依存する状態)
  3. 量子トンネル(古典力学では状態遷移できない、ある状態から他の状態への遷移ができる)

上記の性質については、私もぼんやりと理解しているのみです。

古典コンピュータに慣れている人が最もとっつきにくいのは、量子重ね合わせだと思います。量子ビット1個は、0と1の両方の可能性があり、それぞれの確率を足し合わせすると、1になるという性質があります。
量子ビットは、上記の確率の他、「位相」というパラメータを持っています。ここでは、深くは触れません。本気で理解するならば、数式の嵐に飛び込むことになります。

量子アニーリング方式とはどんなもの?

古典コンピュータ的な私の理解では、「アナログ型量子コンピュータ」となっています。
D-Wave社により、すでに商用機が販売されています。

セールスマン巡回問題などの組み合わせ最適化問題を解くことができます。セールスマン巡回問題とは、複数拠点をどの順序で訪問していけば、全体コスト(移動時間合計)を最小にすることができるか求めよという問題です。
拠点数が増えていくと組み合わせが増えて計算量が膨大になり、計算時間が長くなります。組み合わせ爆発といいます。

「アニーリング」とは「焼きなまし」という意味です。
古典コンピュータでも、「シミュレーテッドアニーリング」という計算方法があります。
先ほどのセールスマン巡回問題に当てはめると、最初に適当な経路を初期値として設定し、少しずつ経路を変更させていき、徐々に全体コスト(移動時間合計)を最小に近づけていくという計算方法です。

量子アニーリング方式では問題を人間が分析して、イジング式という数式の形にして、その最小値となる時の各変数の値が求める解答となるようにします。ここまでは数学の問題(特に行列計算)を解くような感じです。次のステップで上記イジング式のパラメータを各量子ビットの重み付けや制約パラメータとして、量子コンピュータに設定します。

最後に量子計算実行です。最初に全ての状態の重ね合わせた状態から計算を開始して、徐々に量子重ね合わせの状態を減らします。十分にゆっくりと行うことにより、最後には自然と最適解(移動時間が最小の状態)に近い状態に各ビットの状態が落ち着くという計算方法となります。

ただし、上記は「理論的には」という但し書きがつきます。実際には、様々な外因の影響を受けて誤差が発生します。そのため、D-Waveで計算すると計算毎に得られる結果が異なります。そのため、多数回実行し、そのうちの発生確率が高いものを「最適解に近い解」として扱います。

このような計算方法なので、古典コンピュータのように、汎用的な問題を計算することはできません。
そのため、汎用的な問題を計算できる後述の量子ゲート方式を研究対象の中心にする企業が多いです。

量子アニーリング方式は、セールスマン巡回問題のような組み合わせ最適化問題など、特定の問題にのみ利用可能。

量子ゲート方式とはどんなもの?

量子ゲート方式は汎用的な問題を解くことができます。

複数の量子ビットに対して色々な変換操作(量子ゲート操作と呼ばれています)を順番に行い、最終的に得られる量子ビット列の状態が解となります。
私の理解では、量子アニーリング方式が「アナログ型量子コンピュータ」ならば、量子ゲート方式は「デジタル型量子コンピュータ」です。

様々な問題に対して、量子ビットにどのような変換操作を行えば、古典コンピュータを超えた速度で問題を解くことができるのかが研究されており、いくつかのアルゴリズム(量子アルゴリズム)が見つかっています。

特に有名なものを2つ挙げます。量子アルゴリズムを紹介している書籍やWEBページでは必ず紹介されています。これらのアルゴリズムは、量子ゲート方式の量子コンピュータを学ぶ上で基本として勉強しておくと良いと思います。

  1. ショアーのアルゴリズム(素因数分解のアルゴリズム(1994年))
  2. グローバーのアルゴリズム(無秩序に並んだデータ列に対する探索のアルゴリズム(1996年))

IBMのサイトで紹介されているグローバーのアルゴリズムの実行する量子回路(量子ビットへの変換操作を並べたもの)を以下に示します。ここでは詳しく触れませんが、量子ビット2個に対して、各種の操作を表現しています。左端が初期状態で右に進んでいく形式になっています。線の上に置かれているHやXが量子ビットへの変換操作を示しています。

引用)IBMサイト(https://developer.ibm.com/jp/tutorials/cl-quantum-computing/)

これらのアルゴリズムは理論上、古典コンピュータを超える速度で計算することができますが、
十分な数の量子ビットが必要です。現時点では、まだ先の話です。
ただし、各企業が量子ゲート方式の量子コンピュータの研究開発を進めており、年々、扱える量子ビット数は増えています。来るべき時に備えて、各種問題に対する量子アルゴリズムが研究されています。

Quantum Algorithm Zoo というサイトで様々な量子アルゴリズムが紹介されています。
アルゴリズムの概略とその論文へのリンクが並んでいます。
英語サイトなのですが、サイトのサイドバーをよく見ると、日本語訳ページもあります。

量子ゲート方式は、いろんな問題を解くことができるけど、現時点の量子ビット数では古典コンピュータを超えるほどの速度で問題を解くことはできない。
ただし、将来に備えて量子アルゴリズムの研究が進んでいる。

いちばんやさしい量子コンピューターの教本 人気講師が教える世界が注目する最新テクノロジー 「いちばんやさしい教本」シリーズ | 湊雄一郎 | 工学 | Kindleストア | Amazon
Amazonで湊雄一郎のいちばんやさしい量子コンピューターの教本 人気講師が教える世界が注目する最新テクノロジー 「いちばんやさしい教本」シリーズ。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

コメント