今度こそわかる量子コンピューター (今度こそわかるシリーズ)

【最新 – 量子コンピュータについて学ぶためのおすすめ本 – 基礎知識から将来像まで】も確認する

おもしろいほどよくわかる

量子コンピューターはどのような原理でうごいているのか、基本から量子テレポーテーションや量子暗号までわかりやすく解説されています。初学者でも、量子コンピューターを学ぶ上で必要不可欠な量子力学を勉強することができる入門書です。使える知識に落とし込むことができます。

西野 友年 (著)
出版社 : 講談社 (2015/10/24)、出典:出版社HP

まえがき

古典の反対語は何ですか?—この質問へのマトモな答えは、たぶん現代または前衛だろう。まれに「量子です」と自信を持って答える人が居る。それは量子力学を学んだ珍しい人々だ。この文章を読んでいる貴方もまた、そんな一人になろうとしている。

20世紀が幕を開ける頃、原子の世界を支配する法則が、ニュートン以来研究されて来た古典力学ではないことに気づいた「若き物理学者達」がいた。彼らは大胆な思索を巡らせて、今日知られている量子力学の枠組みをひとまず完成させた。自然の仕組みを支配する根本原理が量子力学であるならば、日常的に目にするもの全てに、その支配が及んでいるはずだ。このような考えの下、原子や分子を扱う量子化学、超伝導体などを説明する量子物性、そして物質の由来を探る量子宇宙論など、いろいろな分野へと量子論の活躍が広がって行った。時が流れて20世紀も後半になる頃、

・量子力学を基本にして、コンピューターを考え直してみよう

という試みが始まった。量子コンピューターの幕開けである。はじめの内は、理論的な「思考実験」を中心に研究が発展した。実験的、そして工学的な実証は実にゆっくりとしていて、何十年か経た現在でも、実用になる量子コンピューターが完成したとは言い難い状況だ。量子力学そのものの「情報工学的な使い方」は、なかなか見えなかったのである。しかし、この逆境に挑戦し続ける「若きオタク研究者達」が次々と現れ、あきらめることなく工夫と推論を重ねて来た。その結果、量子検索や素数判定や暗号破りなど、量子コンピューターならではの画期的な使い道が存在することがわかって来たのだ。そして、量子暗号は、いよいよ実用の域に達しつつある。

さて、量子コンピューターについて手早く学ぼうと思って「薄い本」を探すと、量子力学の知識や「普通の」コンピューター(計算機)の動作原理を前提としていることが多い。かといって、有名な(?!)分厚い教科書を手に取っても、読破する気が起きないかもしれない。このような「やる気と挫折の繰り返し」を重ねて来た人々にも「今度こそ、量子コンピューターを学ぼう!」という意欲が戻って来るような、自習できる本の選択肢を広げたい

——そう考えて、この入門書を執筆することにした。予備知識を可能な限り減らしたので、物理学を専門的に学んだことがない人でも、たぶんこの本を読みこなせるハズだ。量子力学を学んでみたい、学び直したいという方にも、手頃な副読本となるだろう。これから解説して行く乱数の生成や、量子テレポーテーション、そしてエンタングルメントなど、「基本的で新しい概念」をシッカリと納得できれば、量子コンピューターを理解したと公言して全く問題ない。忙しい方ならば、数式のチェックを「とりあえず後回し」にしておいて、まずは文章を中心にザッと拾い読みしてみる、そんな読み方もあるかと思う。

ニュートンらによって大成された古典力学は、産業革命を支え、人々を近代へと導いた。ファラデーやマクスウェル達がまとめた電磁気学は、現代生活に不可欠な電力と情報をもたらしてくれた。これらの革命を引き継ぐものが、量子力学に端を発する量子コンピューターである、そう信じる人に、この冊子を(無料ではないのだけれども!)プレゼントしたい。

2015年
西野友年
浜辺を散歩しつつ波と遊ぶ

