量子アニーリングの基礎(リョウシアニーリングノキソ)
ハードウェア- 著者:
- 西森 秀稔/大関 真之/須藤 彰三/岡 真(ニシモリ ヒデトシ/オオゼキ マサユキ/ストウ ショウゾウ/オカ マコト)
- 出版社:
- 共立出版
- 出版日:
- 2018年05月19日頃
- ISBN:
- 9784320035386
- シリーズ:
- 基本法則から読み解く物理学最前線 18
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
カナダのベンチャー企業,D-Wave Systems によって「量子コンピュータ」が開発・発売され,反響を呼んでいる。
量子コンピュータは,1994 年に因数分解を高速で行う量子アルゴリズムが発見されたことを契機に,研究が一気に加速した。当初提案されたのは「量子ゲート方式」と呼ばれるタイプであった。この方式の強みは,量子力学系のシミュレーションなどのいくつかの計算が,通常のコンピュータより大幅に効率よく実行できることにある。しかし,大規模な回路を構成して安定的に演算を実行する技術の開発は途上である。
一方,これとはまったく異なるアプローチとして「量子アニーリング」が着目され,D-Wave 社がハードウェアの動作原理として実装して世に出すに至った。量子アニーリングは,当初は磁性体のイジング模型の基底状態を,量子力学的なゆらぎを利用して探索する方法として考案された。基本素子として量子ビットを使うという点では量子ゲート方式と同じだが,当面の目的やその実現方法は異なっている。量子アニーリングは,巡回セールスマン問題などの「組み合わせ最適化問題」に特化したアルゴリズムなのである。
本書は,量子アニーリングの計算原理の発案者による,日本語で書かれた唯一の解説書である。量子アニーリングの基本的な定式化や動作原理の説明だけでなく,機械学習への応用やベンチマークテストの例,さらには D-Wave マシンのユーザーインターフェイスの解説まで幅広く取り上げている。
技書の森解説
「量子コンピュータ」と呼ばれる機械には、汎用計算を目指す量子ゲート方式と、組合せ最適化に特化した量子アニーリング方式という、設計思想の異なる 2 系統があります。『量子アニーリングの基礎』 (西森秀稔・大関真之 著、須藤彰三・岡真 監修、共立出版、 2018 年 5 月刊) は、その後者を理論の提案者自身が解説した一冊です。物理学の最前線テーマを 1 冊 1 テーマで扱うシリーズ「基本法則から読み解く物理学最前線」の第 18 巻にあたり、 A5 判 160 ページのコンパクトな体裁に、定式化から D-Wave マシンでの実装、機械学習への応用までが収められています。版元は刊行時、本書を「量子アニーリングの計算原理の発案者による、日本語で書かれた唯一の解説書」と紹介しており、原理を一次情報に最も近い場所で学べることが他の入門書にない特徴です。
量子アニーリングという計算手法の背景
量子アニーリングは、 1998 年に西森秀稔氏が門脇正史氏とともに提案した計算手法で、磁性体の理論模型であるイジング模型の基底状態 (エネルギーが最も低いスピン配置) を、量子力学的なゆらぎを使って探索します。巡回セールスマン問題のような組合せ最適化問題は変数の組合せが爆発的に増えるため総当たりでは歯が立ちませんが、その多くはイジング模型のエネルギー最小化問題に書き換えられます。古典的なシミュレーテッドアニーリングが温度による熱ゆらぎで探索するのに対し、量子アニーリングは横磁場が生む量子ゆらぎを最初は強く、徐々に弱めていくことで系を最適解へ導きます。この着想をカナダの D-Wave Systems がハードウェアの動作原理として実装し、 2011 年に商用マシンを発表したことで、量子アニーリングは紙の上の理論から実機で試せる技術へと変わりました。本書はこの流れの出発点にいた研究者による解説です。
量子ゲート方式との違いという読みどころ
書籍選び で最初に押さえるべきは、本書が扱うのは Shor のアルゴリズム (1994 年に発見された因数分解の量子アルゴリズム) に代表される量子ゲート方式ではない、という点です。両者は量子ビットを基本素子とする点こそ共通ですが、目的も実現方法も異なります。ゲート方式は量子回路で広範な計算を目指す汎用路線、アニーリング方式は組合せ最適化という一点に絞った特化路線で、性能の測り方も課題もそれぞれ別物です。世間の「量子コンピュータ」という言葉はこの 2 つをしばしば区別せずに使っており、その混同を提案者の記述でほどけることが、本書を読む実利の 1 つです。内容は量子アニーリングの基本的な定式化と動作原理の説明を軸に、機械学習への応用、ベンチマークテストの例、 D-Wave マシンの紹介へと進みます。
必要な前提知識と難易度
必要な前提 は正直に書いておきます。イジング模型のハミルトニアンや横磁場といった統計力学・量子力学の言葉が本文の主役なので、学部レベルの量子力学と統計力学に触れた経験がないと、式の意味を追うのは相当に苦しいはずです。「量子コンピュータに興味がある」という関心だけで手に取ると、数式の密度に阻まれる可能性が高い本です。逆にその素養がある読者にとっては、 160 ページという分量は通読に現実的で、原理の核心だけを短時間で装備できます。プログラミングの本ではないため、 Python の SDK で最適化問題を解く手順や QUBO 定式化の実務パターン集を期待する人、数式なしの読み物を求める人には向きません。
向いている読者
一方で、量子アニーリングを研究テーマや技術評価の対象として扱う人、たとえば物理・情報系の学生や大学院生、量子計算サービスの実力を宣伝文句ではなく原理から見積もりたいエンジニアにとって、提案者自身が書いた 160 ページは最短の理論装備です。読み終えれば、アニーリング方式に何が期待でき、どこが検証途上なのかを自分の言葉で説明でき、ゲート方式との違いを問われても正確に答えられるようになります。 2018 年刊のためハードウェアの規模や性能に関する記述は当時の水準が前提ですが、定式化と動作原理という本書の核は 年月で古びない 種類の内容で、量子アニーリングに関わるなら最初に固めておいて損のない土台です。
言及 Qiita 記事 (105 件)
65歳からのプログラミング入門。docker(126)転職(16) coding(45)
♡ 755Python, Docker, coding, 言語処理100本ノック, 小川メソッドプログラムは音楽(1)だ (A program is a music.) 仮説(54)
♡ 372音楽, MIDI, プログラム, 小川メソッド, CountdownCalendar2022SE 2年目で読んだ技術書45冊+α
♡ 284技術書, Se, 新人プログラマ応援, 新人プログラマ応援_記事投稿キャンペーンHP: 40年(60年)でソフトウェア開発の景色はどのぐらい変わったのか?仮説(165)
♡ 248Python, 機械学習, 歴史, 量子コンピュータ, CountdownCalendar2022製造業における機械学習
♡ 225機械学習, AI, 深層学習, 自動制御, 製造業人生で影響を受けた本100冊。
♡ 178LaTeX, 英語, コンパイラ, 安全, 小川メソッド「ゼロから作るDeep Learning 2自然言語処理編」読書会に参加する前に読んで置くとよい資料とプログラム, python(8)
♡ 177Python, 自然言語処理, 深層学習, 小川メソッド, CountdownCalendar2022量子(30)コンピュータプログラムへの道
♡ 152Python, 量子コンピュータ, 量子アニーリング, 小川メソッド, CountdownCalendar2022あなたもdocker, 私もdocker。docker(130)
♡ 67GCC, Docker, 新人プログラマ応援, Qiitaエンジニアフェスタ_Dockerシステム構成, CountdownCalendar2021English 短縮名。用語の衝突(用語・用例募集中)。英語(3) 仮説(88)、Ethernet(69)
♡ 53英語, 用語, ethernet, fullspelling, abbreviation
この本に興味がある方におすすめ
この本に関連
関連記事
技術書の「参考文献リスト」は次の 1 冊への最短ルート
技術書の巻末にある参考文献リストを活用していますか。著者が実際に読んで書いた文献リストは、次に読む本を選ぶ有力な手がかりです。参考文献リストの読み方と活用法を紹介します。
「日本語で読める技術書は 1 割」は本当か - 技術書の翻訳事情
英語圏で出版される技術書のうち、日本語に翻訳されるのはごく一部です。この情報格差の実態と、格差を埋めるための現実的なアプローチを考えます。
foo, bar, Alice, Bob はどこから来たのか - 技術書のサンプル名の由来
技術書やコード例でおなじみの foo, bar, Alice, Bob。これらの名前にはそれぞれ歴史的な由来があります。知っていると少し楽しくなる雑学を紹介します。
関連用語
コードの不吉な匂い
リファクタリングが必要であることを示唆するコード上の兆候や構造的な問題のパターン
インターフェース分離の原則
SOLID の I - クライアントが使わないメソッドへの依存を強制しない原則
Template Method パターン
アルゴリズムの骨格を親クラスで定義し、具体的なステップをサブクラスに委ねるデザインパターン
冪等性
同じ操作を何度実行しても結果が変わらない性質で、分散システムの信頼性を支える
水平スケーリング
サーバーの台数を増やして処理能力を向上させるスケーリング手法
Null Object パターン
null チェックの代わりに、何もしないオブジェクトを使って条件分岐を排除するデザインパターン