Pythonによるアニーリングマシン入門―PyQUBOで解く最適化問題 [単行本]
    • Pythonによるアニーリングマシン入門―PyQUBOで解く最適化問題 [単行本]

    • ¥3,30099 ゴールドポイント(3%還元)
    • 在庫あり2025年7月17日木曜日までヨドバシエクストリームサービス便(無料)がお届け
100000009004111657

Pythonによるアニーリングマシン入門―PyQUBOで解く最適化問題 [単行本]



ゴールドポイントカード・プラスのクレジット決済で「書籍」を購入すると合計12%ゴールドポイント還元!合計12%還元書籍の購入はゴールドポイントカード・プラスのクレジット決済がお得です。
通常3%ゴールドポイント還元のところ、後日付与されるクレジット決済ポイント(1%)と特典ポイント(6%)、さらにご利用明細WEBチェックにご登録いただくと2%追加して合計12%ゴールドポイント還元!詳しくはこちら

価格:¥3,300(税込)
ゴールドポイント:99 ゴールドポイント(3%還元)(¥99相当)
お届け日:在庫あり今すぐのご注文で、2025年7月17日木曜日までヨドバシエクストリームサービス便(無料)がお届けします。届け先変更]詳しくはこちら
出版社:共立出版
販売開始日: 2025/06/04
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可

カテゴリランキング

店舗受け取りが可能です
マルチメディアAkibaマルチメディア梅田マルチメディア博多にて24時間営業時間外でもお受け取りいただけるようになりました