西野 友年 (著)
出版社 : 講談社 (2015/10/24)、出典:出版社HP

目次

第0章 予測できない情報?!を共有する
コンピューターは抽選ができない/登場!量子コンピューター/宇宙の彼方で当選番号を知る/当たりクジを探す

第1章 そろばんから原子の世界へ
2進数そろばん/桁数と計算時間/計算機?!を小さくしよう/散歩道:銀原子あれこれ

第2章 q-bitは量子ビット
装置を横倒しにしてみる/乱数発生装置/観測・測定される確率/状態の重ね合わせ/ブロッホ球/q-bit・キュービット・量子ビット

第3章 量子測定
状態の規格化/プラと共役/射影演算子と恒等演算子/測定操作と射影/“傾けた”射影測定/測定して、また測定

第4章 並んだq-bit
直積状態と計算基底/もつれた状態/部分的な測定/右側の測定、全体の測定/測定結果の共有

第5章 量子操作と演算子
時間発展方程式/時刻t0から時刻t1へ/q-bitの操作/X,Y,Z軸まわりの回転/パウリ演算子の交換関係/スピン演算子・パウリ演算子と回転/アダマール変換

第6章 固有値と固有状態
演算子の期待値と、エルミート共役/自己共役な演算子と測定/定常状態

第7章 量子ゲートと量子回路
量子ゲート/ユニタリー・ゲート/乱数発生の回路図/制御Uゲート/C-NOTゲートとToffoliゲート/数学記号の小部屋

第8章 量子テレポーテーション
コピーはできない/電話で状態を送り届ける/手順1-手順4

第9章 密度演算子
純粋状態の密度演算子/密度演算子のトレースと期待値/密度副演算子/純粋状態と混合状態/密度演算子の階層性/シュミット分解

第10章 エンタングルメント
局所的なユニタリー操作/エンタングルメント・エントロピー/複数個のベル状態の共有/面積法則

第11章 誤り訂正符号
bit反転コード/bit反転の検出/他のタイプの雑音

第12章 量子暗号
乱数の共有/BB84/暗号の安全性

第13章 量子検索
量子検索問題/量子検索への第一歩/グローバーの検索アルゴリズム/最適な反復回数

第14章 古典コンピューターの不思議
古典コンピューターという猫

西野 友年 (著)
出版社 : 講談社 (2015/10/24)、出典:出版社HP

第0章 予測できない情報?!を共有する

量子コンピューターはその名前の通り、量子力学が支配する「自然の物理現象」を使って情報を処理する機械、要するに計算機だ。これを使うと、いまの世の中(?!)で広く使われている「普通のコンピューター」、つまり古典コンピューターでは、どう工夫しても真似のできない情報処理が可能になる…場合がある。*1 例えば、与えられた整数が

・素数かどうかを判定すること、素数でなければ因数を求めること

は、桁数が増えるとともに非常に困難になって行く。もし、「そこそこの性能の」量子コンピューターが目の前にあれば、この素数判定は、ずっと素早く行うことができるのだ。

…素数なんて、興味がない?!—確かに、そんな方も多いだろう。では、もう少し「素朴な問題」を例に取って行こうか。量子力学に基づいて作動する量子コンピューターが画期的な機能を持っている事実は、簡単な具体的例を見て行く方が、学び易いものかもしれない。その高い性能を支える秘密は、後に続く章を読んで行くと、段々と理解できるようになるはずだ。
まずはじめに、乱数の発生を通じて、現在使われている「古典コンピューター」と、量子力学に基づいて作動する「量子コンピューター」の作動を、おおまかに観察してみよう。興味深いことに、量子力学的に乱数を発生する場合には、遠く離れた場所でも「同じ乱数を瞬時に共有すること」が可能なのだ。

*1よくある誤解が、「どんな問題でも量子コンピューターは高速に処理できる」という迷文句である。正確には「問題を選ぶならば、量子コンピューターは古典コンピューターより遥かに高速に情報処理できる」と、書くべきである。

