出版社内容情報
本書では、プログラミング言語であるPythonを用いて、アニーリングマシンを利用し最適化問題を解くための方法を学ぶことができます。
世の中にはたくさんの組合せ最適化問題が存在しています。電車の運行計画、工場の生産スケジュール、チラシ上の商品のレイアウト、電子回路の最適な設計など、例を挙げるときりがありません。これらは従来、汎用的な数理最適化ソルバーを用いて解かれていましたが、2011年にD-Wave Systemsによって世界初の量子アニーリングマシンが開発されて以来、多くのアニーリングマシンが世の中に登場し、組合せ最適化問題に対する新しい技術的なアプローチとして注目されるようになりました。
ユーザがこれらのマシンを利用する際には、最適化問題の形式の一種であるイジングモデルやQUBO(Quadratic Unconstrained Binary Optimization)を作成してマシンに入力し、その解をビット列の出力として得ます。それぞれのアニーリングマシンはそれぞれ固有の動作原理を持っており、アニーリングマシンとしての特徴も非常に異なっていますが、解きたい問題をイジングモデルやQUBOにさえ変換できれば、どのようなアニーリングマシンであってもQUBOから問題を解いてくれます。
本書では、PythonライブラリのPyQUBOを用いることで最適化問題からQUBOを作成する方法を説明します。実際にアニーリングマシンで問題を解くには、パラメータの逐次調整や得られたビット列の解釈など、多くの処理が必要になります。この処理をしてくれるのがPyQUBOです。どのようなアニーリングマシンを使うかにかかわらず、組合せ最適化問題を記述してQUBOを生成し、マシンから返ってきたビット列を解釈する役割をPyQUBOが担ってくれます。また、QUBOは量子アニーリングだけでなく量子ゲート方式の最適化手法にも頻繁に登場します。そこで、PyQUBOを用いた量子最適化計算についても説明します。
なお、アニーリングは組合せ最適化問題を解くためのアプローチの1つに過ぎないため、本書では組合せ最適化問題を解くための他の手法として、貪欲法、全探索法、数理最適化ソルバーを用いる方法についても紹介します。問題によって解くための適切なアプローチは異なるため、それぞれの手法を知っておくことで、アニーリングマシンがどのような問題に対して得意であるのかなどの見極めができるようになります。
目次
第1章 PyQUBOを使うための準備(Pythonの開発環境構築;Pythonの基本操作 ほか)
第2章 PyQUBOの使い方(PyQUBOの基礎;PyQUBOの応用 ほか)
第3章 様々な組合せ最適化問題を解く(セールスマン巡回問題;二次割当問題(QAP) ほか)
第4章 アニーリングマシンを使う(量子アニーリングマシン;東芝シミュレーテッド分岐マシン ほか)
第5章 量子計算アルゴリズムを使う(量子計算の基本;量子ゲート ほか)
著者等紹介
棚橋耕太郎[タナハシコウタロウ]
2015年京都大学大学院工学研究科高分子化学専攻修士課程修了、修士(工学)。現在、チューリング株式会社E2E自動運転チームマネージャシニアエンジニア、IPA未踏ターゲット事業アニーリング部門プロジェクトマネージャ。専門分野:量子アニーリング、自動運転、機械学習、数理最適化
中田百科[ナカダヒャッカ]
2016年東京大学大学院理学系研究科物理学専攻修士課程修了、修士(理学)。現在、株式会社リクルート。専門分野:量子アルゴリズム、数理統計、機械学習
田中宗[タナカシュウ]
2008年東京大学大学院理学系研究科物理学専攻博士課程修了、博士(理学)。現在、慶應義塾大学理工学部物理情報工学科教授、同大学サスティナブル量子AI研究センター長、同大学ヒト生物学‐微生物叢‐量子計算研究センター(WPI‐Bio2Q)副拠点長、株式会社Quanmatic CTO、IPA未踏ターゲット事業アニーリング部門プロジェクトマネージャ。専門分野:量子計算、量子アニーリング、イジングマシン、統計物理学、物性科学(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。