量子コンピュータよ、もっと私に“ワクワク”を:踊るバズワード 〜Behind the Buzzword(2)量子コンピュータ(2)(3/9 ページ)
この連載のために量子コンピュータについて勉強し続けていますが、今一つワクワクしません。ハードがないのにアルゴリズムの研究が何十年も行われているのは素直にすごいと思いますが、ことアプリケーションの話になると、どうも“ショボい”気がするのです。そうは言っても、連載を続けないといけませんので、「私の、私による、私が楽しむためだけの記事」として筆を進めることと致します。
執筆方針、変えます
こんにちは。江端智一です。
今回も前回に引き続き、量子コンピュータについて、前回の「量子ビット」に引き続き、今回は「量子ゲート」の話をする予定でした。実際、世の中の「量子コンピュータ」の入門書はこんな順番で書かれています。そして ―― 絶望的につまらないです。
「執筆している私(江端)はつまらないけど、読んでいる人が楽しく読める」 ―― そんなことありえる訳がありません。もしあれば、それは「怪談」です。
しかし、ほとんどの勉学は、このようなアプローチ、構成要素の小さいもの(これを"基礎"ということもある)から、それを組み立てる方法(これを"応用"ということもある)を学び、最後に全体の理解へと導くようなアプローチを取ります。
本屋や図書館でちょっと調べてもらえれば分かると思いますが、大体コンピュータの入門書は、「トランジスタの話」「0と1(ビット)の話」「AND,OR,NOTゲートの話」になって、そこから「OSやレイヤーの話」になって、最後のページにちょこっと「アプリケーションの話」が出てきて唐突に終了しますが ―― 吐きそうなほど退屈です。
さらに、その本の書評をしている人のほとんどが、一通りコンピュータのことを分かっている人です。その人たちは、寄ってたかって『説明が分かりやすい』だの『内容が正しくない』だのと書評を付けています ―― 笑わせないでください。書評できるレベルの人間なら、そもそも、その本を読む必要ないでしょう。
ちなみに、このようなシステマチック(体系的)な学習方法は、数学や科学だけでなく、日本語、英語(単語→文法→長文解釈→英会話)、古文(古語→ラ行変格活用→古文解釈)、体育(基礎トレーニング(走り込み)→基礎技術(素振り)→実戦)などでも共通です。
なぜこのようなアプローチを取るかというと、システマチックな学習方法は、教える側にとってもっともコストが安くリスクが低く、多くの人数を同時に教える方法として最良なものだからです。
そして最大の欠点は、教えられる側が、その教科を「大嫌い」になり、人生において「二度とその勉強しようと思わなくなる」という点にあります*)。
*)この辺については、「「英語に愛されないエンジニア」のための新行動論」またはリカレント教育について書いた「三角関数不要論と個性の壊し方」「リカレント教育とは、“キャリア放棄時代”で生き残るための「指南書」であるべきだ」をご参照ください。
私は、量子コンピュータに興味を持って、私の記事を読んで頂いている方に、「量子コンピュータを大嫌いになってもらいたい」訳ではありません。それどころか、本音をぶっちゃければ、「量子コンピュータなんぞ、理解できなくても良い」と思っているくらいです(前回の題目)。
まあ、少なくとも量子コンピュータについては、あと10年くらいは知らなくても余裕で大丈夫でしょう。それに、もしもっと早く量子コンピュータが実用化されたとしても、その時に勉強始めれば十分に間に合います ―― 身もフタもない話ですが。
というわけで、連載が始まってから考えることではありませんが、当初考えていた執筆方針に疑問が生じてきました。そこで、他の量子コンピュータに関する記事(書籍を含む)の内容は、どうなっているのかを調べてみました。
記事は、それぞれの読者層に合わせて執筆されており、それぞれの深さ(×レベルの高さ)において、記事の内容はバラバラです。記事の中には、明らかなウソがありますが、私も意図して(あるいは意図せずに)ウソを書くことがあります(まあそれでも、私のコラムは、ちまたのAIの記事のデラタメさに比べれば良心的であると自負しておりますが)。
いずれにしても、これではっきりしたことは、「全ての人に向けた量子コンピュータを説明する記事は書けない」という、当然の事実でした。
この連休中は、外出できないこともあって、私はずっとこのことについて考え続けていました。考えて、考えて、考え続けて、考え過ぎて、ついに私は開き直りました。
―― 私は、私が知りたいことを調べて、分かったことを分った通りに書く
―― 私が楽しいと思えることだけを書く。読者のことは忘れる
と決めたのです。
つまり、私が勉強した経緯をひたすら皆さんに読んで頂く、という形になります。
この方式における最大のメリットは、私が量子コンピュータのずぶの素人であるという点です。つまり、私が分からないところは、(高い確率で)多くの読者の皆さんにとっても分からないところであり、私が真っ先に知りたいことは、読者の皆さんにも真っ先に知りたいことに違いない、と決めつけることにしました。
従って、この連載におけるテーマは、その時の江端の興味のあることを書くこととして、体系的(システマチック)にはお話しないことにしました ―― そういうキチンとした本は、本屋かAmazonなどのネットショッピングで簡単に手に入りますので、そちらをご購入ください。
私は、私が楽しむためだけに、このコラムの連載の執筆を行うことを、ここに強く宣言します*)。
*)『いや江端さん。今さら何言ってんですか! 毎度そうですよ』とEE Times Japan編集部の担当Mさんがギャーギャー騒いでいる気がしますが、聞こえないフリをします。
さて、そう腹をくくると、気持ちがラクになってきました。しかし、少なくとも、読者の皆さんには、江端のバックグランドを理解しておいて頂く必要があるだろうなと思いましたので、以下の表を作成してみました。
今回、勉強して分かったのですが、量子コンピュータは、古典コンピュータ(今、皆さんが使っているコンピュータ)の機能(ビットとかゲート)がベースになっています(それが「楽だったから」なのか「他の考え方を持ち込めなかった」のかは、私には分かりません) ―― が、この説明はバッサリ省略します。
量子ビットの考え方は、前回の"0猫"と"1猫"を使った説明で、概ね、私は理解できた気がしていますので、それでよしとします。
しかし、量子ビットの実現方法、量子ゲートの概念と実現方法、アルゴリズムとアプリケーションについては、私は全く理解できていません。これらについて、今後は、江端の疑問の発生した順番に、バラバラに説明していきたいと思います。
実は、量子コンピュータの本を何度も読み直していると、ある時かなり広い範囲が、一気に「見えて(分かって)」、「あっ!」と叫ぶことがあります。例えば、前回のように『量子コンピュータって、量子をそのまま使っている訳じゃないんだ!』という「気付き」です。
実は、これはあまり良くないのです。
なぜかというと、このような「気付き」によって、『自分だけは理解できる』のだけど『他人に説明できない』という状況が、一気に進んでしまうことがあるからです。
このような「気付き」が繰り返された人間によって記載された量子コンピュータの本は、多くの初学者にとって、『訳の分からない内容』となってしまいます ――そして、実際、訳が分かりません。
多分、この連載において私が一番大切にしなければならないのは、「私の量子コンピュータへの絶望的な無知」であり、この「無知から生じる疑問」です。そして私は、『世界で一番、ブサイクで見苦しい量子コンピュータの解説』を行っていく覚悟です。引き続き、お付き合い頂けましたら幸いです。
Copyright © ITmedia, Inc. All Rights Reserved.