<<<コンピューターは抽選ができない>>>
「抽選で○名様に素敵な景品が当たります」と、何桁かの番号が印刷された抽選券(福引券)をもらった経験は、たぶん誰にでもあることだろう。その抽選が、どうやって行われているのか気になって見に行くと、抽選会場の壇上では、綺麗なお姉さん達が壺に手を突っ込んで、番号札を一桁ずつ取り出していた。21世紀の現代に「お姉さんの壺」なのだ。

そんなの、「コンピューターで「乱数」を表示すればいいじゃないか!」

—そう思わないだろうか?ボタンを押すだけで、誰も予測できないランダムな数、つまり「乱数」が1つだけ画面に表示される、そんな仕組みさえ用意してあれば、お姉さん達を呼んでくる必要はないのだ。*2 しかし、コンピューターの基礎を築いたフォン・ノイマンは、次の名文句を遺している。

・ Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin. [John von Neumann]

意訳すると「計算機で乱数を作ろうと試みる者はバチ当たりなヤツだ」と言った感じの文だろうか。普通のコンピューターは、あらかじめプログラムされた通りに動くだけなので、

・誰にも予測のつかない乱数をポンと与えることはできない

のだ。こんなことを聞くと、ついつい反論したくもなる人も現れるだろう。

*2 必要がなくても、やっぱり、お姉さん達を呼んで来てほしい。(←著者の私見です)

「でも、デタラメな数字を次々と表示する画面を見たことありますよ」
……確かに、一見すると予測のつかない数の列を次々と与える、擬似乱数(=乱数もどき)を作り出す計算手順は存在する。参考までに、「擬似乱数発生プログラム」で作った「2進数の乱数」を、並べておこう。(↓本物です)

01110101100000001011 11011001100001010101 00010101101011111101
10111000110100010000 01111110010110010011 10001100100100001111
11101000000101110000 10101000101011110101 11101101110101011010
10000011011110001110 10011000101111111010 01011101010000101000
10110111010101101101 00001101111000000101 01100010111000101110
01110101111101011101 11011010010110110011 00001000100000101011

こんな風に「数」を次々と作り出して、スロットマシンのように適当な所でストップすれば、抽選の当選番号に使えるではないか?!
….これは正しい意見である。しかし、世の中、甘くはない。抽選のために作った、乱数の計算手順を示すプログラムが「流出」したらどうなるだろうか?どんな順番に番号が出力されるか、その秘密が世間にバレかねないわけだ。それくらいなら、まだ良いのだが…

《悪意を知る》
昔も今も、世間は悪意で満ちている—穏便に表現するならば、人々は「自分では気づかない」くらいの、ちょっとした「ズルい心」を常に持っているものだ。プログラムを組むコンピューター技術者(を雇った人)が悪意を持って「不正な細工」をする、そんな危険も潜んでいる。例えば、適当な数字を次々と表示して行くけれども、「一等賞の番号が絶対に出ない」という不正は可能だ。そうしておくと、賞品にかける費用を随分と抑えることができるではないか。あるいは「特定の番号がたびたび表示される」という不正も考えられる。ズルいことが容易にまかり通るのが世の中だ。
(そういえば、著者は福引で二等賞を当てたことがあった。その賞品は「手相占いを受ける権利」なのだ。なんでも、一万円相当だとか…そんなん、インチキやねん…)

<<<登場!量子コンピューター>>>
ここで早速、量子コンピューターに登場してもらおう。次の図は、誰にも予測のつかない数字、つまりホンモノの乱数をひとつ与える「量子コンピューターの回路図」、つまり量子回路図である。*3 パッと眺めてみると…

…独立な回路が縦に並んでいるだけのように見える。事実その通り独立なのだ。当選番号の各桁を、ひとつずつ決定して行くわけだ。このように

