ケーススタディ
このセクションでは、PyQBPPを使った最適化問題、数学問題、グラフ問題の解法例を提供します。 各問題の後の Easy / Medium / Hard は、ページの内容を理解する難しさの目安です。問題を理解するのに要る予備知識、定式化の発想、プログラムの構造の 3 点から決めています。
活用事例の一部は動画でも紹介しています(動画(ケーススタディ)のページ)。
数学問題
- 数学問題: 3つの整数を求める (Easy)
- 3桁の算数問題 (Easy)
- 三次方程式 (Easy)
- 平方根 (Easy)
- 円周率に近い分数 (Easy)
- 最大公約数 (GCD) (Easy)
- 余り問題 (Easy)
- ピタゴラスの三つ組 (Medium)
- タクシー数 1729 (Medium)
- 再帰による素因数分解 (Medium)
パズル
- Nクイーン問題 (Easy)
- スターバトル (Easy)
- 数独 (Medium)
- ノノグラム (Medium)
- スリザーリンク (Medium)
- 魔方陣 (Medium)
- SEND + MORE = MONEY 問題 (Medium)
グラフ問題
頂点・集合の選択
- 最大独立集合 (MIS) 問題 (Easy)
- 最大クリーク問題 (Easy)
- 最小頂点被覆問題 (Easy)
- 最小支配集合問題 (Medium)
- 最小集合被覆問題 (Medium)
カット・分割
- 最大カット問題 (Easy)
- 最小グラフ二分割問題 (Easy)
- カット幅問題 (Medium)
マッチング
- 最大マッチング問題 (Easy)
- 最小極大マッチング問題 (Medium)
彩色
- グラフ彩色問題 (Easy)
- 3 彩色可能頂点削除問題 (Medium)
- グラフ辺彩色問題 (Medium)
同型
- 部分グラフ同型問題 (Medium)
経路問題
- 最短路問題 (Medium)
- 巡回セールスマン問題 (Medium)
- 容量制約付き配送計画問題 (CVRP) (Hard)
組合せ最適化問題
- QUBO 問題 (Easy)
- 整数線形計画法 (Easy)
- LABS問題 (Easy)
- ナップサック問題 (Medium)
- 分割問題の3通りの定式化 (Medium)
- 区間部分和問題 (ISSP) (Medium)
- 切出し問題 (Medium)
- 施設配置問題 (p-median と p-center) (Medium)
- ポートフォリオ最適化 (Hard)
スケジューリング
- シフトスケジューリング問題 (Medium)
- 日勤・夜勤の勤務表 (Medium)
- 納期付き機械スケジューリング (Hard)
- ジョブショップスケジューリング (Hard)
充足可能性
- 充足可能性問題 (SAT) (Medium)
- Not-All-Equal SAT (NAE-SAT) (Medium)
回路シミュレーション
- 加算器シミュレーション (Medium)
- 乗算器シミュレーションと因数分解 (Hard)
画像処理
- 画像のハーフトーン化 (Medium)
- 画像のノイズ除去 (Medium)
- オプティカルフロー (Medium)
- クラスタドット・ハーフトーン (Hard)
- ASCII アートの生成 (Hard)
ブラックボックス最適化
- FMQA によるブラックボックス最適化 (Hard)
- FMQA による量子化学計算 (Hard)
量子アニーラー
- 量子アニーラーのシミュレーション (Medium)
注釈 グラフのケーススタディには
matplotlibとnetworkxを使用した可視化コードが含まれています。 次のコマンドでインストールしてください:pip install matplotlib networkx