概要と対象読者
離散数学 II は、有限集合、有限順序集合、有限グラフおよび有限ネットワークを対象として、数え上げの手法、構造定理、極値問題、離散最適化、および手続きの正当性と計算量の解析を扱う。本単元は、母関数、有限順序集合および群作用による数え上げから始め、グラフの構造と極値、フロー・マッチング・マトロイドによる離散最適化へ進み、確率的構成と中級的なアルゴリズムの正当性および計算量を扱う。
本単元は、離散数学とアルゴリズムの必修内容を学び終えた読者を対象とする。同単元が定義した語彙と基本的な結果を出発点として、読者は、有限構造についての定理を証明し、アルゴリズムの正当性を不変量と停止性から示し、時間計算量と空間計算量を評価する段階へ進む。本単元が扱う定理は、いずれも有限の対象についてのものであり、極限操作と解析的な漸近評価を用いない。
本単元は、離散構造を扱う後続の分野への入口に位置する。数え上げの手法と極値問題は組合せ論・グラフ理論へ、フローとマッチングの最小最大定理は凸最適化へ、アルゴリズムの正当性と計算量の解析は計算理論へ接続する。
本単元の28記事のうち、19記事が必修であり、9記事が展望である。展望の9記事は必修ではなく、関心と後続の分野に応じて選んで読むことができる。
到達点
必修の19記事を学んだ読者は、次のことを行うことができる。
- 各大きさの対象が有限個であるラベル付き組合せクラスについて指数型母関数を定義し、通常母関数との違いを示し、ラベル付き積の構成則と、大きさが零の成分を含まないクラスの列および集合の構成則を証明することができる。
- 正の整数の分割、Ferrers 図形および共役分割を定義し、分割数の母関数を Euler 積として導き、相異なる部分への分割数と奇数部分への分割数が等しいことを証明することができる。
- 有限半順序集合の区間上の接合代数、ゼータ関数および Möbius 関数を定義し、反転公式を証明して、有限集合の部分集合束と正の約数の集合へ適用することができる。
- 有限集合へ作用する有限群の巡回指標を定義し、Burnside の補題から有限色集合による重み付き彩色の数え上げ公式を証明し、正多角形の頂点彩色を数えることができる。
- 有限半順序集合について、鎖分割に必要な最小本数が反鎖の最大濃度に等しいことを証明し、反鎖分割と鎖の最大濃度を結ぶ Mirsky の定理を導くことができる。
- 有限集合の冪集合の極大鎖との二重計数によって LYM 不等式と Sperner の定理を証明し、最大反鎖の等号成立条件を決定することができる。
- 頂点数が3以上の有限単純グラフについて、隣接しない二頂点の次数和に対する Ore の条件から Hamilton 閉路の存在を証明し、Dirac の最小次数条件をその系として導くことができる。
- 有限単純グラフの正則な頂点彩色を数える関数を定義し、辺の削除と縮約による漸化式から彩色多項式の存在を証明し、木と閉路の彩色多項式を計算することができる。
- 正の整数 r に対し、r に1を加えた個数の頂点からなる完全グラフを部分グラフとして含まない n 頂点有限単純グラフの最大辺数を求め、等号が成立するグラフの形を決定することができる。
- 正の整数 s と t に対する二色 Ramsey 数を定義し、頂点一つの色別近傍による再帰上界から有限性を証明することができる。
- 第一モーメント法、Chebyshev の不等式を用いる第二モーメント法、および改変法によって有限離散構造の存在を証明し、対角 Ramsey 数の指数的な下界と独立集合の下界を導くことができる。
- 有限有向ネットワークと非負実容量について残余ネットワークと増加道を定義し、最大フロー最小カット定理を証明することができる。容量が整数の場合には、Ford–Fulkerson 法の有限回での停止と、整数値を取る最大フローの存在を導くことができる。
- 有限二部グラフについて、増加道の非存在によって最大マッチングを特徴づけ、増加道を繰り返す手続きが有限回で停止して最大マッチングを与えることを示し、最大マッチングの辺数と最小頂点被覆の頂点数が等しいことを証明することができる。
- 有限グラフの相異なる二頂点について、辺素な道と辺切断に関する Menger の定理を単位容量のフローへ帰着して証明し、非隣接な二頂点について、内点素な道と両端点を除く頂点切断に関する版を導くことができる。
- 有限台集合上の独立集合公理と基底交換公理が同じマトロイドを定めることを証明し、一様マトロイドとグラフ的マトロイドを例として扱うことができる。
- 有限マトロイドの回路と階数関数を独立集合から定義し、回路消去公理と階数公理を導き、各公理系が同じマトロイドを定めることを証明することができる。
- 有限マトロイドの台集合に非負重みを与え、重みの降順に独立性を保って元を加えるアルゴリズムが最大重み基底を与えることを証明し、その反復回数と独立性の判定回数を数え、すべての非負重みと同順位の任意の処理順に対して同じアルゴリズムが正しい有限独立集合系を、マトロイドとして特徴づけることができる。
- 状態、遷移および境界値を有限有向非巡回グラフとして表し、位相順序による評価が各状態の値を正しく与えることを証明し、状態数と遷移数から時間計算量と空間計算量を評価することができる。
- 有限な操作列に対する償却計算量を最悪計算量および平均計算量と区別して定義し、集計法、会計法およびポテンシャル法による上界を証明し、二進カウンタと動的配列の操作列へ適用することができる。
展望の9記事を学んだ読者は、次のことを行うことができる。
- 有理数体上の一変数形式的冪級数について、定数項が零で一次係数が零でない級数の合成逆元が一意に存在することを証明し、Lagrange–Bürmann の係数公式を Catalan 数と根付き平面木へ適用することができる。
- Kempe 鎖と色交換によって五色定理の標準証明を再構成し、四色定理については、最小反例、不可避配置、放電規則および可約性検査が矛盾を導く証明構造を説明することができる。
- 有限次の二重確率行列が置換行列の凸結合として表されることを証明し、有限マトロイドの双対について双対階数公式、回路・余回路の対応および loop 元と coloop 元の特徴づけを、削除と縮約について独立集合、基底および階数による記述を証明することができる。
- 各辺を独立に同じ確率で選ぶ有限ランダムグラフについて孤立点が存在しない性質の閾値を証明し、Las Vegas 型と Monte Carlo 型のアルゴリズムを区別し、頂点被覆と集合被覆に対する近似保証を証明することができる。
前提知識
本単元は、離散数学とアルゴリズムの必修内容を前提とする。証明の骨格には帰納法と再帰的な定義で扱う数学的帰納法と再帰的な定義を用いる。数え上げの基本則には数え上げの原理と全単射による数え上げで扱う和の法則、積の法則、全単射による数え上げおよび二項係数の性質を用い、包除原理の応用と鳩の巣原理の一般形で扱う包除原理と鳩の巣原理を Möbius 反転と極値問題に用いる。母関数の技法には漸化式と母関数で扱う漸化式と通常母関数を用いる。
有限半順序集合、鎖および反鎖の定義には関係・同値関係・順序集合を用いる。グラフの語彙、次数、道、閉路、連結性、木および全域木にはグラフ・木・連結性・オイラー路を用いる。マッチング、Hall の定理、頂点彩色、平面グラフおよび Euler の公式にはマッチング・彩色・平面グラフを用いる。有向グラフ、有向非巡回グラフおよび位相順序には有向グラフ・位相ソート・強連結成分を用いる。ループ不変量による正当性、停止性および漸近記法にはアルゴリズムの正当性と計算量を用いる。
他の単元からは、次の内容を用いる。Pólya の数え上げでは、群作用と軌道で扱う群作用、軌道、安定化群および軌道安定化群定理と、Burnside の補題で扱う Burnside の補題を用いる。確率的手法、ランダムグラフおよび乱択アルゴリズムでは、期待値・積率・確率不等式で扱う期待値、分散、共分散、Markov の不等式および Chebyshev の不等式と、独立性と積分布で扱う独立性を用いる。実容量をもつ最大フローの存在証明では、コンパクト距離空間で扱う有界閉集合のコンパクト性と、コンパクト空間で扱う空でないコンパクト集合上の連続実数値関数が最大値を取ることを用いる。Birkhoff–von Neumann の定理では、行列の演算で扱う行列の演算を用いる。
次の二つは、特定の記事が補足的な例と位置づけのためにだけ用いる。線形マトロイドを追加例として読む場合には、一次独立・基底・次元で扱う一次独立と基底を用いる。近似アルゴリズムが対象とする問題の計算量理論における位置づけを確認する場合には、P と NPを用いる。いずれも、本単元の定理と証明を追うために必須ではない。
前提知識として挙げた記事のうち、まだ学んでいない記事がある読者は、該当する記事を先に読む必要がある。
学習の順序と九つの章
本単元の28記事は、扱う内容に応じて九つの章に分かれ、第一章から第九章までを順に学ぶ。第一章から第五章までに属する19記事が必修であり、第六章から第九章までに属する9記事が展望である。
第一章「数え上げの方法」は、母関数、有限半順序集合および群作用という三つの数え上げの道具を整える。指数型母関数を最初に学ぶ理由は、離散数学とアルゴリズムで扱う通常母関数との違いを、ラベル付き構造に対する構成則として先に確定するためである。整数分割は、同じ母関数の技法を無限積の形へ広げる。Möbius 反転を整数分割の次に学ぶ理由は、反転公式が有限半順序集合の上で定式化され、第二章で扱う有限順序集合の議論への入口を与えるためである。Pólya の数え上げは、対称性のもとでの数え上げを扱う。第一章の最後に学ぶ。
第二章「有限順序集合と極値集合論」は、有限半順序集合の鎖と反鎖を主題とする。Dilworth の定理を先に学ぶ理由は、鎖分割の最小本数と反鎖の最大濃度を結ぶ等式が、本単元で最初に現れる最小最大定理であるためである。Sperner の定理と LYM 不等式は、同じ主題を冪集合という具体的な有限半順序集合へ適用し、極大鎖との二重計数を導入する。第三章の Turán の定理でも、二重計数を用いる。
第三章「グラフの構造・極値・確率的構成」は、個別のグラフの構造から、グラフの族全体に対する極値問題と存在証明へ進む。Hamilton 閉路と彩色多項式では、次数条件と辺の削除・縮約という二つの局所的な操作によって、一つのグラフの性質を調べる。続く Turán の定理と有限 Ramsey の定理では、部分グラフの存在を保証する辺数または頂点数の限界を求める。確率的手法を章の最後に学ぶ理由は、対角 Ramsey 数の指数的な下界を述べるために、有限 Ramsey の定理で Ramsey 数の定義と上界を先に確定しておく必要があるためである。
第四章「フロー・マッチング・マトロイド」は、最小最大定理と、その定理を実現するアルゴリズムを扱う。最大フロー最小カット定理を章の最初に学ぶ理由は、Menger の定理を単位容量のフローへ帰着して証明するためである。二部マッチングと Kőnig の定理は、増加道による最大性の特徴づけを与え、フローの議論と同じ形の最小最大定理をマッチングについて与える。マトロイドは、独立集合と基底、回路と階数、貪欲法の順に進む。独立集合と基底を定めた後に回路と階数を導入することにより、同じマトロイドを与える複数の公理系を比較することができる。貪欲法を章の最後に学ぶ理由は、最大重み基底を与えるアルゴリズムの正当性と、その正当性によるマトロイドの特徴づけが、独立集合と基底の性質を用いるためである。
第五章「アルゴリズムの設計と解析」は、対象となる構造に固有ではない二つの解析法を扱う。動的計画法を先に学ぶ理由は、状態と遷移を有限有向非巡回グラフとして表し、位相順序による評価の正当性を示す議論が、第三章と第四章で用いたグラフの語彙の上で行われるためである。償却解析は、一つの操作ではなく有限な操作列の全体に対して計算量の上界を与える。
第六章「形式的な数え上げの発展」は、第一章の母関数を形式的冪級数の代数として扱い直し、合成逆元の存在と係数公式を証明する。
第七章「平面グラフ彩色の発展」は、平面的グラフの彩色数について、証明の到達点が異なる二つの定理を扱う。五色定理を先に学ぶ理由は、Kempe 鎖と色交換という道具を先に定義することにより、四色定理の証明構造の記述で同じ道具を用いることができるためである。
第八章「組合せ最適化の発展」は、第四章のマッチングとマトロイドを二方向へ広げる。Birkhoff–von Neumann の定理は、Hall の定理を二重確率行列が定める二部グラフへ適用する。マトロイドの双対を削除・縮約より先に学ぶ理由は、双対が削除と縮約を交換することを示すために、双対の定義と双対階数公式を先に確定する必要があるためである。
第九章「確率・乱択・近似」は、確率と近似をアルゴリズムと有限構造へ適用する。ランダムグラフを先に学ぶ理由は、第三章の確率的手法で用いた第一モーメント法と第二モーメント法を、グラフの族全体に定めた確率モデルの上で用いるためである。乱択アルゴリズムは、入力ではなく内部乱数の上に確率空間を定める。近似アルゴリズムは、乱数を用いないアルゴリズムについて、出力の値と最適値との比を評価する。
各記事の内容
第一章では第1記事から第4記事までを、第二章では第5記事と第6記事を、第三章では第7記事から第11記事までを、第四章では第12記事から第17記事までを、第五章では第18記事と第19記事を学ぶ。第六章は第20記事、第七章は第21記事と第22記事、第八章は第23記事から第25記事まで、第九章は第26記事から第28記事までである。各章の中でも番号順に学ぶ。
数え上げの方法
- 指数型母関数 — 各大きさの対象が有限個であるラベル付き組合せクラスについて指数型母関数を定義し、通常母関数との違いを示す。ラベル付き積に対する構成則と、大きさが零の成分を含まないクラスの列および集合に対する構成則を、ラベル集合の分割を数えることによって証明する。
- 整数分割と母関数 — 正の整数の分割、Ferrers 図形および共役分割を定義し、分割数の母関数を Euler 積として導く。相異なる部分への分割数と奇数部分への分割数が等しいことを、母関数によって証明する。分割数の漸近公式は扱わない。
- Möbius 反転 — 有限半順序集合の区間上で可換環に値を取る接合代数、ゼータ関数および Möbius 関数を定義し、畳み込み逆元として反転公式を証明する。有限集合の部分集合束と、有限個の正の約数を整除関係で順序づけた集合へ適用する。
- Pólya の数え上げ — 有限集合へ作用する有限群について巡回指標を定義し、Burnside の補題から有限色集合による重み付き彩色の数え上げ公式を証明する。正多角形の頂点彩色を標準例として扱う。
有限順序集合と極値集合論
- Dilworth の定理 — 有限半順序集合の鎖分割に必要な最小本数が反鎖の最大濃度に等しいことを証明し、反鎖分割と鎖の最大濃度を結ぶ Mirsky の定理を導く。
- Sperner の定理と LYM 不等式 — 有限集合の冪集合における階層と極大鎖を定義し、極大鎖との二重計数によって LYM 不等式と Sperner の定理を証明する。最大反鎖の等号成立条件を決定する。
グラフの構造・極値・確率的構成
- Hamilton 閉路 — 頂点数が3以上の有限単純グラフについて Hamilton 道と Hamilton 閉路を定義し、隣接しない二頂点の次数和に対する Ore の条件から Hamilton 閉路の存在を証明する。Dirac の最小次数条件をその系として導く。
- 彩色多項式 — 有限単純グラフの正則な頂点彩色を数える関数を定義し、辺の削除・縮約による漸化式から彩色多項式の存在を証明する。辺の縮約で生じる多重辺は一つの辺へまとめる規約を置き、ループをもつグラフの正則な彩色の個数が零であることを示して、木と閉路の彩色多項式を計算する。
- Turán の定理 — 正の整数 r に対し、r に1を加えた個数の頂点からなる完全グラフを部分グラフとして含まない n 頂点有限単純グラフの最大辺数を求める。Turán グラフが上界を達成することと、等号が成立するグラフの形を証明する。
- 有限 Ramsey の定理 — 正の整数 s と t に対する二色 Ramsey 数を定義し、頂点一つの色別近傍による再帰上界から有限性を証明する。二つの母数が等しい場合の Ramsey 数を系として扱い、多色版、無限版および精密な漸近評価は扱わない。
- 確率的手法 — 有限確率空間上の和事象評価、第一モーメント法、Chebyshev の不等式を用いる第二モーメント法、および改変法によって有限離散構造の存在を証明する。ランダム二彩色による対角 Ramsey 数の指数的な下界と、ランダム頂点集合から得る独立集合の下界へ適用する。
フロー・マッチング・マトロイド
- 最大フロー最小カット定理 — 有限有向ネットワークと非負実容量について残余ネットワークと増加道を定義し、最大フロー最小カット定理を証明する。容量が整数の場合に Ford–Fulkerson 法が有限回で停止することと、整数値を取る最大フローが存在することを導く。
- 二部マッチングと Kőnig の定理 — 有限二部グラフについて交互道と増加道を定義し、増加道が存在しないことによって最大マッチングを特徴づける。増加道を繰り返してマッチングを大きくする手続きが有限回で停止し最大マッチングを与えることを示す。到達可能な頂点から同じ大きさの頂点被覆を構成し、最大マッチングの辺数と最小頂点被覆の頂点数が等しいことを証明する。
- Menger の定理 — 有限グラフの相異なる二頂点について、辺素な道と辺切断に関する Menger の定理を単位容量フローへ帰着して証明する。非隣接な二頂点について頂点分割を用い、内点素な道と両端点を除く頂点切断に関する版を導く。
- マトロイドの独立集合と基底 — 有限台集合上の独立集合公理と基底交換公理を定義し、両者が同じマトロイドを定めることを証明する。一様マトロイドとグラフ的マトロイドを標準例とし、線形マトロイドを追加例として扱う。
- マトロイドの回路と階数 — 有限マトロイドの回路と階数関数を独立集合から定義し、回路消去公理と階数公理を導く。回路の族または階数関数から独立集合族を復元し、各公理系が同じマトロイドを定めることを証明する。
- マトロイドと貪欲法 — 有限マトロイドの台集合に非負重みを与え、重みの降順に独立性を保って元を加えるアルゴリズムが最大重み基底を与えることを証明し、その反復回数と独立性の判定回数を数える。すべての非負重みと同順位の任意の処理順に対して同じアルゴリズムが正しい有限独立集合系を、マトロイドとして特徴づける。
アルゴリズムの設計と解析
- 動的計画法 — 有限有向非巡回グラフとして表される状態、遷移および境界値から漸化式を定め、位相順序による評価が各状態の値を正しく与えることを証明する。代表的な最適化問題について、状態数と遷移数から時間計算量と空間計算量を評価する。
- 償却解析 — 有限な操作列に対する償却計算量を最悪計算量および平均計算量と区別して定義し、集計法、会計法およびポテンシャル法による上界を証明する。会計法の信用残高とポテンシャル法の初期値・終端値の条件を明示し、二進カウンタと動的配列の操作列へ適用する。
形式的な数え上げの発展
- Lagrange の反転公式 — 有理数体上の一変数形式的冪級数について合成と形式微分を定義し、定数項が零で一次係数が零でない級数の合成逆元が一意に存在することを証明する。Lagrange–Bürmann の係数公式を証明し、Catalan 数と根付き平面木へ適用する。
平面グラフ彩色の発展
- 五色定理 — 有限単純平面的グラフについて Kempe 鎖と色交換を定義し、平面分離を与える Jordan 曲線定理をはじめとする、平面への描き方についての位相的な事実を外部結果として用いて五色定理の標準証明を再構成する。これらの位相的な事実は証明せず、本記事の結論を必修記事の根拠には用いない。
- 四色定理と放電法 — 有限単純平面的グラフの四色定理について、最小反例、不可避配置、放電規則および可約性検査が矛盾を導く証明構造を説明する。平面への描き方についての位相的な事実、最小反例を三角形分割へ還元する手順、不可避配置の全一覧および計算機検査は外部文献へ委ね、本記事の結論を他の記事の根拠には用いない。
組合せ最適化の発展
- Birkhoff–von Neumann の定理 — 有限次の二重確率行列の正成分が定める二部グラフへ Hall の定理を適用し、置換行列を逐次取り出すことによって置換行列の凸結合表示を証明する。線形割当問題の最適値が置換行列で達成されることを導く。
- マトロイドの双対 — 有限マトロイドの基底の補集合によって双対マトロイドを定義し、双対を二度取ると元のマトロイドへ戻ること、双対階数公式、回路と余回路の対応、および loop 元と coloop 元の特徴づけを証明する。
- マトロイドの削除・縮約とマイナー — 有限マトロイドの削除と縮約を定義し、独立集合、基底および階数による記述を証明する。loop 元と coloop 元について削除と縮約が一致することを示す。双対が削除と縮約を交換することを示し、削除と縮約の反復としてマイナーを定義する。
確率・乱択・近似
- ランダムグラフ — 各辺を独立に同じ確率で選ぶ有限ランダムグラフを定義し、辺、三角形および孤立点の個数の期待値を求める。辺を選ぶ確率が頂点数に依存する場合について、孤立点が存在しない性質の閾値を第一モーメント法と第二モーメント法によって証明する。
- 乱択アルゴリズム — 固定した入力に対する内部乱数の確率空間を定め、常に正しい Las Vegas 型と誤答確率をもつ Monte Carlo 型を区別する。検証可能な出力を得るまでの再試行の期待回数と、一側誤りのアルゴリズムの独立反復による誤り確率の減少を証明し、有限入力上の具体例へ適用する。
- 近似アルゴリズム — 有限最小化問題の近似比を定義し、極大マッチングから構成する頂点被覆が最適値の2倍以下であることを証明する。貪欲集合被覆の費用を要素への課金によって評価し、調和数による近似保証を証明する。近似不能性は扱わない。
本単元が扱う範囲と後続単元との境界
離散数学とアルゴリズムは、帰納法、数え上げの原理、通常母関数、順序集合、グラフの基本語彙、手続きの正当性と漸近計算量、探索、最短路、最小全域木、Hall の定理、貪欲彩色および平面グラフの Euler の公式を扱う。本単元は、これらを前提として中級的な構造定理とアルゴリズムへ進む。
- 群論入門は、有限群の作用、軌道安定化群定理および Burnside の補題を扱う。本単元は、これらを対称性のもとでの数え上げへ適用する。
- 線形代数 Iは、グラフ Laplacian の余因子によって全域木を数える行列木定理を扱う。本単元は行列木定理を再証明せず、グラフの構造と極値を別の方法で扱う。
- 確率論入門は、確率空間、期待値、分散、独立性、Markov の不等式および Chebyshev の不等式を扱う。本単元は、これらを有限離散構造の存在証明と乱択アルゴリズムの評価へ適用する。
- 組合せ論・グラフ理論は、母関数の解析的な漸近評価、極値集合論と Ramsey 理論の発展、Lovász の局所補題、Brooks と Vizing の定理、Kuratowski の定理、スペクトルグラフ理論および Szemerédi の正則性補題を扱う。
- 凸最適化は、一般の線形計画双対性、分離定理および凸最適化のアルゴリズムを扱う。本単元では、フローとマッチングの最小最大定理を組合せ論的に証明する。
- 計算理論は、Turing 機械による計算量、P と NP、NP 完全性および確率的計算量クラスを扱う。本単元は、個々のアルゴリズムの正当性、計算量および近似保証を扱う。
本単元が証明する主張には、次の限界がある。整数分割では、分割数の母関数と等式を証明し、分割数の漸近公式を扱わない。有限 Ramsey の定理では、二色の場合の有限性と再帰上界を証明し、多色版、無限版および精密な漸近評価を扱わない。近似アルゴリズムでは、近似比の上界を証明し、近似不能性を扱わない。
本単元が証明せずに用いる結果は、二種類に分かれる。
第一は、他の単元が証明した結果である。最大フロー最小カット定理では、実容量の場合に最大フローが存在することを示すために、コンパクト距離空間で扱う有界閉集合のコンパクト性を用いる。同記事が明示する従属選択公理の仮定は、この存在証明を置く最大フロー最小カット定理に及ぶ。さらにMenger の定理は、最大フローの値と最小カットの容量が等しいことを、非負実容量について証明された結果として参照するので、同じ仮定を継承する。従属選択公理の仮定が及ぶ記事は、本単元ではこの二つである。
第二は、外部の文献へ委ねる結果である。平面グラフ彩色の発展に属する二つの記事は、平面へ描いたグラフについての位相的な事実、すなわち Jordan 曲線定理による平面の分離、頂点のまわりの辺が巡回順序をもつこと、部分グラフが平面へ描けること、および各辺がちょうど二つの面の境界に一度ずつ現れることを、証明せずに認めて用いる。四色定理ではさらに、最小反例を三角形分割へ還元する手順、不可避配置の全一覧、および各配置の計算機による可約性検査を外部の文献へ委ねる。五色定理と四色定理の結論は、他の記事の根拠として用いない。