・乱数を得るという作業を、それぞれの桁に分ける

という類の「問題の単純化」は、量子コンピューターでも重要なことなのだと覚えておこう。まあ、回路図の読み方は、後でボチボチ説明するとして、大切なことは、次の2点だ。

・回路図が明示されていて、誰の目にも回路の動作は明らか。
・回路を使って得られる数字は、誰も予測することができない。

このように工夫して乱数を作るならば、少しばかしはフォン・ノイマンに答えることができるだろう、「量子計算機で乱数を得ようと試みる者は、信心深いヤツだ」と。どこにも不正が入り込む隙間がないのだ。少し補足すると、回路図の通りの抽選の仕組みが、確かに準備されていることを事前に(又は事後に)「誰でも確かめられる」よう、もう少し工夫する必要がある。

*3 こんな単純なのが量子コンピューターの回路か?と怒られそうだ。でも、「複雑であれば回路である」という決まりなんて無い。

<<<宇宙の彼方で当選番号を知る>>>
福引抽選の話を、もう少し続けよう。抽選会場で決めた当選番号を、アチコチに伝えたい。どれくらい速く、伝えることができるだろうか?ホームページにでも掲載すれば、瞬時に、世界中のどこからでも当選番号を閲覧することができる—と断言すればウソになる。電線を使おうと、電波を使おうと、光ファイバーを使おうと、相対性理論によって明快に説明される通り、光の速さを超えて情報を伝えることはできない。但し、

・いま考えている抽選には、量子力学的な抜け道がある

のである。世界中の幾つかの場所で、本当に瞬時に、当選番号を知ることができるのだ。この仕組みを実現する量子回路を、ひとつ書いておこう。

これは単純に、A抽選会場で決定した番号を、B広報会場へと送り届ける回路だ。より正確に言えば、この回路は

・A会場での抽選結果を、B広報会場でも共有する

—というだけの機能を持ったものだ。B広報会場の人々は、A会場で当選番号が決まった、まさにその瞬間に、その当選番号を手にするのである。念を押しておくと、2つの会場が、どれだけ離れているかは関係ない。この不思議な仕組みも、回路を見ればわかるように、それぞれの桁ごとにAとBで情報を共有しているに過ぎないことがわかる。このような、奇妙な現象が物理的に実現可能である事実は「エンタングルメント」という量子力学的な概念で説明することができる。(→10章)当選番号を送れるのはB会場だけに限ったことではない。C広報会場、D広報会場と、幾つもの会場へと同じ当選番号を「同時に」知らせることも、GHZ状態(→4章)という量子力学的な状態を使えば可能なのだ。
更に、もう少しだけ工夫すると、福引券そのものにも「広報会場と同じ機能」を組み込むことすら可能だ。そんなに速く、福引券に情報を伝えても仕方ないだろう?!と批判されそうだけれども、福引券側にも量子コンピューターの回路の一部を組み込むことによって、「当たり券の偽造を防ぐ」ような事まで可能になってしまうのだ。こんな仕組みは、金券や、更には電子通貨(?? Quantum Charge ?)にも応用できそうではないか。
世の中は、ズルい抜け駆けを狙おうとする者に満ちている。そういう状況の下で不正を防ぎ、正しく人々の権利を守る仕組みを創り上げる、量子コンピューターは社会の役にも立つものなのである。*4