Pythonによるアニーリングマシン入門―PyQUBOで解く最適化問題 の 商品概要

  • 目次

    第1章 PyQUBOを使うための準備
    1.1 Pythonの開発環境構築
     1.1.1 uvのインストール
     1.1.2 uvプロジェクトの初期化
     1.1.3 パッケージのインストール方法
     1.1.4 Pythonプログラムの実行
     1.1.5 本書で利用するパッケージ
    1.2 Pythonの基本操作
     1.2.1 データ構造
    1.3 アニーリングの基礎
     1.3.1 組合せ最適化問題とは
     1.3.2 ナップサック問題の定式化
     1.3.3 QUBO,イジングモデルとは
     1.3.4 QUBOとイジングモデルの変換
    1.4 組合せ最適化問題からQUBOへの変換
     1.4.1 線形計画問題として定式化
     1.4.2 ペナルティ法により制約式を削除
     1.4.3 整数をバイナリにエンコード
     1.4.4 多項式の展開
     1.4.5 高次項の次元削減
     1.4.6 式を整理して係数からQUBO行列を作成する
     1.4.7 ナップサック問題のQUBO定式化

    第2章 PyQUBO の使い方
    2.1 PyQUBOの基礎
     2.1.1 BinaryクラスとSpinクラス
     2.1.2 数式をコンパイルしてQUBOを作成する
     2.1.3 Spinクラスを使ってハミルトニアンの数式を構築する
     2.1.4 Spinクラスを使って整数分割問題を解く
     2.1.5 イジングモデルによって整数分割問題を解いてみる
    2.2 PyQUBOの応用
     2.2.1 Arrayクラス
     2.2.2 SubHクラス
     2.2.3 Placeholderクラス
     2.2.4 Integerクラス
     2.2.5 論理ゲートクラス
     2.2.6 論理ゲートクラスの応用
     2.2.7 論理制約クラス
    2.3 PyQUBOを使わないナップサック問題の定式化
    2.4 アニーリング以外でナップサック問題を解く
     2.4.1 全探索(枝刈りあり)
     2.4.2 貪欲法で解く
     2.4.3 整数計画問題ソルバーを使って解く

    第3章 様々な組合せ最適化問題を解く
    3.1 セールスマン巡回問題
     3.1.1 2値変数によるTSPの表現
     3.1.2 TSPにおける制約条件
     3.1.3 二部グラフの割当問題との関係
     3.1.4 PyQUBOのコード
    3.2 二次割当問題(QAP)
     3.2.1 QAPのQUBO定式化
    3.3 配送計画問題(集合分割問題によるアプローチ)
     3.3.1 容量制約付配送計画問題
    3.4 集合被覆問題
     3.4.1 アニーリングで解いてみる
    3.5 ジョブショップスケジューリング問題
    3.6 素因数分解
     3.6.1 多ビット積算器の仕組みを理解する
     3.6.2 PyQUBOで因数分解を実装する
     3.6.3 素因数分解を実装する
    3.7 シフトスケジューリング

    第4章 アニーリングマシンを使う
    4.1 量子アニーリングマシン
     4.1.1 D-Wave Leap
     4.1.2 D-Wave Ocean SDK
     4.1.3 dimodの基本的な使い方およびPyQUBOとの連携
     4.1.4 D-Waveの量子ビット配置
     4.1.5 ハードウェアへの問題の埋め込み
     4.1.6 鎖の値の解釈
     4.1.7 D-Waveをソルバーとして利用する
     4.1.8 D-Wave Hybridによる問題分割
    4.2 東芝シミュレーテッド分岐マシン
     4.2.1 東芝SQBM+の利用の準備
     4.2.2 東芝SQBM+を利用する
    4.3 富士通デジタルアニーラ
    4.4 Annealing Cloud Web
     4.4.1 APIからソルバーにアクセスする
     4.4.2 PythonからAPIにアクセスする
     4.4.3 PyQUBOを使ってAnnealing Cloud Webを使う
    4.5 OpenJij
     4.5.1 GPUを使った計算

    第5章 量子計算アルゴリズムを使う
    5.1 量子計算の基本
     5.1.1 量子ビット
     5.1.2 量子ビットの観測
     5.1.3 ブロッホ球
    5.2 量子ゲート
     5.2.1 パウリ演算子
     5.2.2 回転ゲート
     5.2.3 アダマールゲート
     5.2.4 位相ゲート
     5.2.5 ユニバーサルゲート
    5.3 複数量子ビット
     5.3.1 量子もつれ
     5.3.2 2量子ビットゲート
     5.3.3 3量子ビットゲート
    5.4 QAOAの基本
     5.4.1 QAOAの操作
     5.4.2 PyQUBOとQulacsでQAOAを解いてみる
     5.4.3 QiskitとPyQUBOを使ってQAOAを解く
     5.4.4 QAOAと量子アニーリングとの関係
    5.5 QAOAをさらに深く理解する
     5.5.1 コストハミルトニアンをカスタムする
     5.5.2 ミキサーハミルトニアンをカスタムする
     5.5.3 初期状態をカスタムする
     5.5.4 パラメータの最適化方法をカスタムする
    5.6 QAOA以外の最適化手法について
     5.6.1 VQE
     5.6.2 Grover適応探索
     5.6.3 テンソルネットワーク

    参考文献
    索 引
  • 出版社からのコメント

    Pythonを用いて最適化問題をアニーリングマシンで解くためのQUBOを作成する方法、そして結果を解釈する知識を学べる。
  • 内容紹介

    本書では、プログラミング言語であるPythonを用いて、アニーリングマシンを利用し最適化問題を解くための方法を学ぶことができます。

    世の中にはたくさんの組合せ最適化問題が存在しています。電車の運行計画、工場の生産スケジュール、チラシ上の商品のレイアウト、電子回路の最適な設計など、例を挙げるときりがありません。これらは従来、汎用的な数理最適化ソルバーを用いて解かれていましたが、2011年にD-Wave Systemsによって世界初の量子アニーリングマシンが開発されて以来、多くのアニーリングマシンが世の中に登場し、組合せ最適化問題に対する新しい技術的なアプローチとして注目されるようになりました。
    ユーザがこれらのマシンを利用する際には、最適化問題の形式の一種であるイジングモデルやQUBO(Quadratic Unconstrained Binary Optimization)を作成してマシンに入力し、その解をビット列の出力として得ます。それぞれのアニーリングマシンはそれぞれ固有の動作原理を持っており、アニーリングマシンとしての特徴も非常に異なっていますが、解きたい問題をイジングモデルやQUBOにさえ変換できれば、どのようなアニーリングマシンであってもQUBOから問題を解いてくれます。

    本書では、PythonライブラリのPyQUBOを用いることで最適化問題からQUBOを作成する方法を説明します。実際にアニーリングマシンで問題を解くには、パラメータの逐次調整や得られたビット列の解釈など、多くの処理が必要になります。この処理をしてくれるのがPyQUBOです。どのようなアニーリングマシンを使うかにかかわらず、組合せ最適化問題を記述してQUBOを生成し、マシンから返ってきたビット列を解釈する役割をPyQUBOが担ってくれます。また、QUBOは量子アニーリングだけでなく量子ゲート方式の最適化手法にも頻繁に登場します。そこで、PyQUBOを用いた量子最適化計算についても説明します。

    なお、アニーリングは組合せ最適化問題を解くためのアプローチの1つに過ぎないため、本書では組合せ最適化問題を解くための他の手法として、貪欲法、全探索法、数理最適化ソルバーを用いる方法についても紹介します。問題によって解くための適切なアプローチは異なるため、それぞれの手法を知っておくことで、アニーリングマシンがどのような問題に対して得意であるのかなどの見極めができるようになります。
  • 著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)

    棚橋 耕太郎(タナハシ コウタロウ)
    2015年京都大学大学院工学研究科高分子化学専攻修士課程修了、修士(工学)。現在、チューリング株式会社E2E自動運転チームマネージャシニアエンジニア、IPA未踏ターゲット事業アニーリング部門プロジェクトマネージャ。専門分野:量子アニーリング、自動運転、機械学習、数理最適化

    中田 百科(ナカダ ヒャッカ)
    2016年東京大学大学院理学系研究科物理学専攻修士課程修了、修士(理学)。現在、株式会社リクルート。専門分野:量子アルゴリズム、数理統計、機械学習

    田中 宗(タナカ シュウ)
    2008年東京大学大学院理学系研究科物理学専攻博士課程修了、博士(理学)。現在、慶應義塾大学理工学部物理情報工学科教授、同大学サスティナブル量子AI研究センター長、同大学ヒト生物学‐微生物叢‐量子計算研究センター(WPI‐Bio2Q)副拠点長、株式会社Quanmatic CTO、IPA未踏ターゲット事業アニーリング部門プロジェクトマネージャ。専門分野:量子計算、量子アニーリング、イジングマシン、統計物理学、物性科学

Pythonによるアニーリングマシン入門―PyQUBOで解く最適化問題 の商品スペック

商品仕様
出版社名:共立出版
著者名:棚橋 耕太郎(著)/中田 百科(著)/田中 宗(監修)
発行年月日:2025/06/10
ISBN-10:4320036360
ISBN-13:9784320036369
判型:A5
発売社名:共立出版
対象:専門
発行形態:単行本
内容:物理学
言語:日本語
ページ数:208ページ
縦:21cm
他の共立出版の書籍を探す

    共立出版 Pythonによるアニーリングマシン入門―PyQUBOで解く最適化問題 [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!