《「同時に」知る?!》
相対性理論について少しでも学んだ経験がある方は、抽選の結果を複数の会場で「同時に」共有すると聞いて、奇妙に思ったかもしれない。同時とか、同時刻という考え方は慣性系を定めた上で初めて意味を持つものだからだ。例えばA会場が地上に、B会場が地球を離れつつある宇宙船の中にあるような場合、それぞれの場所に居る観測者が把握している時間は固有時刻と呼ばれるもので、A会場から見た「同時刻」と、B会場から見た「同時刻」は、一致するものではない。
こういう状況では、最初に抽選の仕組みを作り上げる段階から始まって、実際に抽選を行うまでのプロセスを、注意深く相対論的に扱う必要がある。実際に、後で何度も用いる「量子力学的観測」の結果は、観測者がどんな速度で動いているかによって影響を受けてしまうのだ。こういう「難儀だけれども面白い部分」は、量子コンピューターの教科書では避けて通るのが通例だ。以下では、A会場もB会場も何もかも、静止している、あるいは「同じ慣性系に乗っている」場合のみを取り扱うことにしよう。

*4 という風に「申請書類」に書くと、研究予算が良く当たるらしい。

<<<当たりクジを探す>>>
抽選は、数多の数の中から、ほんの幾つかの数を選ぶという作業だった。抽送に「似て非なるもの」として、クジ引きの話をして、序章の締めくくりとしよう。クジという言葉は御神籤を短縮したもので、神様に当たり外れを決めてもらう—と言われる—ものだ。抽選と同じように、クジでも「数を選びはする」けれども、数を選ぶ(クジを引く人)は「当選番号の決定」には関与しない。次のような状況を想定してみよう。

《クジ引き》
0から9999までの番号から、1つだけ数字xを選んで、
・数字のxは当たりクジでしょうか?どうぞ教えて下さい。
と「神様」に問う。当たりの番号は、1つしかなくて、問われる毎に神様は「アタリかハズレか」をゆっくり答えてくれる。

どうしても、当たりクジが引きたい、そう思ったら、番号を片端から尋ねて行くしかない。*5 こんな地道な作業を、いちいち行うのは面倒臭いものだ。怠け者であれば、上の「神様…」という問いかけ文をコンピューターでも使って自動再生することを思いつくだろう。*6 当たりを探すには、何回問いかければ良いだろうか?

・運が良ければ最初の問いかけでアタリが出るだろうし、とことん運が悪ければ9999回目にアタリ番号を知る。

—10000回目にアタリ番号を知ることは絶対にない。アタリは1つしかないので、9999回の問いかけ全てがハズレであれば、問いかけていない唯一の番号がアタリなのである。細かいことはともかくとして、まあ、平均すると5000回くらいは問いかける必要があるだろう。

*5 確率を習ったことがない人は、番号をバラバラなので開いた方が当たりやすいんじゃないか?と勘ぐってしまうこともあるようだ。実際に、「宝くじ」などを買う時には、売り場で「連番ですか?バラですか?」と聞かれたりもする。もちろん、そんなことで当選確率が変わることはない。
*6 携帯電話の「予定表機能」を使って、毎朝の決まった時間に「神様に拝む」挨拶を入れておく、そんなこともできる。

この「アタリ番号」を探す問題は検索と名付けられていて、実は量子コンピューターが割と得意とする問題の1つなのだ。いまの0から9999までの例でどれくらい速くなるかというと、

・量子コンピューターを使えば、おおよそ100回くらいの問いかけでアタリ番号を知ることができる

のである。50倍も速く見つかるではないか。こんな離れ業は、普通の(古典)コンピューターでは絶対に実現することができない。
もう少し正確に表現すると、N個の候補の中から、1つだけを選ぶ作業を、量子コンピューターは√Nくらいの回数でこなしてしまう。この量子検索については、13章でジックリ取り組むことにしよう。なお、クジを引くという「神様への問いかけ」をコンピューターに託してしまうというのは実にバチ当たりなことだ、ええと、パチって、何を意味する言葉だったっけ?!*7

*7 そんなの「パチ」で検索すれば正解わかるじゃん?と、思うだろう。しかし、良く使われる慣用句であっても、語源が良くわからないものは数多くある。ちなみに、「イチかバチか」の「パチ」が同じ言葉かどうかすら、不明なのだ。

西野 友年 (著)
出版社 : 講談社 (2015/10/24)、出典:出版社HP