SlideShare a Scribd company logo
1 of 78
Download to read offline
マトロイドの世界
Combinatorial Optimization (Korte) 復習会 2日目 セミナー3
1
はじめに
本スライドはCombinatorial Optimization (Korte)
(左の写真)の輪読会の13, 14章のまとめとなっている。
マトロイドから劣モジュラ関数(submodular function)
について主に取り扱う。
証明の詳細については本書を参照されたい。
2
目次
u 1. マトロイド(matroid)導入
u 2. マトロイドの様々な公理(axiom)
u 3. マトロイドの双対性(duality)
u 4. マトロイドと貪欲法(greedy algorithm)
3
1. マトロイド(matroid)導入
マトロイドとは何かを理解しよう
4
導入 (1/7)
(問題1) 最小全域木問題
グラフ 𝐺 = (𝑉, 𝐸) と辺のコスト関数 𝑐: 𝐸 ⟶ ℝ が与えられた時に、全頂点を通るような
木(全域木, spanning tree)で含まれる辺のコストの総和が最小のものを求める問題
最小全域木(minimum spanning tree)
3
5 4
4
2
1
3
5 4
4
2
5
1
5
5
導入 (2/7)
(問題1) 最小全域木問題
最小全域木を求めるアルゴリズムとして、クラスカル法が有名
辺のコストが小さい順に選んでいき閉路や多重辺ができなければ追加していき、
全域木となったら終了する。
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
最小全域木(minimum spanning tree)
貪欲法(greedy algorithm)
6
導入 (3/7)
(問題1) 最小全域木問題
最小全域木を求める他のアルゴリズムとして、プリム法が有名
ある点からスタートし、すでに追加されている点からなるカット上で辺のコスト
が最も小さい辺を追加していき、全域木となったら終了する。
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
最小全域木(minimum spanning tree)
貪欲法(greedy algorithm)
7
導入 (4/7)
(問題1) 最小全域木問題
クラスカル法もプリム法も最小のものを順番に選んでいく
→ 貪欲法(greedy algorithm)
貪欲に選んで正しく最小全域木(minimum spanning tree)が求まる。
貪欲に選ぶとは…
候補を全て確認することなく目的に向かって真っ直ぐ突き進むイメージ
8
導入 (5/7)
(問題2) 最短路問題
グラフ 𝐺 = (𝑉, 𝐸) と辺のコスト関数 𝑐: 𝐸 ⟶ ℝ と2点𝑠, 𝑡が与えられた時に、sからtへの
最短路(コスト最小のパス)を求める問題
s
t
s
t
3
6 4
-5
2
1
3
6 4
-5
2
3
1
3
最短路(minimum length path)9
導入 (6/7)
(問題2) 最短路問題
コスト関数が0以上であるときの最短路を求めるアゴリズムとして、ダイクストラ法が有名
全ての頂点からsからの距離が最小の点を順番に取り除いていく。
取り除かれた点から辺を伝っていける全ての点に対し、sからの距離がその辺を使うことで
短くなるなら更新、短くならないならそのままにする。
全ての頂点が取り除かれたら終了。
貪欲法(greedy algorithm)
0
∞
3
46
6 4
2
3
1
-5
3
0
5
3
46
6 4
2
3
1
-5
3 0
5
3
46
6 4
2
3
1
-5
3
0
5
3
46
6 4
2
3
1
-5
3
0
5
3
16
6 4
2
3
1
-5
3
コストが負の辺があると失敗することがある
実際に、最短路でないものが求まった
10
導入 (7/7)
最小全域木問題は貪欲法で解ける。
最短路問題は負のコストの辺があると貪欲法では解けない。
↓
何が違うのか?
毎回貪欲法のアルゴリズムを作って正当かどうかを吟味する必要がある?
貪欲法が使えるような問題には何か共通した性質や構造がないだろうか?
↓
実は、マトロイド(matroid)という構造を考えれば貪欲法がうまく動くことがわかる
貪欲法の証明は本スライド4節で取り扱う。
1節ではマトロイド(matroid)を定義することとする。
11
マトロイド(matroid)とは (1/3)
u 元々は線形独立性を抽象的に特徴付ける試み
u matroid = matrix + oid
u まずは準備。多くの組み合わせ最適化問題は以下のようにかける。
Input: 集合系(set system) 𝐸, ℱ , コスト関数(cost) 𝑐: ℱ ⟶ ℝ
Task: 𝑎𝑟𝑔 max
!⊆#
𝑐 𝑋 を求める
(ただし、𝑐 𝑋 ≔ ∑$∈! 𝑐(𝑒)である。)
12
マトロイド(matroid)とは (2/3)
u 集合系(set system) (𝐸, ℱ)が独立系(independence system)であるとは以下を満たすこと。
(M1) ∅ ∈ ℱ
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
(独立系の例)
𝐸 = 𝑎, 𝑏, 𝑐
ℱ = {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 }
a b c
13
マトロイド(matroid)とは (3/3)
u 独立系(independence system)がマトロイド(matroid)であるとは、
(M1) ∅ ∈ ℱ
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
に加えて以下も満たすこと。
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
(マトロイドの例)
𝐸 = 𝑎, 𝑏, 𝑐
ℱ = {∅, a , b , {a, b}}
a b c
14
マトロイドの例 (1/4)
vector matroid (最も基本的なマトロイド)
𝐴: ある体上の行列
このとき、
𝐸 ≔ {𝐴の行ベクトル}
ℱ ≔ {𝐹 ⊆ 𝐸|𝐹内の行ベクトルが線型独立(𝑙𝑖𝑛𝑒𝑎𝑙𝑦 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑡)}
と定めると(𝐸, ℱ)はマトロイド(matroid)となる。
(証明)
(M1) 明らか。
(M2) 線型独立なベクトルの集合の部分集合も線型独立。
(M3) 行列のランクの数までは線型独立な行ベクトルが選べるので明らか。∎
マトロイドの公理 (再掲)
(M1) ∅ ∈ ℱ
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
15
マトロイドの例 (2/4)
graphic matroid (cycle matroid, グラフに関するマトロイド)
無向グラフ𝐺 = (𝑉(𝐺), 𝐸(𝐺))に対し、
𝐸: = 𝐸 𝐺
ℱ ≔ {𝐹 ⊆ 𝐸|(𝑉 𝐺 , 𝐹)は森(𝑓𝑜𝑟𝑒𝑠𝑡)}
と定めると(𝐸, ℱ)はマトロイド(matroid)となる。
(証明)
(M1) 明らか。
(M2) 森(forest)の部分グラフは森(forest)。
(M3) (V(G), Y)はspanning tree (全域木)ではないので、閉路を作らずまだ辺を
追加できる。∎
マトロイドの公理 (再掲)
(M1) ∅ ∈ ℱ
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
16
マトロイドの例 (3/4)
uniform matroid (シンプルなマトロイド)
𝑘 ∈ ℤ&とする。
このとき、
𝐸: ある有限集合
ℱ ≔ {𝐹 ⊆ 𝐸||𝐹| ≤ 𝑘}
と定めると(𝐸, ℱ)はマトロイド(matroid)となる。
(証明)
(M1) 明らか。
(M2) 明らか。
(M3) 明らか。∎
マトロイドの公理 (再掲)
(M1) ∅ ∈ ℱ
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
17
マトロイドの例 (4/4)
無向グラフ𝐺 = (𝑉(𝐺), 𝐸(𝐺))に対し、
𝑆 ⊆ 𝑉(𝐺)を独立集合(stable set)とする。
(※ 独立集合とは、辺を通じて互いに隣接していない頂点集合のこと)
𝑘' ∈ ℤ& (𝑠 ∈ 𝑆)と定める。
このとき、
𝐸 ≔ 𝐸 𝐺
ℱ ≔ {𝐹 ⊆ 𝐸||𝛿( 𝑠 | ≤ 𝑘' 𝑓𝑜𝑟 𝑎𝑙𝑙 𝑠 ∈ 𝑆}
と定めると、(𝐸, ℱ)はマトロイド(matroid)となる。
(証明)
省略する。∎
マトロイドの公理 (再掲)
(M1) ∅ ∈ ℱ
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
a
b
𝑆 = 𝑎, 𝑏 , 𝑘) = 1, 𝑘* = 0
𝐸 = 1,2,3,4,5,6,7
ℱ = {∅, 1 , 2 , 3 , 4 , 5 , 1,4 , 2,4 , 3,4 , 1,5 , 2,5 , 3,5 , 4,5 , 1,4,5 , 2,4,5 , {3,4,5}}
1
2 3
4
5
6
7
18
2. マトロイドの様々な公理(axiom)
マトロイドの種々の公理を眺め、それらの等価性を確認しよう
19
独立公理(independece axiom) (1/2)
u 実はマトロイドの公理はいろいろある。
u 先ほど取り上げた公理を独立公理(independence axiom)という。
(M1) ∅ ∈ ℱ
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
20
独立公理(independece axiom) (2/2)
u (M3)は(M3’), (M3’’)のいずれとも等価 (交換可能)
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
(M3’) 𝑋, 𝑌 ∈ ℱ, 𝑋 = 𝑌 + 1 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
(M3’’) ∀𝑋 ⊆ 𝐸. 𝑚𝑎𝑥𝑖𝑚𝑎𝑙 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑡 𝑠𝑢𝑏𝑠𝑒𝑡𝑠 = 𝑏𝑎𝑠𝑒𝑠 𝑜𝑓 𝑋 ℎ𝑎𝑣𝑒 𝑡ℎ𝑒 𝑠𝑎𝑚𝑒 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑙𝑖𝑡𝑦
u 他の公理を眺め、公理の等価性を確認する。
u 基公理 (base axiom)
u ランク公理 (rank axiom)
u 閉包公理 (closure axiom)
u サーキット公理 (circuit axiom)
21
(M3) <=> (M3’), (M3’) => (M3’’)はすぐにわかる。
(M3’’) => (M3)の証明
𝑋, 𝑌 ∈ ℱ, 𝑋 > |𝑌|とする。
このとき(M3’’)より𝑌は𝑋 ∪ 𝑌の基ではない。
よって、ある𝑥 ∈ 𝑋 ∪ 𝑌 Y = 𝑋Yが存在して𝑌 ∪ {𝑥} ∈ ℱとなる。∎
準備 (1/3)
(𝐸, ℱ)を独立系(independence system)としたとき、
ℱの要素を独立(independent)といい、2#ℱの要素を従属(dependent)という。
極大な独立(independent)な要素を基(base)という。
極小な従属(dependent)な要素をサーキット(circuit)という。
𝑟 𝑋 ≔ max 𝑌 𝑌 ⊆ 𝑋, 𝑌 ∈ ℱ}をXのランク(rank)という。
𝜎 𝑋 ≔ 𝑦 ∈ 𝐸 𝑟 𝑋⋃ 𝑦 = 𝑟(𝑋)}をXの閉包(closure)という。
22
準備 (2/3)
(Exercise 1)
𝐸 ≔ 𝑎, 𝑏, 𝑐
ℱ ≔ {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 }
という独立系(independence system)について以下の問いの答えよ。
1. 独立(independent)な要素を全て答えよ。
2. 従属(dependent)な要素を全て答えよ。
3. 基(base)を全て答えよ。
4. サーキット(circuit)を全て答えよ。
5. X={b,c}とする。Xのランク(rank)と閉包(closure)を答えよ。
23
準備 (3/3)
(Exercise 1の答え)
1. ∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏
2. 𝑎, 𝑐 , 𝑏, 𝑐 , 𝑎, 𝑏, 𝑐 = E
3. 𝑎, 𝑏 , {𝑐}
4. 𝑎, 𝑐 , 𝑏, 𝑐
5. 𝑟 𝑋 = 1, 𝜎 𝑋 = 𝑏, 𝑐 = 𝑋
24
基公理(base axiom) (1/3)
※ 極大な独立(independent)な要素を基(base)という。
ℬ ⊆ 2#とする。
このとき、ℬがあるマトロイド 𝐸, ℱ の基(base)の集合であることと以下が同値
(B1) ℬ ≠ ∅
(B2) ∀𝐵+, 𝐵, ∈ ℬ. ∀𝑥 ∈ 𝐵+𝐵,. ∃𝑦 ∈ 𝐵,𝐵+ 𝑠. 𝑡. 𝐵+{𝑥} ∪ {𝑦} ∈ ℬ
(B1), (B2)はマトロイドの公理とみなせる。これが基公理(base axiom)である。
25
基公理(base axiom) (2/3)
ℬ ⊆ 2#
とする。
このとき、ℬがあるマトロイド 𝐸, ℱ の基(base)の集合であることと以下が同値
(B1) ℬ ≠ ∅
(B2) ∀𝐵+, 𝐵, ∈ ℬ. ∀𝑥 ∈ 𝐵+𝐵,. ∃𝑦 ∈ 𝐵,𝐵+ 𝑠. 𝑡. 𝐵+{𝑥} ∪ {𝑦} ∈ ℬ
(=>の証明)
(B1) 明らか。
(B2) 𝐵+, 𝐵,と𝑥 ∈ 𝐵+𝐵,に対して、(M2)より𝐵+{𝑥}は独立。
𝐵, > |𝐵+{𝑥}|なので(M3)より∃𝑦 ∈ 𝐵,(𝐵+{𝑥}) = 𝐵,𝐵+ 𝑠. 𝑡. (𝐵+{𝑥}) ∪ {𝑦} ∈ ℱ
(M3’’)を考えると (𝐵+{𝑥}) ∪ {𝑦} ∈ ℬが言える。∎
26
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
(M3’’) ∀𝑋 ⊆ 𝐸. 𝑏𝑎𝑠𝑒𝑠 𝑜𝑓 𝑋 ℎ𝑎𝑣𝑒 𝑡ℎ𝑒 𝑠𝑎𝑚𝑒 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑙𝑖𝑡𝑦
基公理(base axiom) (3/3)
ℬ ⊆ 2!
とする。
このとき、ℬがあるマトロイド 𝐸, ℱ の基(base)の集合であることと以下が同値
(B1) ℬ ≠ ∅
(B2) ∀𝐵", 𝐵# ∈ ℬ. ∀𝑥 ∈ 𝐵"𝐵#. ∃𝑦 ∈ 𝐵#𝐵" 𝑠. 𝑡. 𝐵"{𝑥} ∪ {𝑦} ∈ ℬ
(<=の証明)
ℬが(B1), (B2)を満たすとする。
このとき、ℱ ≔ {𝑋 ⊆ 𝐸|∃𝐵 ∈ ℬ 𝑠. 𝑡. 𝑋 ⊆ 𝐵}とおくと、(𝐸, ℱ)はマトロイドになる。
(M1) 明らか。
(M2) 基の集合はℱの定義より明らかにℬに含まれる。
基でない𝐵 ∈ ℬがあるとすると、∃𝐹$
∈ ℱ. ∃𝐵$
∈ ℬ 𝑠. 𝑡. 𝐵 ⊊ 𝐹′ ⊆ 𝐵′
ところが、𝐵B$
= ∅となって(B2)に矛盾する。
(M3) 𝑋, 𝑌 ∈ ℱ, X > |Y|とし、𝑋 ⊆ 𝐵" ∈ ℬ, 𝑌 ⊆ 𝐵# ∈ ℬとなる𝐵", 𝐵#を|𝐵" ∩ 𝐵#|が最大になるように取る。
背理法で|𝐵" ∩ 𝐵#|の最大性に矛盾させる (以下略) ∎
27
(M1) ∅ ∈ ℱ
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
ランク公理 (rank axiom) (1/4)
※ 𝑟 𝑋 ≔ max 𝑌 𝑌 ⊆ 𝑋, 𝑌 ∈ ℱ}をXのランク(rank)という。
𝑟があるマトロイド 𝐸, ℱ のランク関数(rank function)であることと以下が同値
∀𝑋, 𝑌 ⊆ 𝐸に対し、
(R1) 𝑟(𝑋) ≤ |𝑋|
(R2) 𝑋 ⊆ 𝑌 ⟹ 𝑟 𝑋 ≤ 𝑟 𝑌
(R3) 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ≤ 𝑟 𝑋 + 𝑟(𝑌) 劣モジュラ性(submodularity)
(R1), (R2), (R3)はマトロイドの公理とみなせる。これがランク公理(rank axiom)
である。
28
ランク公理 (rank axiom) (2/4)
𝑟があるマトロイド 𝐸, ℱ のランク関数(rank function)であることと以下が同値
∀𝑋, 𝑌 ⊆ 𝐸に対し、
(R1) 𝑟(𝑋) ≤ |𝑋|
(R2) 𝑋 ⊆ 𝑌 ⟹ 𝑟 𝑋 ≤ 𝑟 𝑌
(R3) 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ≤ 𝑟 𝑋 + 𝑟(𝑌) 劣モジュラ性(submodularity)
(<=の証明)
(R1) 明らか。
(R2) 明らか。
(R3) 𝑋 ∩ 𝑌の基を𝐴とする。
(M3)に基づいて1つずつ要素を追加することにより、
𝑋の基𝐴 ⊔ 𝐵と𝑋 ∪ 𝑌の基(𝐴 ⊔ 𝐵) ⊔ 𝐶を作る。
このとき、𝐴 ⊔ 𝐶は𝑌の独立な部分集合である。
以上より、
𝑟 𝑋 + 𝑟 𝑌 ≥ 𝐴 ⊔ 𝐵 + 𝐴 ⊔ 𝐶 = 𝐴 + 𝐵 + 𝐶 + 𝐷
= 𝐴 ⊔ 𝐵 ⊔ 𝐶 + 𝐴 = 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ∎
29
ランク公理 (rank axiom) (3/4)
𝑟があるマトロイド 𝐸, ℱ のランク関数(rank function)であることと以下が同値
∀𝑋, 𝑌 ⊆ 𝐸に対し、
(R1) 𝑟(𝑋) ≤ |𝑋|
(R2) 𝑋 ⊆ 𝑌 ⟹ 𝑟 𝑋 ≤ 𝑟 𝑌
(R3) 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ≤ 𝑟 𝑋 + 𝑟(𝑌) 劣モジュラ性(submodularity)
(=>の証明)
𝑟が(R1), (R2), (R3)を満たすとする。
このとき、ℱ ≔ {𝑋 ⊆ 𝐸|𝑟 𝑋 = |𝑋|}とおくと、(𝐸, ℱ)はマトロイドになる。
(M1) (R1)より明らか。
(M2), (M3)については省略。∎
30
ランク公理 (rank axiom) (4/4)
ランク公理
∀𝑋, 𝑌 ⊆ 𝐸に対し、
(R1) 𝑟(𝑋) ≤ |𝑋|
(R2) 𝑋 ⊆ 𝑌 ⟹ 𝑟 𝑋 ≤ 𝑟 𝑌
(R3) 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ≤ 𝑟 𝑋 + 𝑟(𝑌) 劣モジュラ性(submodularity)
は、以下に言い換えが可能。(証明略)
∀𝑋 ⊆ 𝐸, ∀𝑥, 𝑦 ∈ 𝐸に対し、
(R1’) 𝑟 ∅ = 0
(R2’) 𝑟 𝑋 ≤ 𝑟 𝑋 ∪ 𝑦 ≤ 𝑟 𝑋 + 1
(R3’) 𝑟 𝑋 ∪ 𝑥 = 𝑟 𝑋 ∪ 𝑦 = 𝑟 𝑋 ⟹ 𝑟 𝑋 ∪ 𝑥, 𝑦 = 𝑟(𝑋)
31
閉包公理 (closure axiom) (1/2)
※ 𝜎 𝑋 ≔ 𝑦 ∈ 𝐸 𝑟 𝑋⋃ 𝑦 = 𝑟(𝑋)}をXの閉包(closure)という。
𝜎があるマトロイド 𝐸, ℱ の閉包関数(closure function)であることと以下が同値
∀𝑋 ⊆ 𝐸, ∀𝑥, 𝑦 ∈ 𝐸に対し、
(S1) 𝑋 ⊆ 𝜎(𝑋)
(S2) 𝑋 ⊆ 𝑌 ⟹ 𝜎 𝑋 ⊆ 𝜎 𝑌
(S3) 𝜎 𝑋 = 𝜎(𝜎 𝑋 )
(S4) 𝑦 ∉ 𝜎(𝑋) ∧ 𝑦 ∈ 𝜎(𝑋 ∪ {𝑥}) ⟹ 𝑥 ∈ 𝜎(𝑋 ∪ {𝑦})
(S1), (S2), (S3), (S4)はマトロイドの公理とみなせる。これが閉包公理(closure axiom)
である。
32
閉包公理 (closure axiom) (2/2)
𝜎があるマトロイド 𝐸, ℱ の閉包関数(closure function)であることと以下が同値
∀𝑋 ⊆ 𝐸, ∀𝑥, 𝑦 ∈ 𝐸に対し、
(S1) 𝑋 ⊆ 𝜎(𝑋)
(S2) 𝑋 ⊆ 𝑌 ⟹ 𝜎 𝑋 ⊆ 𝜎 𝑌
(S3) 𝜎 𝑋 = 𝜎(𝜎 𝑋 )
(S4) 𝑦 ∉ 𝜎(𝑋) ∧ 𝑦 ∈ 𝜎(𝑋 ∪ {𝑥}) ⟹ 𝑥 ∈ 𝜎(𝑋 ∪ {𝑦})
証明は少し複雑なので本を参照。ここでは省略。
ℱ ≔ {𝑋 ⊆ 𝐸|∀𝑥 ∈ 𝑋. 𝑥 ∉ 𝜎 𝑋 𝑥 }とおく。
33
サーキット公理 (circuit axiom) (1/2)
※ 極小な従属(dependent)な要素をサーキット(circuit)という。
𝒞 ⊆ 2#とする。
このとき、𝒞があるマトロイド 𝐸, ℱ のサーキット(circuit)の集合であることと以下が同値
(C1) ∅ ∉ 𝒞
(C2) ∀𝐶+, 𝐶, ∈ 𝒞. 𝐶+ ⊆ 𝐶, ⟹ 𝐶+ = 𝐶,
(C3) ∀𝐶+, 𝐶, ∈ 𝒞 𝐶+ ≠ 𝐶, . ∀𝑒 ∈ 𝐶+ ∩ 𝐶,. ∃𝐶D ∈ 𝒞 𝑠. 𝑡. 𝐶D ⊆ (𝐶+⋃𝐶,){𝑒}
(C1), (C2), (C3)はマトロイドの公理とみなせる。これが基公理(base axiom)である。
34
サーキット公理 (circuit axiom) (2/2)
サーキット公理
(C1) ∅ ∉ 𝒞
(C2) ∀𝐶!, 𝐶" ∈ 𝒞. 𝐶! ⊆ 𝐶" ⟹ 𝐶! = 𝐶"
(C3) ∀𝐶!, 𝐶" ∈ 𝒞 𝐶! ≠ 𝐶" . ∀𝑒 ∈ 𝐶! ∩ 𝐶". ∃𝐶# ∈ 𝒞 𝑠. 𝑡. 𝐶# ⊆ (𝐶!⋃𝐶"){𝑒}
の(C3)は以下(C3’), (C3’’)と交換可能。
(C3’) ∀𝐶!, 𝐶" ∈ 𝒞. ∀𝑒 ∈ 𝐶! ∩ 𝐶". ∀𝑓 ∈ 𝐶!𝐶". ∃𝐶# ∈ 𝒞 𝑠. 𝑡. 𝑓 ∈ 𝐶# ⊆ (𝐶!⋃𝐶"){𝑒}
(C3’’) ∀𝑋 ∈ ℱ. ∀𝑒 ∈ 𝐸. 𝑋 ∪ 𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑠 𝑎𝑡 𝑚𝑜𝑠𝑡 𝑜𝑛𝑒 𝑐𝑖𝑟𝑐𝑢𝑖𝑡.
証明は少し複雑なので本を参照。ここでは省略。
ℱ ≔ {𝑋 ⊆ 𝐸|∄𝐶 ∈ 𝒞 𝑠. 𝑡. 𝐶 ⊆ 𝑋}とおく。
35
3. マトロイドの双対性(duality)
双対マトロイドについて理解しよう
36
双対な独立系(dual independence system)
(1/6)
u 独立系(𝐸, ℱ)に対し、その双対(dual)(𝐸, ℱ∗
)は
ℱ∗ ≔ 𝑋 ⊆ 𝐸 ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅}
と定められる。
(Exercise 2)
𝐸 ≔ 𝑎, 𝑏, 𝑐
ℱ ≔ {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 }
という独立系(independence system)の双対な独立系を求めよ。
37
双対な独立系(dual independence system)
(2/6)
(Exercise 2の答え)
𝐸 ≔ 𝑎, 𝑏, 𝑐
ℱ ≔ {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 }
のbaseは 𝑎, 𝑏 , {𝑐}。
ℱ∗ ≔ 𝑋 ⊆ 𝐸 ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅}
より、この二つのbaseそれぞれと交わりを持たない要素を全て挙げれば良い。
{𝑎, 𝑏}と交わりを持たないのは、∅, c
{𝑐}と交わりを持たないのは、∅, 𝑎 , 𝑏 , 𝑎, 𝑏
よって、ℱ∗
= ∅, 𝑎 , 𝑏 , 𝑐 , {𝑎, 𝑏} = ℱと求まる。
※一般に ℱ, ℱ∗
は等しくならない。
38
双対な独立系(dual independence system)
(3/6)
u 双対なので、2回適用すれば元に戻る。つまり
𝐸, ℱ = (𝐸, ℱ∗∗
)
となることを示していく。
[Lemma A] 𝐵が 𝐸, ℱ の𝑏𝑎𝑠𝑒 ⟹ 𝐸𝐵が 𝐸, ℱ∗
の𝑏𝑎𝑠𝑒
(証明)
まず、ℱ∗
の定義より
∀𝑋 ∈ ℱ∗
. ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ⊆ 𝐸𝐵
これより、
∀𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ . 𝐸𝐵 ∈ ℱ∗
が言える。あとは極大性を言えば良い。背理法で示す。
∃𝑥 ∈ 𝐵 𝑠. 𝑡. 𝐸(𝐵{𝑥}) ∈ ℱ∗
とすると、
∃𝑏𝑎𝑠𝑒 𝐶 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝐶 ⊆ 𝐵{𝑥}
となる。ところが、これは
𝐶 ∪ {𝑥} ⊆ 𝐵 ∈ ℱ ⟶ 𝐶 ∪ {𝑥} ∈ ℱ
を意味し、Cの極大性に矛盾。∎
39
双対な独立系(dual independence system)
(4/6)
u 双対なので、2回適用すれば元に戻る。つまり
𝐸, ℱ = (𝐸, ℱ∗∗
)
となることを示していく。
[Lemma B] 𝐸, ℱ∗
も独立系
(証明)
(M1) どんなbase 𝐵に対しても𝐵 ∩ ∅ = ∅より∅ ∈ ℱ∗
(M2) 𝑋 ⊆ 𝑌 ∈ ℱ∗より定義から
∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑌 ∩ 𝐵 = ∅
であり、𝑋 ∩ 𝐵 = ∅ ⟶ 𝑋 ∈ ℱ∗∎
40
双対な独立系(dual independence system)
(5/6)
u 双対なので、2回適用すれば元に戻る。つまり
𝐸, ℱ = (𝐸, ℱ∗∗
)
となることを示していく。
[Lemma A] 𝐵が 𝐸, ℱ の𝑏𝑎𝑠𝑒 ⟹ 𝐸𝐵が 𝐸, ℱ∗
の𝑏𝑎𝑠𝑒
[Lemma B] 𝐸, ℱ∗ も独立系
↓
[*] 𝐵が 𝐸, ℱ の𝑏𝑎𝑠𝑒 ⟺ 𝐸𝐵が 𝐸, ℱ∗
の𝑏𝑎𝑠𝑒
が言える。
41
双対な独立系(dual independence system)
(6/6)
u 双対なので、2回適用すれば元に戻る。つまり
𝐸, ℱ = (𝐸, ℱ∗∗
)
となることを示していく。
(証明)
𝑋 ∈ ℱ∗∗
⟺ ∃𝑏𝑎𝑠𝑒 𝐵∗
𝑜𝑓 𝐸, ℱ∗
𝑠. 𝑡. 𝑋 ∩ 𝐵∗
= ∅
[*] 𝐵が 𝐸, ℱ の𝑏𝑎𝑠𝑒 ⟺ 𝐸𝐵が 𝐸, ℱ∗
の𝑏𝑎𝑠𝑒
より
∃𝑏𝑎𝑠𝑒 𝐵∗ 𝑜𝑓 𝐸, ℱ∗ 𝑠. 𝑡. 𝑋 ∩ 𝐵∗ = ∅ ⟺ ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐸B = ∅
が言える。
𝐹 ∈ ℱ ⟹ ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐸B = ∅
は明らか。逆は、
𝑋 ∩ 𝐸B = ∅ ⟶ 𝑋 ⊆ 𝐵 ∈ ℱ
となあるので従う。∎
42
マトロイドの双対性(duality) (1/3)
Theorem 13.15
1. (𝐸, ℱ)がマトロイド (matroid)⟺ 𝐸, ℱ∗ がマトロイド(matroid)
2. 双対マトロイドのランク関数(rank function)は𝑟∗ 𝑋 = 𝑋 + 𝑟 𝐸X − 𝑟 𝐸
(2の証明)
𝑟∗がランク公理を満たすことを確認する。
(R1) 𝑟∗
𝑋 = 𝑋 + 𝑟 𝐸X − 𝑟 𝐸 ≤ 𝑋 + 𝑟 𝐸 − 𝑟 𝐸 = 𝑋
(R2) 𝑋 ⊆ 𝑌 ⊆ 𝐸とすると、劣モジュラ性(R3)より、
𝑟 𝐸X + 0 = 𝑟 𝐸Y ∪ 𝑌X + 𝑟 ∅ ≤ 𝑟 𝐸Y + 𝑟 𝑌X
これより
𝑟 𝐸X − 𝑟 𝐸Y ≤ 𝑟 𝑌X ≤ 𝑌X = 𝑌 − |𝑋|
よって、
𝑟∗ 𝑌 − 𝑟∗ 𝑋 = 𝑌 + 𝑟 𝐸Y + 𝑟 𝐸 − 𝑋 + 𝑟 𝐸X + 𝑟 𝐸
= 𝑌 − 𝑋 − (𝑟 𝐸X − 𝑟(𝐸Y)) ≥ 0 43
マトロイドの双対性(duality) (2/3)
Theorem 13.15
1. (𝐸, ℱ)がマトロイド (matroid)⟺ 𝐸, ℱ∗ がマトロイド(matroid)
2. 双対マトロイドのランク関数(rank function)は𝑟∗ 𝑋 = 𝑋 + 𝑟 𝐸X − 𝑟 𝐸
(2の証明続き)
(R3) 𝑋, 𝑌 ⊆ 𝐸に対し、
𝑟∗
𝑋 ∪ 𝑌 + 𝑟∗
𝑋 ∩ 𝑌 = 𝑋 ∪ 𝑌 − 𝑟(𝐸(𝑋 ∪ 𝑌)) − 𝑟(𝐸) + 𝑋 ∩ 𝑌 − 𝑟(𝐸(𝑋 ∩ 𝑌)) − 𝑟(𝐸)
= 𝑋 + 𝑌 + 𝑟 𝐸X ∪ 𝐸Y + 𝑟 𝐸X ∩ 𝐸Y − 2𝑟 𝐸
劣モジュラ性(R3)より、
≤ 𝑋 + 𝑌 + 𝑟 𝐸X + 𝑟 𝐸Y − 2𝑟 𝐸 = 𝑟∗
𝑋 + 𝑟∗
𝑌 ∎
44
マトロイドの双対性(duality) (3/3)
Theorem 13.15
1. (𝐸, ℱ)がマトロイド (matroid)⟺ 𝐸, ℱ∗ がマトロイド(matroid)
2. 双対マトロイドのランク関数(rank function)は𝑟∗
𝑋 = 𝑋 + 𝑟 𝐸X − 𝑟 𝐸
(1の証明)
𝑟∗ 𝑋 = |𝑋| ⟺ 𝑋 ∈ ℱ∗を言えば良い。
𝑟∗
𝑋 = 𝑋 ⟺ 𝑟 𝐸X = 𝑟 𝐸
⟺ max 𝑌 𝑌 ⊆ 𝐸X, 𝑌 ∈ ℱ} = max{ 𝑍 | 𝑍 ⊆ 𝐸, 𝑍 ∈ ℱ}
であり、
max 𝑌 𝑌 ⊆ 𝐸X, 𝑌 ∈ ℱ} = max{ 𝑍 | 𝑍 ⊆ 𝐸, 𝑍 ∈ ℱ} ⟹ ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅
は明らか。⟸を示す。≤は明らか。反対を背理法によって示す。
𝑌 < |𝑍|と仮定すると、(M3)より∃𝑥 ∈ 𝑍Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱとなってYの最大性に反する。∎
45
双対マトロイドの例 (1/2)
平面に埋め込めるようなグラフを平面グラフ(planar graph)という。
面に点をおき、辺を横切るように辺を生やして新たにできるグラフを平面双対(planar dual)
という。(G*と書く)
このとき、G=G**が成り立つ。
46G
G*
双対マトロイドの例 (2/2)
[再掲]
graphic matroid (cycle matroid, グラフに関するマトロイド)
無向グラフ𝐺 = (𝑉(𝐺), 𝐸(𝐺))に対し、
𝐸: = 𝐸 𝐺
ℱ ≔ {𝐹 ⊆ 𝐸|(𝑉 𝐺 , 𝐹)は森(𝑓𝑜𝑟𝑒𝑠𝑡)}
と定めると(𝐸, ℱ)はマトロイド(matroid)となる。
このとき、平面グラフの平面双対と、cycle matroidの双対が対応する!!
ℳ 𝐺∗
= (ℳ(𝐺))∗
証明はここでは省略。Theorem13.16を参照
47
4. マトロイドと貪欲法(greedy algorithm)
マトロイド上で貪欲法が正しく動くことを確認しよう
48
マトロイドと貪欲法(greedy algorithm)
u さて、いよいよメインテーマであるマトロイド上での貪欲法について見ていこう。
目標: マトロイド上の貪欲法は最適解を返すことを証明する。
49
貪欲法(greedy algorithm) (1/5)
u まずは独立系(independence system)の上で貪欲法(greedy algorithm)を定義しよう。
u 考える問題は以下の二つ
独立系(𝐸, ℱ)とコスト関数𝑐: 𝐸 ⟶ ℝが与えられた時、
1. 最大化問題: 𝑐(𝑋)が最大になる𝑋 ∈ ℱを求める問題
2. 最小化問題: 𝑐(𝐵)が最小になる基(base)𝐵を求める問題
50
貪欲法(greedy algorithm) (2/5)
最大化問題: 𝑐(𝑋)が最大になる𝑋 ∈ ℱを求める問題
この問題に対する貪欲法は以下。
BEST-IN-GREEDY ALGORITHM
Input: 独立系(𝐸, ℱ), コスト関数𝑐: 𝐸 ⟶ ℝ&,
independence oracle (𝑋 ⊆ 𝐸がℱの要素か判定)
1. 𝐸の要素を𝑐 𝑒! ≥ 𝑐 𝑒" ≥ … ≥ 𝑐(𝑒') となるように𝐸 = {𝑒!, 𝑒", … , 𝑒'}とソート
2. 𝑋 ≔ ∅とする。
3. 𝑖 = 1, . . , 𝑛に対し順番に𝑋 ∪ {𝑒(} ∈ ℱなら𝑋 ≔ 𝑋 ∪ {𝑒(}と更新していく。
51
basis-superset oracleで判定
ソートにO(nlog n)
oracleの計算時間をO(γ)とすると全体で
O(nlog n+γn)
貪欲法(greedy algorithm) (3/5)
最小化問題: 𝑐(𝐵)が最小になる基(base)𝐵を求める問題
この問題に対する貪欲法は以下。
WORST-OUT-GREEDY ALGORITHM
Input: 独立系(𝐸, ℱ), コスト関数𝑐: 𝐸 ⟶ ℝ&,
basis-superset oracle (𝑋 ⊆ 𝐸がℱのbaseを含んでいるかを判定)
1. 𝐸の要素を 𝑐 𝑒! ≤ 𝑐 𝑒" ≤ … ≤ 𝑐(𝑒') となるように𝐸 = {𝑒!, 𝑒", … , 𝑒'}とソート
2. 𝑋 ≔ 𝐸とする。
3. 𝑖 = 1, . . , 𝑛に対し順番に𝑋{𝑒(}がbaseを含むなら𝑋 ≔ 𝑋{𝑒(}と更新していく。
52
independence oracleで判定
ソートにO(nlog n)
oracleの計算時間をO(γ)とすると全体で
O(nlog n+γn)
貪欲法(greedy algorithm) (4/5)
(Exercise 3)
独立系
𝐸 = 𝑎, 𝑏, 𝑐
ℱ = {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 }
と、マトロイド
𝐸 = 𝑎, 𝑏, 𝑐
ℱ = {∅, a , b , {a, b}}
において
𝑐 𝑎 = 2, 𝑐 𝑏 = 3, 𝑐 𝑐 = 4
というコスト関数のもとで
- BEST-IN-GREEDY ALGORITHMで最大化問題
- WORST-OUT-GREEDY ALGORITHMで最小化問題
をそれぞれ解き、最適解と比較せよ。
53
貪欲法(greedy algorithm) (5/5)
(Exercise 3の答え)
[最大化問題]
双方の最適解: X={a,b}, c(X)=5
独立系での結果: X={c}, c(X)=4 → 最適解と一致しない!!
マトロイドでの結果: X={a,b}, c(X)=5 → 最適解と一致!!
[最小化問題]
独立系の最適解: B={c}, c(B)=4
独立系での結果: B={c}, c(B)=4 → 最適解と一致!!
マトロイドの最適解: B={a,b}, c(B)
マトロイドでの結果: B={a,b}, c(B)=5 → 最適解と一致!!
54
Lower rankとランク商(rank quotient)
目標: マトロイド上の貪欲法は最適解を返すことを証明する。
目標を果たそう。まずは準備。
独立系(𝐸, ℱ)に対し、
𝜌 𝑋 ≔ min 𝑌 𝑌 ⊆ 𝑋, ∀𝑥 ∈ 𝑋Y. 𝑌 ∪ {𝑥} ∉ ℱ}
をXのlower rankと定める。これと、ランク関数(rank function)
𝑟 𝑋 ≔ max 𝑌 𝑌 ⊆ 𝑋, 𝑌 ∈ ℱ}
を用いて、ランク商(rank quotient)を
𝑞 𝐸, ℱ ≔ min
!⊆#
𝜌(𝑋)
𝑟(𝑋)
と定める。
55
- lower rankはXに含まれる最小のbaseの大きさ
- rankはXに含まれる最大のbaseの大きさ
マトロイドとランク商(rank quotient)
[Proposition 13.7] 独立系(𝐸, ℱ)に対し、
(a) 𝑞(𝐸, ℱ) ≤ 1
(b) (𝐸, ℱ)がマトロイド(matroid) ⟺ 𝑞 𝐸, ℱ = 1
(証明)
(a) 𝑞 𝐸, ℱ ≔ min
!⊆#
T(!)
U(!)
, lower rankはXに含まれる最小のbaseの大きさ, rank
はXに含まれる最大のbaseの大きさなので明らか。
(b) (M3’’) ∀𝑋 ⊆ 𝐸. 𝑏𝑎𝑠𝑒𝑠 𝑜𝑓 𝑋 ℎ𝑎𝑣𝑒 𝑡ℎ𝑒 𝑠𝑎𝑚𝑒 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑙𝑖𝑡𝑦 と𝑞 𝐸, ℱ = 1が同値
であるので明らか。∎
56
BEST-IN-GREEDY ALGORITHMの性能
最適解によるコスト: 𝑂𝑃𝑇 𝐸, ℱ, 𝑐
貪欲法が返す解によるコスト: 𝐺(𝐸, ℱ, 𝑐)
この時、最大化問題に対するBEST-IN-GREEDY ALGORITHMの性能は
𝑞(𝐸, ℱ) ≤
𝐺(𝐸, ℱ, 𝑐)
𝑂𝑃𝑇(𝐸, ℱ, 𝑐)
≤ 1
となる。(Theorem 13.19)
※ 最小化問題に対しては比の有限な上界なし
1 ≤
𝐺 𝐸, ℱ, 𝑐
𝑂𝑃𝑇 𝐸, ℱ, 𝑐
< ∞
57
1 2 M>>2
マトロイドの時は左辺1より
貪欲法で最適解が得られる!
(cf) maximal stable set of minimum weight
WORST-OUT-GREEDY ALGORITHMの性能
最適解によるコスト: 𝑂𝑃𝑇 𝐸, ℱ, 𝑐
貪欲法が返す解によるコスト: 𝐺(𝐸, ℱ, 𝑐)
この時、最小化問題に対するWORST-OUT-GREEDY ALGORITHMの性能は
1 ≤
𝐺 𝐸, ℱ, 𝑐
𝑂𝑃𝑇 𝐸, ℱ, 𝑐
≤ max
!⊆#
𝑋 − 𝜌∗
(𝑋)
𝑋 − 𝑟∗(𝑋)
となる。(Theorem 13.22)
※ 最大化問題に対しては正の下界なし
0 <
𝐺 𝐸, ℱ, 𝑐
𝑂𝑃𝑇 𝐸, ℱ, 𝑐
≤ 1
58
マトロイドの時は右辺1より
貪欲法で最適解が得られる!
1 2 M>>2
(cf) minimal vertex cover of maximum weight
BEST-IN-GREEDY ALGORITHMの性能証明
(1/3)
[Theorem 13.19] 最大化問題に対するBEST-IN-GREEDY ALGORITHMは、
𝑞(𝐸, ℱ) ≤
𝐺(𝐸, ℱ, 𝑐)
𝑂𝑃𝑇(𝐸, ℱ, 𝑐)
≤ 1
を満たす。
(証明)
アルゴリズムの返す解を𝐺V, 最適解を𝑂Vとする。
𝑐 𝑒+ ≥ 𝑐 𝑒, ≥ … ≥ 𝑐(𝑒V)とソートして、𝐸W: = 𝑒+, 𝑒,, … , 𝑒W , 𝐺W: = 𝐺V ∩ 𝐸X, 𝑂W: = 𝑂V ∩ 𝐸W
と定める。
𝑂W ∈ ℱより、|𝑂W| ≤ 𝑟(𝐸W)
𝐺Wは𝐸Wの基であった(アルゴリズム参照)ので、|𝐺W| ≥ 𝜌(𝐸W)
59
- lower rankはXに含まれる最小のbaseの大きさ
- rankはXに含まれる最大のbaseの大きさ
BEST-IN-GREEDY ALGORITHMの性能証明
(2/3)
[Theorem 13.19] 最大化問題に対するBEST-IN-GREEDY ALGORITHMは、
𝑞(𝐸, ℱ) ≤
𝐺(𝐸, ℱ, 𝑐)
𝑂𝑃𝑇(𝐸, ℱ, 𝑐)
≤ 1
を満たす。
(証明の続き)
𝑐 𝐺% = N
&"∈(#
𝑐(𝑒)) = N
)*"
%
( 𝐺) − 𝐺)+" )𝑐(𝑒)) = N
)*"
%+"
|𝐺)|(𝑐 𝑒) − 𝑐 𝑒)," ) + 𝐺% 𝑐 𝑒%
≥ N
)*"
%+"
𝜌 𝐸) 𝑐 𝑒) − 𝑐 𝑒)," + 𝜌 𝐸% 𝑐 𝑒% ≥ 𝑞(𝐸, ℱ) N
)*"
%+"
𝑟 𝐸) 𝑐 𝑒) − 𝑐 𝑒)," + 𝑟 𝐸% 𝑐 𝑒%
≥ 𝑞 𝐸, ℱ N
)*"
%+"
𝑂) 𝑐 𝑒) − 𝑐 𝑒)," 𝑂% 𝑐 𝑒% = 𝑞(𝐸, ℱ) N
)*"
%
𝑂) − 𝑂)+" 𝑐 𝑒) = 𝑞(𝐸, ℱ)𝑐(𝑂%)
60
𝐺V: アルゴリズムの解
𝑂V: 最適解
𝐸W: = 𝑒+, 𝑒,, … , 𝑒W
𝐺W: = 𝐺V ∩ 𝐸X
𝑂W: = 𝑂V ∩ 𝐸W
|𝑂W| ≤ 𝑟(𝐸W)
|𝐺W| ≥ 𝜌(𝐸W)
𝑞 𝐸, ℱ ≔ min
!⊆#
𝜌(𝑋)
𝑟(𝑋)
BEST-IN-GREEDY ALGORITHMの性能証明
(3/3)
[Theorem 13.19] 最大化問題に対するBEST-IN-GREEDY ALGORITHMは、
𝑞(𝐸, ℱ) ≤
𝐺(𝐸, ℱ, 𝑐)
𝑂𝑃𝑇(𝐸, ℱ, 𝑐)
≤ 1
を満たす。
(証明の続き)
不等式は示せた。等号成立を示す。
𝑞 𝐸, ℱ =
|𝐵!|
|𝐵"|
となるような𝑋 ⊆ 𝐸に対し、
𝑐 𝑒 ≔ 
1 (𝑒 ∈ 𝑋)
0 𝑒 ∈ 𝐸X
というコスト関数を与える。𝐵!の要素の方が添字が小さくなるようにすると、
𝐺 𝐸, ℱ, 𝑐 = 𝐵! , 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 = |𝐵"|
となって等号が成り立つ例となる。∎
61
𝐺V: アルゴリズムの解
𝑂V: 最適解
𝐸W: = 𝑒+, 𝑒,, … , 𝑒W
𝐺W: = 𝐺V ∩ 𝐸X
𝑂W: = 𝑂V ∩ 𝐸W
|𝑂W| ≤ 𝑟(𝐸W)
|𝐺W| ≥ 𝜌(𝐸W)
𝑞 𝐸, ℱ ≔ min
!⊆#
𝜌(𝑋)
𝑟(𝑋)
WORST-OUT-GREEDY ALGORITHMの性能証明
(1/3)
[Theorem 13.22] 最小化問題に対するWORST-OUT-GREEDY ALGORITHMは、
1 ≤
𝐺 𝐸, ℱ, 𝑐
𝑂𝑃𝑇 𝐸, ℱ, 𝑐
≤ max
!⊆#
𝑋 − 𝜌∗
(𝑋)
𝑋 − 𝑟∗(𝑋)
を満たす。
(証明)
1. 𝐺W ≤ 𝐸W − 𝜌∗
𝐸W
2. 𝑂W ≥ 𝐸W − 𝑟∗
𝐸W
が示せれば、BEST-IN-GREEDYのときの証明と同じ変形をすることで不等式が示せ
る。(各自確認せよ)
等号成立する例はmaxを達成するXについてBEST-IN-GREEDYのときの証明と同じよ
うに作れる。
よって、1,2を順に示す。(双対性を今一度復習してから進むこと。)
62
𝐺V: アルゴリズムの解
𝑂V: 最適解
𝐸W: = 𝑒+, 𝑒,, … , 𝑒W
𝐺W: = 𝐺V ∩ 𝐸X
𝑂W: = 𝑂V ∩ 𝐸W
WORST-OUT-GREEDY ALGORITHMの性能証明
(2/3)
[Theorem 13.22] 最小化問題に対するWORST-OUT-GREEDY ALGORITHMは、
1 ≤
𝐺 𝐸, ℱ, 𝑐
𝑂𝑃𝑇 𝐸, ℱ, 𝑐
≤ max
)⊆+
𝑋 − 𝜌∗
(𝑋)
𝑋 − 𝑟∗(𝑋)
を満たす。
( 𝐺, ≤ 𝐸, − 𝜌∗
𝐸, の証明)
𝐺' ⊆ 𝐸(𝐸,𝐺,)であり、𝐺'は(𝐸, ℱ)の基(base)である。
これは、(𝐸, ℱ)の基𝐺' ∩ 𝐸,𝐺, = ∅を意味する。
つまり、𝐸,𝐺, ∈ ℱ∗
ということ。
さらに、∀e ∈ 𝐺,. (𝐺, ∪ (𝐸𝐸,)){𝑒}は(𝐸, ℱ)の基(base)を含まない(アルゴリズム参照)
ので、補集合考えると ∀e ∈ 𝐺,. 𝐸,𝐺, ∪ {𝑒}は全ての基と交わる。
つまり、 ∀e ∈ 𝐺,. (𝐸,𝐺,) ∪ {𝑒} ∉ ℱ∗
なので 𝐸,𝐺,は双対独立系の基である。
したがって、|𝐸,𝐺,| ≥ 𝜌∗
(𝐸,)となり、示せた。
63
ℱ∗
≔ 𝑋 ⊆ 𝐸 ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅}
WORST-OUT-GREEDY ALGORITHMの性能証明
(3/3)
[Theorem 13.22] 最小化問題に対するWORST-OUT-GREEDY ALGORITHMは、
1 ≤
𝐺 𝐸, ℱ, 𝑐
𝑂𝑃𝑇 𝐸, ℱ, 𝑐
≤ max
!⊆#
𝑋 − 𝜌∗(𝑋)
𝑋 − 𝑟∗(𝑋)
を満たす。
( 𝑂W ≥ 𝐸W − 𝑟∗ 𝐸W の証明)
𝑂V ⊆ 𝐸(𝐸W𝑂W)であり、𝑂Vは(𝐸, ℱ)の基(base)である。
これは、(𝐸, ℱ)の基𝑂V ∩ 𝐸W𝑂W = ∅を意味する。
つまり、𝐸W𝑂W ∈ ℱ∗ということ。
したがって、|𝐸W𝑂W| ≤ 𝑟∗
(𝐸W)となり、示せた。∎
64
ℱ∗
≔ 𝑋 ⊆ 𝐸 ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅}
マトロイドと貪欲法 総括
マトロイド上では最大化問題に対するBEST-IN-GREEDY ALGORITHMが最適化を返す
ことが示せた。
また、
𝑐Y
𝑒 = 1 + max 𝑐 𝑒 𝑒 ∈ 𝐸 − 𝑐(𝑒)
とすると、
𝐸, ℱ, 𝑐 に対する最小化問題 = 𝐸, ℱ, 𝑐Y に対する最大化問題
となるので、マトロイドの場合はBEST-IN-GREEDY ALGORITHMとWORST-OUT-
GREEDY ALGORITHMのどちらを使っても問題はないことに注意。
ここで、一番最初にあげた例に戻ってみる。
65
最小全域木問題再訪
(問題1) 最小全域木問題
グラフ 𝐺 = (𝑉, 𝐸) と辺のコスト関数 𝑐: 𝐸 ⟶ ℝ が与えられた時に、全頂点を通るような
木(全域木, spanning tree)で含まれる辺のコストの総和が最小のものを求める問題
最小全域木(minimum spanning tree)
3
5 4
4
2
1
3
5 4
4
2
5
1
5
66
クラスカル法とマトロイド (1/2)
(問題1) 最小全域木問題
[クラスカル法]
辺のコストが小さい順に選んでいき閉路や多重辺ができなければ追加していき、
全域木となったら終了する。
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
最小全域木(minimum spanning tree)
67
クラスカル法とマトロイド (2/2)
(問題1) 最小全域木問題
[クラスカル法]
辺のコストが小さい順に選んでいき閉路や多重辺ができなければ追加していき、
全域木となったら終了する。
↓
graphic matroid ℳ(𝐺)を考えると、
全域木: ℱの極大な要素(base)
であるので、最小全域木問題は、マトロイドℳ(𝐺)に対する最小化問題
↓
クラスカル法は、graphic matroidに対するBEST-IN-GREEDY ALGORITHMだった!!
68
プリム法とグリードイド(greedoid) (1/7)
(問題1) 最小全域木問題
[プリム法]
ある点からスタートし、すでに追加されている点からなるカット上で辺のコスト
が最も小さい辺を追加していき、全域木となったら終了する。
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
3
5 4
4
2
5
1
最小全域木(minimum spanning tree)
69
プリム法とグリードイド(greedoid) (2/7)
(問題1) 最小全域木問題
[プリム法]
ある点からスタートし、すでに追加されている点からなるカット上で辺のコストが
最も小さい辺を追加していき、全域木となったら終了する。
↓
graphic matroidに対するGREEDY ALGORITHMと対応しない。
しかし、やっていることは貪欲法っぽい
正体は??
↓
実は、グリードイド(greedoid)に対する貪欲法(greedy algorithm)に対応している!!
70
プリム法とグリードイド(greedoid) (3/7)
u 集合系(set system) (𝐸, ℱ)がグリードイド(greedoid)であるとは以下を満たすこ
と。
(M1) ∅ ∈ ℱ
(M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
(グリードイドの例)
𝐸 = 𝑎, 𝑏, 𝑐
ℱ = {∅, a , {a, b}}
71
a b c
プリム法とグリードイド(greedoid) (4/7)
GREEDY ALGORITHM FOE GREEDOID: (BEST-IN-GREEDYに対応)
Input: グリードイド(𝐸, ℱ), モジュラ関数𝑐: 2# ⟶ ℝ,
oracle (𝑋 ⊆ 𝐸がX ∈ ℱ判定し、𝑐(𝑋)を返す)
1. 𝑋 ≔ ∅
2. 𝑒 ∈ 𝐸Fのうち、𝑋 ∪ {𝑒} ∈ ℱかつ𝑐(𝑋 ∪ {𝑒})が最大になるものを選ぶ。そのような
eがない時は終了。
3. 𝑋 ≔ 𝑋 ∪ {𝑒}と更新して2に戻る。
72
※ グリードイド上のモジュラ関数最大化問題は
一般にNP-hard (Proposition 14.8: VCからの帰着)
𝑐 𝑋 ∪ 𝑌 + 𝑐 𝑋 ∩ 𝑌 = 𝑐 𝑋 + 𝑐(𝑌)
プリム法とグリードイド(greedoid) (5/7)
GREEDY ALGORITHM FOR GREEDOIDは最適とは限らない。
しかし、以下の条件があれば最適 (証明は本を参照)
↓
[Theorem 14.7] グリードイド(𝐸, ℱ)に対し、以下が同値
1. 𝐺𝑅𝐸𝐸𝐷𝑌 𝐴𝐿𝐺𝑂𝑅𝐼𝑇𝐻𝑀 𝐹𝑂𝑅 𝐺𝑅𝐸𝐸𝐷𝑂𝐼𝐷が最適
2. 𝐸, ℱ が𝑠𝑡𝑟𝑜𝑛𝑔 𝑒𝑥𝑐ℎ𝑎𝑛𝑔𝑒 𝑝𝑟𝑜𝑝𝑒𝑟𝑡𝑦を満たす
73
∀𝐴 ∈ ℱ. ∃𝑦 ∈ 𝐵A 𝑠. 𝑡. 𝐴 ∪ {𝑦} ∈ ℱ ∧ (𝐵{𝑦}) ∪ {𝑥} ∈ ℱ
(𝐵: 𝑚𝑎𝑥𝑖𝑚𝑎𝑙 𝑖𝑛 ℱ, 𝐴 ⊆ 𝐵, 𝑥 ∈ 𝐸B, 𝐴 ∪ {𝑥} ∈ ℱ)
プリム法とグリードイド(greedoid) (6/7)
(directed, undiredted) branching greedoid
(directed, undiredted)グラフ𝐺 = (𝑉(𝐺), 𝐸(𝐺))に対し、𝑟 ∈ 𝑉(𝐺)を一つ選ぶ。
この時、
𝐸: = 𝐸 𝐺
ℱ ≔ {𝐹 ⊆ 𝐸| 𝑉 𝐺 , 𝐹 は𝑟を根とする(有向, 無向)木}
と定めると(𝐸, ℱ)はグリードイド(greedoid)となる。
(証明)
(M1) 明らか。
(M3) 明らか。∎
74
プリム法とグリードイド(greedoid) (7/7)
(問題1) 最小全域木問題
[プリム法]
ある点からスタートし、すでに追加されている点からなるカット上で辺のコストが最も小さい
辺を追加していき、全域木となったら終了する。
↓
branching greedoidを考えると、
全域木: ℱの極大な要素(base)
であるので、最小全域木問題は、グリードイドに対する最小化問題とも捉えられる!!
↓
プリム法は、branching greedoidに対する(BEST-IN-)GREEDY ALGORITHMだった!!
branching greedoidはstrong exchange propertyを満たす(各自確認されたい)ので最適!!
75
∀𝐴 ∈ ℱ. ∃𝑦 ∈ 𝐵A 𝑠. 𝑡. 𝐴 ∪ {𝑦} ∈ ℱ ∧ (𝐵{𝑦}) ∪ {𝑥} ∈ ℱ
(𝐵: 𝑚𝑎𝑥𝑖𝑚𝑎𝑙 𝑖𝑛 ℱ, 𝐴 ⊆ 𝐵, 𝑥 ∈ 𝐸B, 𝐴 ∪ {𝑥} ∈ ℱ)
最後に
他にもマトロイドに関する話題として、
1. マトロイドの交叉(intersection), 分割(partition)
2. マトロイドの仲間(greedoid, polymatroid, antimatroid)
3. マトロイドと劣モジュラ関数(submodular function)との関係
4. 劣モジュラ関数(submodular function)最小化
5. 対称劣モジュラ関数(symmetric submodular function)最小化
6. 劣モジュラ関数(submodular function)最大化のheuristic
などが取り上げられています。興味のある方はぜひ読んでみてください!!
76
参考文献
u Korte, Bernhard, et al. Combinatorial optimization. Vol. 2. Heidelberg:
Springer, 2012.
77
Thank you for listening !!
※ 拙いですが、一応実装してみたりしてます
→ https://github.com/CombOptAlgos 78

More Related Content

What's hot

スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)narumikanno0918
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)Eric Sartre
 
卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-Tomoshige Nakamura
 
Fourier analysis on symmetric group
Fourier analysis on symmetric groupFourier analysis on symmetric group
Fourier analysis on symmetric groupHanpenRobot
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)Yukara Ikemiya
 
続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章Roy Ray
 
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列Katsuhiro Morishita
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
「五次方程式が代数的に解けないわけ」第3回プログラマのための数学勉強会 #maths4pg
「五次方程式が代数的に解けないわけ」第3回プログラマのための数学勉強会 #maths4pg 「五次方程式が代数的に解けないわけ」第3回プログラマのための数学勉強会 #maths4pg
「五次方程式が代数的に解けないわけ」第3回プログラマのための数学勉強会 #maths4pg Junpei Tsuji
 
ラビットチャレンジレポート 機械学習
ラビットチャレンジレポート 機械学習ラビットチャレンジレポート 機械学習
ラビットチャレンジレポート 機械学習ssuserf4860b
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリングAkira Miyazawa
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するsleepy_yoshi
 
ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4noname409
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法kenyanonaka
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3noname409
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現hagino 3000
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズムHiroshi Nakagawa
 
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう 「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう Junpei Tsuji
 

What's hot (20)

スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)
 
卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-
 
Fourier analysis on symmetric group
Fourier analysis on symmetric groupFourier analysis on symmetric group
Fourier analysis on symmetric group
 
PRML セミナー
PRML セミナーPRML セミナー
PRML セミナー
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章
 
主成分分析
主成分分析主成分分析
主成分分析
 
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
「五次方程式が代数的に解けないわけ」第3回プログラマのための数学勉強会 #maths4pg
「五次方程式が代数的に解けないわけ」第3回プログラマのための数学勉強会 #maths4pg 「五次方程式が代数的に解けないわけ」第3回プログラマのための数学勉強会 #maths4pg
「五次方程式が代数的に解けないわけ」第3回プログラマのための数学勉強会 #maths4pg
 
ラビットチャレンジレポート 機械学習
ラビットチャレンジレポート 機械学習ラビットチャレンジレポート 機械学習
ラビットチャレンジレポート 機械学習
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装する
 
ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
 
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう 「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
 

Similar to マトロイドの世界

自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slidesharewada, kazumi
 
Multi terminal networkflows
Multi terminal networkflowsMulti terminal networkflows
Multi terminal networkflowsMasashi Nitta
 
武井研ゼミ M1 第3回目
武井研ゼミ M1 第3回目武井研ゼミ M1 第3回目
武井研ゼミ M1 第3回目HanpenRobot
 
表現論 ゼミ資料
表現論 ゼミ資料表現論 ゼミ資料
表現論 ゼミ資料HanpenRobot
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介Masahiro Sakai
 
トーラスと平面の部分集合のホモロジー
トーラスと平面の部分集合のホモロジートーラスと平面の部分集合のホモロジー
トーラスと平面の部分集合のホモロジー政孝 鍋島
 
3.3節 変分近似法(前半)
3.3節 変分近似法(前半)3.3節 変分近似法(前半)
3.3節 変分近似法(前半)tn1031
 
強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現Kazu Ghalamkari
 
誤り訂正符号のワークショップ発表資料
誤り訂正符号のワークショップ発表資料誤り訂正符号のワークショップ発表資料
誤り訂正符号のワークショップ発表資料Ryutaroh Matsumoto
 
LLM は数学を理解しているのか?
LLM は数学を理解しているのか?LLM は数学を理解しているのか?
LLM は数学を理解しているのか?Hide Koba
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料mdkcpp 1015
 
確率微分方程式の導出(仮)
確率微分方程式の導出(仮)確率微分方程式の導出(仮)
確率微分方程式の導出(仮)HanpenRobot
 
東京都市大学 データ解析入門 2 行列分解 1
東京都市大学 データ解析入門 2 行列分解 1東京都市大学 データ解析入門 2 行列分解 1
東京都市大学 データ解析入門 2 行列分解 1hirokazutanaka
 
確率的バンディット問題
確率的バンディット問題確率的バンディット問題
確率的バンディット問題jkomiyama
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章YosukeAkasaka
 

Similar to マトロイドの世界 (20)

自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare
 
Multi terminal networkflows
Multi terminal networkflowsMulti terminal networkflows
Multi terminal networkflows
 
武井研ゼミ M1 第3回目
武井研ゼミ M1 第3回目武井研ゼミ M1 第3回目
武井研ゼミ M1 第3回目
 
表現論 ゼミ資料
表現論 ゼミ資料表現論 ゼミ資料
表現論 ゼミ資料
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
 
トーラスと平面の部分集合のホモロジー
トーラスと平面の部分集合のホモロジートーラスと平面の部分集合のホモロジー
トーラスと平面の部分集合のホモロジー
 
3.3節 変分近似法(前半)
3.3節 変分近似法(前半)3.3節 変分近似法(前半)
3.3節 変分近似法(前半)
 
PRML 第14章
PRML 第14章PRML 第14章
PRML 第14章
 
強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現
 
誤り訂正符号のワークショップ発表資料
誤り訂正符号のワークショップ発表資料誤り訂正符号のワークショップ発表資料
誤り訂正符号のワークショップ発表資料
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
LLM は数学を理解しているのか?
LLM は数学を理解しているのか?LLM は数学を理解しているのか?
LLM は数学を理解しているのか?
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料
 
PRML 2.3節
PRML 2.3節PRML 2.3節
PRML 2.3節
 
Prml 2.3
Prml 2.3Prml 2.3
Prml 2.3
 
確率微分方程式の導出(仮)
確率微分方程式の導出(仮)確率微分方程式の導出(仮)
確率微分方程式の導出(仮)
 
東京都市大学 データ解析入門 2 行列分解 1
東京都市大学 データ解析入門 2 行列分解 1東京都市大学 データ解析入門 2 行列分解 1
東京都市大学 データ解析入門 2 行列分解 1
 
確率的バンディット問題
確率的バンディット問題確率的バンディット問題
確率的バンディット問題
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章
 
回帰
回帰回帰
回帰
 

マトロイドの世界

  • 2. はじめに 本スライドはCombinatorial Optimization (Korte) (左の写真)の輪読会の13, 14章のまとめとなっている。 マトロイドから劣モジュラ関数(submodular function) について主に取り扱う。 証明の詳細については本書を参照されたい。 2
  • 3. 目次 u 1. マトロイド(matroid)導入 u 2. マトロイドの様々な公理(axiom) u 3. マトロイドの双対性(duality) u 4. マトロイドと貪欲法(greedy algorithm) 3
  • 5. 導入 (1/7) (問題1) 最小全域木問題 グラフ 𝐺 = (𝑉, 𝐸) と辺のコスト関数 𝑐: 𝐸 ⟶ ℝ が与えられた時に、全頂点を通るような 木(全域木, spanning tree)で含まれる辺のコストの総和が最小のものを求める問題 最小全域木(minimum spanning tree) 3 5 4 4 2 1 3 5 4 4 2 5 1 5 5
  • 8. 導入 (4/7) (問題1) 最小全域木問題 クラスカル法もプリム法も最小のものを順番に選んでいく → 貪欲法(greedy algorithm) 貪欲に選んで正しく最小全域木(minimum spanning tree)が求まる。 貪欲に選ぶとは… 候補を全て確認することなく目的に向かって真っ直ぐ突き進むイメージ 8
  • 9. 導入 (5/7) (問題2) 最短路問題 グラフ 𝐺 = (𝑉, 𝐸) と辺のコスト関数 𝑐: 𝐸 ⟶ ℝ と2点𝑠, 𝑡が与えられた時に、sからtへの 最短路(コスト最小のパス)を求める問題 s t s t 3 6 4 -5 2 1 3 6 4 -5 2 3 1 3 最短路(minimum length path)9
  • 12. マトロイド(matroid)とは (1/3) u 元々は線形独立性を抽象的に特徴付ける試み u matroid = matrix + oid u まずは準備。多くの組み合わせ最適化問題は以下のようにかける。 Input: 集合系(set system) 𝐸, ℱ , コスト関数(cost) 𝑐: ℱ ⟶ ℝ Task: 𝑎𝑟𝑔 max !⊆# 𝑐 𝑋 を求める (ただし、𝑐 𝑋 ≔ ∑$∈! 𝑐(𝑒)である。) 12
  • 13. マトロイド(matroid)とは (2/3) u 集合系(set system) (𝐸, ℱ)が独立系(independence system)であるとは以下を満たすこと。 (M1) ∅ ∈ ℱ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ (独立系の例) 𝐸 = 𝑎, 𝑏, 𝑐 ℱ = {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 } a b c 13
  • 14. マトロイド(matroid)とは (3/3) u 独立系(independence system)がマトロイド(matroid)であるとは、 (M1) ∅ ∈ ℱ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ に加えて以下も満たすこと。 (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ (マトロイドの例) 𝐸 = 𝑎, 𝑏, 𝑐 ℱ = {∅, a , b , {a, b}} a b c 14
  • 15. マトロイドの例 (1/4) vector matroid (最も基本的なマトロイド) 𝐴: ある体上の行列 このとき、 𝐸 ≔ {𝐴の行ベクトル} ℱ ≔ {𝐹 ⊆ 𝐸|𝐹内の行ベクトルが線型独立(𝑙𝑖𝑛𝑒𝑎𝑙𝑦 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑡)} と定めると(𝐸, ℱ)はマトロイド(matroid)となる。 (証明) (M1) 明らか。 (M2) 線型独立なベクトルの集合の部分集合も線型独立。 (M3) 行列のランクの数までは線型独立な行ベクトルが選べるので明らか。∎ マトロイドの公理 (再掲) (M1) ∅ ∈ ℱ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ 15
  • 16. マトロイドの例 (2/4) graphic matroid (cycle matroid, グラフに関するマトロイド) 無向グラフ𝐺 = (𝑉(𝐺), 𝐸(𝐺))に対し、 𝐸: = 𝐸 𝐺 ℱ ≔ {𝐹 ⊆ 𝐸|(𝑉 𝐺 , 𝐹)は森(𝑓𝑜𝑟𝑒𝑠𝑡)} と定めると(𝐸, ℱ)はマトロイド(matroid)となる。 (証明) (M1) 明らか。 (M2) 森(forest)の部分グラフは森(forest)。 (M3) (V(G), Y)はspanning tree (全域木)ではないので、閉路を作らずまだ辺を 追加できる。∎ マトロイドの公理 (再掲) (M1) ∅ ∈ ℱ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ 16
  • 17. マトロイドの例 (3/4) uniform matroid (シンプルなマトロイド) 𝑘 ∈ ℤ&とする。 このとき、 𝐸: ある有限集合 ℱ ≔ {𝐹 ⊆ 𝐸||𝐹| ≤ 𝑘} と定めると(𝐸, ℱ)はマトロイド(matroid)となる。 (証明) (M1) 明らか。 (M2) 明らか。 (M3) 明らか。∎ マトロイドの公理 (再掲) (M1) ∅ ∈ ℱ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ 17
  • 18. マトロイドの例 (4/4) 無向グラフ𝐺 = (𝑉(𝐺), 𝐸(𝐺))に対し、 𝑆 ⊆ 𝑉(𝐺)を独立集合(stable set)とする。 (※ 独立集合とは、辺を通じて互いに隣接していない頂点集合のこと) 𝑘' ∈ ℤ& (𝑠 ∈ 𝑆)と定める。 このとき、 𝐸 ≔ 𝐸 𝐺 ℱ ≔ {𝐹 ⊆ 𝐸||𝛿( 𝑠 | ≤ 𝑘' 𝑓𝑜𝑟 𝑎𝑙𝑙 𝑠 ∈ 𝑆} と定めると、(𝐸, ℱ)はマトロイド(matroid)となる。 (証明) 省略する。∎ マトロイドの公理 (再掲) (M1) ∅ ∈ ℱ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ a b 𝑆 = 𝑎, 𝑏 , 𝑘) = 1, 𝑘* = 0 𝐸 = 1,2,3,4,5,6,7 ℱ = {∅, 1 , 2 , 3 , 4 , 5 , 1,4 , 2,4 , 3,4 , 1,5 , 2,5 , 3,5 , 4,5 , 1,4,5 , 2,4,5 , {3,4,5}} 1 2 3 4 5 6 7 18
  • 20. 独立公理(independece axiom) (1/2) u 実はマトロイドの公理はいろいろある。 u 先ほど取り上げた公理を独立公理(independence axiom)という。 (M1) ∅ ∈ ℱ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ 20
  • 21. 独立公理(independece axiom) (2/2) u (M3)は(M3’), (M3’’)のいずれとも等価 (交換可能) (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ (M3’) 𝑋, 𝑌 ∈ ℱ, 𝑋 = 𝑌 + 1 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ (M3’’) ∀𝑋 ⊆ 𝐸. 𝑚𝑎𝑥𝑖𝑚𝑎𝑙 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑡 𝑠𝑢𝑏𝑠𝑒𝑡𝑠 = 𝑏𝑎𝑠𝑒𝑠 𝑜𝑓 𝑋 ℎ𝑎𝑣𝑒 𝑡ℎ𝑒 𝑠𝑎𝑚𝑒 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑙𝑖𝑡𝑦 u 他の公理を眺め、公理の等価性を確認する。 u 基公理 (base axiom) u ランク公理 (rank axiom) u 閉包公理 (closure axiom) u サーキット公理 (circuit axiom) 21 (M3) <=> (M3’), (M3’) => (M3’’)はすぐにわかる。 (M3’’) => (M3)の証明 𝑋, 𝑌 ∈ ℱ, 𝑋 > |𝑌|とする。 このとき(M3’’)より𝑌は𝑋 ∪ 𝑌の基ではない。 よって、ある𝑥 ∈ 𝑋 ∪ 𝑌 Y = 𝑋Yが存在して𝑌 ∪ {𝑥} ∈ ℱとなる。∎
  • 22. 準備 (1/3) (𝐸, ℱ)を独立系(independence system)としたとき、 ℱの要素を独立(independent)といい、2#ℱの要素を従属(dependent)という。 極大な独立(independent)な要素を基(base)という。 極小な従属(dependent)な要素をサーキット(circuit)という。 𝑟 𝑋 ≔ max 𝑌 𝑌 ⊆ 𝑋, 𝑌 ∈ ℱ}をXのランク(rank)という。 𝜎 𝑋 ≔ 𝑦 ∈ 𝐸 𝑟 𝑋⋃ 𝑦 = 𝑟(𝑋)}をXの閉包(closure)という。 22
  • 23. 準備 (2/3) (Exercise 1) 𝐸 ≔ 𝑎, 𝑏, 𝑐 ℱ ≔ {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 } という独立系(independence system)について以下の問いの答えよ。 1. 独立(independent)な要素を全て答えよ。 2. 従属(dependent)な要素を全て答えよ。 3. 基(base)を全て答えよ。 4. サーキット(circuit)を全て答えよ。 5. X={b,c}とする。Xのランク(rank)と閉包(closure)を答えよ。 23
  • 24. 準備 (3/3) (Exercise 1の答え) 1. ∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 2. 𝑎, 𝑐 , 𝑏, 𝑐 , 𝑎, 𝑏, 𝑐 = E 3. 𝑎, 𝑏 , {𝑐} 4. 𝑎, 𝑐 , 𝑏, 𝑐 5. 𝑟 𝑋 = 1, 𝜎 𝑋 = 𝑏, 𝑐 = 𝑋 24
  • 25. 基公理(base axiom) (1/3) ※ 極大な独立(independent)な要素を基(base)という。 ℬ ⊆ 2#とする。 このとき、ℬがあるマトロイド 𝐸, ℱ の基(base)の集合であることと以下が同値 (B1) ℬ ≠ ∅ (B2) ∀𝐵+, 𝐵, ∈ ℬ. ∀𝑥 ∈ 𝐵+𝐵,. ∃𝑦 ∈ 𝐵,𝐵+ 𝑠. 𝑡. 𝐵+{𝑥} ∪ {𝑦} ∈ ℬ (B1), (B2)はマトロイドの公理とみなせる。これが基公理(base axiom)である。 25
  • 26. 基公理(base axiom) (2/3) ℬ ⊆ 2# とする。 このとき、ℬがあるマトロイド 𝐸, ℱ の基(base)の集合であることと以下が同値 (B1) ℬ ≠ ∅ (B2) ∀𝐵+, 𝐵, ∈ ℬ. ∀𝑥 ∈ 𝐵+𝐵,. ∃𝑦 ∈ 𝐵,𝐵+ 𝑠. 𝑡. 𝐵+{𝑥} ∪ {𝑦} ∈ ℬ (=>の証明) (B1) 明らか。 (B2) 𝐵+, 𝐵,と𝑥 ∈ 𝐵+𝐵,に対して、(M2)より𝐵+{𝑥}は独立。 𝐵, > |𝐵+{𝑥}|なので(M3)より∃𝑦 ∈ 𝐵,(𝐵+{𝑥}) = 𝐵,𝐵+ 𝑠. 𝑡. (𝐵+{𝑥}) ∪ {𝑦} ∈ ℱ (M3’’)を考えると (𝐵+{𝑥}) ∪ {𝑦} ∈ ℬが言える。∎ 26 (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ (M3’’) ∀𝑋 ⊆ 𝐸. 𝑏𝑎𝑠𝑒𝑠 𝑜𝑓 𝑋 ℎ𝑎𝑣𝑒 𝑡ℎ𝑒 𝑠𝑎𝑚𝑒 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑙𝑖𝑡𝑦
  • 27. 基公理(base axiom) (3/3) ℬ ⊆ 2! とする。 このとき、ℬがあるマトロイド 𝐸, ℱ の基(base)の集合であることと以下が同値 (B1) ℬ ≠ ∅ (B2) ∀𝐵", 𝐵# ∈ ℬ. ∀𝑥 ∈ 𝐵"𝐵#. ∃𝑦 ∈ 𝐵#𝐵" 𝑠. 𝑡. 𝐵"{𝑥} ∪ {𝑦} ∈ ℬ (<=の証明) ℬが(B1), (B2)を満たすとする。 このとき、ℱ ≔ {𝑋 ⊆ 𝐸|∃𝐵 ∈ ℬ 𝑠. 𝑡. 𝑋 ⊆ 𝐵}とおくと、(𝐸, ℱ)はマトロイドになる。 (M1) 明らか。 (M2) 基の集合はℱの定義より明らかにℬに含まれる。 基でない𝐵 ∈ ℬがあるとすると、∃𝐹$ ∈ ℱ. ∃𝐵$ ∈ ℬ 𝑠. 𝑡. 𝐵 ⊊ 𝐹′ ⊆ 𝐵′ ところが、𝐵B$ = ∅となって(B2)に矛盾する。 (M3) 𝑋, 𝑌 ∈ ℱ, X > |Y|とし、𝑋 ⊆ 𝐵" ∈ ℬ, 𝑌 ⊆ 𝐵# ∈ ℬとなる𝐵", 𝐵#を|𝐵" ∩ 𝐵#|が最大になるように取る。 背理法で|𝐵" ∩ 𝐵#|の最大性に矛盾させる (以下略) ∎ 27 (M1) ∅ ∈ ℱ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ ⟹ 𝑋 ∈ ℱ (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ
  • 28. ランク公理 (rank axiom) (1/4) ※ 𝑟 𝑋 ≔ max 𝑌 𝑌 ⊆ 𝑋, 𝑌 ∈ ℱ}をXのランク(rank)という。 𝑟があるマトロイド 𝐸, ℱ のランク関数(rank function)であることと以下が同値 ∀𝑋, 𝑌 ⊆ 𝐸に対し、 (R1) 𝑟(𝑋) ≤ |𝑋| (R2) 𝑋 ⊆ 𝑌 ⟹ 𝑟 𝑋 ≤ 𝑟 𝑌 (R3) 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ≤ 𝑟 𝑋 + 𝑟(𝑌) 劣モジュラ性(submodularity) (R1), (R2), (R3)はマトロイドの公理とみなせる。これがランク公理(rank axiom) である。 28
  • 29. ランク公理 (rank axiom) (2/4) 𝑟があるマトロイド 𝐸, ℱ のランク関数(rank function)であることと以下が同値 ∀𝑋, 𝑌 ⊆ 𝐸に対し、 (R1) 𝑟(𝑋) ≤ |𝑋| (R2) 𝑋 ⊆ 𝑌 ⟹ 𝑟 𝑋 ≤ 𝑟 𝑌 (R3) 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ≤ 𝑟 𝑋 + 𝑟(𝑌) 劣モジュラ性(submodularity) (<=の証明) (R1) 明らか。 (R2) 明らか。 (R3) 𝑋 ∩ 𝑌の基を𝐴とする。 (M3)に基づいて1つずつ要素を追加することにより、 𝑋の基𝐴 ⊔ 𝐵と𝑋 ∪ 𝑌の基(𝐴 ⊔ 𝐵) ⊔ 𝐶を作る。 このとき、𝐴 ⊔ 𝐶は𝑌の独立な部分集合である。 以上より、 𝑟 𝑋 + 𝑟 𝑌 ≥ 𝐴 ⊔ 𝐵 + 𝐴 ⊔ 𝐶 = 𝐴 + 𝐵 + 𝐶 + 𝐷 = 𝐴 ⊔ 𝐵 ⊔ 𝐶 + 𝐴 = 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ∎ 29
  • 30. ランク公理 (rank axiom) (3/4) 𝑟があるマトロイド 𝐸, ℱ のランク関数(rank function)であることと以下が同値 ∀𝑋, 𝑌 ⊆ 𝐸に対し、 (R1) 𝑟(𝑋) ≤ |𝑋| (R2) 𝑋 ⊆ 𝑌 ⟹ 𝑟 𝑋 ≤ 𝑟 𝑌 (R3) 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ≤ 𝑟 𝑋 + 𝑟(𝑌) 劣モジュラ性(submodularity) (=>の証明) 𝑟が(R1), (R2), (R3)を満たすとする。 このとき、ℱ ≔ {𝑋 ⊆ 𝐸|𝑟 𝑋 = |𝑋|}とおくと、(𝐸, ℱ)はマトロイドになる。 (M1) (R1)より明らか。 (M2), (M3)については省略。∎ 30
  • 31. ランク公理 (rank axiom) (4/4) ランク公理 ∀𝑋, 𝑌 ⊆ 𝐸に対し、 (R1) 𝑟(𝑋) ≤ |𝑋| (R2) 𝑋 ⊆ 𝑌 ⟹ 𝑟 𝑋 ≤ 𝑟 𝑌 (R3) 𝑟 𝑋 ∪ 𝑌 + 𝑟 𝑋 ∩ 𝑌 ≤ 𝑟 𝑋 + 𝑟(𝑌) 劣モジュラ性(submodularity) は、以下に言い換えが可能。(証明略) ∀𝑋 ⊆ 𝐸, ∀𝑥, 𝑦 ∈ 𝐸に対し、 (R1’) 𝑟 ∅ = 0 (R2’) 𝑟 𝑋 ≤ 𝑟 𝑋 ∪ 𝑦 ≤ 𝑟 𝑋 + 1 (R3’) 𝑟 𝑋 ∪ 𝑥 = 𝑟 𝑋 ∪ 𝑦 = 𝑟 𝑋 ⟹ 𝑟 𝑋 ∪ 𝑥, 𝑦 = 𝑟(𝑋) 31
  • 32. 閉包公理 (closure axiom) (1/2) ※ 𝜎 𝑋 ≔ 𝑦 ∈ 𝐸 𝑟 𝑋⋃ 𝑦 = 𝑟(𝑋)}をXの閉包(closure)という。 𝜎があるマトロイド 𝐸, ℱ の閉包関数(closure function)であることと以下が同値 ∀𝑋 ⊆ 𝐸, ∀𝑥, 𝑦 ∈ 𝐸に対し、 (S1) 𝑋 ⊆ 𝜎(𝑋) (S2) 𝑋 ⊆ 𝑌 ⟹ 𝜎 𝑋 ⊆ 𝜎 𝑌 (S3) 𝜎 𝑋 = 𝜎(𝜎 𝑋 ) (S4) 𝑦 ∉ 𝜎(𝑋) ∧ 𝑦 ∈ 𝜎(𝑋 ∪ {𝑥}) ⟹ 𝑥 ∈ 𝜎(𝑋 ∪ {𝑦}) (S1), (S2), (S3), (S4)はマトロイドの公理とみなせる。これが閉包公理(closure axiom) である。 32
  • 33. 閉包公理 (closure axiom) (2/2) 𝜎があるマトロイド 𝐸, ℱ の閉包関数(closure function)であることと以下が同値 ∀𝑋 ⊆ 𝐸, ∀𝑥, 𝑦 ∈ 𝐸に対し、 (S1) 𝑋 ⊆ 𝜎(𝑋) (S2) 𝑋 ⊆ 𝑌 ⟹ 𝜎 𝑋 ⊆ 𝜎 𝑌 (S3) 𝜎 𝑋 = 𝜎(𝜎 𝑋 ) (S4) 𝑦 ∉ 𝜎(𝑋) ∧ 𝑦 ∈ 𝜎(𝑋 ∪ {𝑥}) ⟹ 𝑥 ∈ 𝜎(𝑋 ∪ {𝑦}) 証明は少し複雑なので本を参照。ここでは省略。 ℱ ≔ {𝑋 ⊆ 𝐸|∀𝑥 ∈ 𝑋. 𝑥 ∉ 𝜎 𝑋 𝑥 }とおく。 33
  • 34. サーキット公理 (circuit axiom) (1/2) ※ 極小な従属(dependent)な要素をサーキット(circuit)という。 𝒞 ⊆ 2#とする。 このとき、𝒞があるマトロイド 𝐸, ℱ のサーキット(circuit)の集合であることと以下が同値 (C1) ∅ ∉ 𝒞 (C2) ∀𝐶+, 𝐶, ∈ 𝒞. 𝐶+ ⊆ 𝐶, ⟹ 𝐶+ = 𝐶, (C3) ∀𝐶+, 𝐶, ∈ 𝒞 𝐶+ ≠ 𝐶, . ∀𝑒 ∈ 𝐶+ ∩ 𝐶,. ∃𝐶D ∈ 𝒞 𝑠. 𝑡. 𝐶D ⊆ (𝐶+⋃𝐶,){𝑒} (C1), (C2), (C3)はマトロイドの公理とみなせる。これが基公理(base axiom)である。 34
  • 35. サーキット公理 (circuit axiom) (2/2) サーキット公理 (C1) ∅ ∉ 𝒞 (C2) ∀𝐶!, 𝐶" ∈ 𝒞. 𝐶! ⊆ 𝐶" ⟹ 𝐶! = 𝐶" (C3) ∀𝐶!, 𝐶" ∈ 𝒞 𝐶! ≠ 𝐶" . ∀𝑒 ∈ 𝐶! ∩ 𝐶". ∃𝐶# ∈ 𝒞 𝑠. 𝑡. 𝐶# ⊆ (𝐶!⋃𝐶"){𝑒} の(C3)は以下(C3’), (C3’’)と交換可能。 (C3’) ∀𝐶!, 𝐶" ∈ 𝒞. ∀𝑒 ∈ 𝐶! ∩ 𝐶". ∀𝑓 ∈ 𝐶!𝐶". ∃𝐶# ∈ 𝒞 𝑠. 𝑡. 𝑓 ∈ 𝐶# ⊆ (𝐶!⋃𝐶"){𝑒} (C3’’) ∀𝑋 ∈ ℱ. ∀𝑒 ∈ 𝐸. 𝑋 ∪ 𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑠 𝑎𝑡 𝑚𝑜𝑠𝑡 𝑜𝑛𝑒 𝑐𝑖𝑟𝑐𝑢𝑖𝑡. 証明は少し複雑なので本を参照。ここでは省略。 ℱ ≔ {𝑋 ⊆ 𝐸|∄𝐶 ∈ 𝒞 𝑠. 𝑡. 𝐶 ⊆ 𝑋}とおく。 35
  • 37. 双対な独立系(dual independence system) (1/6) u 独立系(𝐸, ℱ)に対し、その双対(dual)(𝐸, ℱ∗ )は ℱ∗ ≔ 𝑋 ⊆ 𝐸 ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅} と定められる。 (Exercise 2) 𝐸 ≔ 𝑎, 𝑏, 𝑐 ℱ ≔ {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 } という独立系(independence system)の双対な独立系を求めよ。 37
  • 38. 双対な独立系(dual independence system) (2/6) (Exercise 2の答え) 𝐸 ≔ 𝑎, 𝑏, 𝑐 ℱ ≔ {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 } のbaseは 𝑎, 𝑏 , {𝑐}。 ℱ∗ ≔ 𝑋 ⊆ 𝐸 ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅} より、この二つのbaseそれぞれと交わりを持たない要素を全て挙げれば良い。 {𝑎, 𝑏}と交わりを持たないのは、∅, c {𝑐}と交わりを持たないのは、∅, 𝑎 , 𝑏 , 𝑎, 𝑏 よって、ℱ∗ = ∅, 𝑎 , 𝑏 , 𝑐 , {𝑎, 𝑏} = ℱと求まる。 ※一般に ℱ, ℱ∗ は等しくならない。 38
  • 39. 双対な独立系(dual independence system) (3/6) u 双対なので、2回適用すれば元に戻る。つまり 𝐸, ℱ = (𝐸, ℱ∗∗ ) となることを示していく。 [Lemma A] 𝐵が 𝐸, ℱ の𝑏𝑎𝑠𝑒 ⟹ 𝐸𝐵が 𝐸, ℱ∗ の𝑏𝑎𝑠𝑒 (証明) まず、ℱ∗ の定義より ∀𝑋 ∈ ℱ∗ . ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ⊆ 𝐸𝐵 これより、 ∀𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ . 𝐸𝐵 ∈ ℱ∗ が言える。あとは極大性を言えば良い。背理法で示す。 ∃𝑥 ∈ 𝐵 𝑠. 𝑡. 𝐸(𝐵{𝑥}) ∈ ℱ∗ とすると、 ∃𝑏𝑎𝑠𝑒 𝐶 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝐶 ⊆ 𝐵{𝑥} となる。ところが、これは 𝐶 ∪ {𝑥} ⊆ 𝐵 ∈ ℱ ⟶ 𝐶 ∪ {𝑥} ∈ ℱ を意味し、Cの極大性に矛盾。∎ 39
  • 40. 双対な独立系(dual independence system) (4/6) u 双対なので、2回適用すれば元に戻る。つまり 𝐸, ℱ = (𝐸, ℱ∗∗ ) となることを示していく。 [Lemma B] 𝐸, ℱ∗ も独立系 (証明) (M1) どんなbase 𝐵に対しても𝐵 ∩ ∅ = ∅より∅ ∈ ℱ∗ (M2) 𝑋 ⊆ 𝑌 ∈ ℱ∗より定義から ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑌 ∩ 𝐵 = ∅ であり、𝑋 ∩ 𝐵 = ∅ ⟶ 𝑋 ∈ ℱ∗∎ 40
  • 41. 双対な独立系(dual independence system) (5/6) u 双対なので、2回適用すれば元に戻る。つまり 𝐸, ℱ = (𝐸, ℱ∗∗ ) となることを示していく。 [Lemma A] 𝐵が 𝐸, ℱ の𝑏𝑎𝑠𝑒 ⟹ 𝐸𝐵が 𝐸, ℱ∗ の𝑏𝑎𝑠𝑒 [Lemma B] 𝐸, ℱ∗ も独立系 ↓ [*] 𝐵が 𝐸, ℱ の𝑏𝑎𝑠𝑒 ⟺ 𝐸𝐵が 𝐸, ℱ∗ の𝑏𝑎𝑠𝑒 が言える。 41
  • 42. 双対な独立系(dual independence system) (6/6) u 双対なので、2回適用すれば元に戻る。つまり 𝐸, ℱ = (𝐸, ℱ∗∗ ) となることを示していく。 (証明) 𝑋 ∈ ℱ∗∗ ⟺ ∃𝑏𝑎𝑠𝑒 𝐵∗ 𝑜𝑓 𝐸, ℱ∗ 𝑠. 𝑡. 𝑋 ∩ 𝐵∗ = ∅ [*] 𝐵が 𝐸, ℱ の𝑏𝑎𝑠𝑒 ⟺ 𝐸𝐵が 𝐸, ℱ∗ の𝑏𝑎𝑠𝑒 より ∃𝑏𝑎𝑠𝑒 𝐵∗ 𝑜𝑓 𝐸, ℱ∗ 𝑠. 𝑡. 𝑋 ∩ 𝐵∗ = ∅ ⟺ ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐸B = ∅ が言える。 𝐹 ∈ ℱ ⟹ ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐸B = ∅ は明らか。逆は、 𝑋 ∩ 𝐸B = ∅ ⟶ 𝑋 ⊆ 𝐵 ∈ ℱ となあるので従う。∎ 42
  • 43. マトロイドの双対性(duality) (1/3) Theorem 13.15 1. (𝐸, ℱ)がマトロイド (matroid)⟺ 𝐸, ℱ∗ がマトロイド(matroid) 2. 双対マトロイドのランク関数(rank function)は𝑟∗ 𝑋 = 𝑋 + 𝑟 𝐸X − 𝑟 𝐸 (2の証明) 𝑟∗がランク公理を満たすことを確認する。 (R1) 𝑟∗ 𝑋 = 𝑋 + 𝑟 𝐸X − 𝑟 𝐸 ≤ 𝑋 + 𝑟 𝐸 − 𝑟 𝐸 = 𝑋 (R2) 𝑋 ⊆ 𝑌 ⊆ 𝐸とすると、劣モジュラ性(R3)より、 𝑟 𝐸X + 0 = 𝑟 𝐸Y ∪ 𝑌X + 𝑟 ∅ ≤ 𝑟 𝐸Y + 𝑟 𝑌X これより 𝑟 𝐸X − 𝑟 𝐸Y ≤ 𝑟 𝑌X ≤ 𝑌X = 𝑌 − |𝑋| よって、 𝑟∗ 𝑌 − 𝑟∗ 𝑋 = 𝑌 + 𝑟 𝐸Y + 𝑟 𝐸 − 𝑋 + 𝑟 𝐸X + 𝑟 𝐸 = 𝑌 − 𝑋 − (𝑟 𝐸X − 𝑟(𝐸Y)) ≥ 0 43
  • 44. マトロイドの双対性(duality) (2/3) Theorem 13.15 1. (𝐸, ℱ)がマトロイド (matroid)⟺ 𝐸, ℱ∗ がマトロイド(matroid) 2. 双対マトロイドのランク関数(rank function)は𝑟∗ 𝑋 = 𝑋 + 𝑟 𝐸X − 𝑟 𝐸 (2の証明続き) (R3) 𝑋, 𝑌 ⊆ 𝐸に対し、 𝑟∗ 𝑋 ∪ 𝑌 + 𝑟∗ 𝑋 ∩ 𝑌 = 𝑋 ∪ 𝑌 − 𝑟(𝐸(𝑋 ∪ 𝑌)) − 𝑟(𝐸) + 𝑋 ∩ 𝑌 − 𝑟(𝐸(𝑋 ∩ 𝑌)) − 𝑟(𝐸) = 𝑋 + 𝑌 + 𝑟 𝐸X ∪ 𝐸Y + 𝑟 𝐸X ∩ 𝐸Y − 2𝑟 𝐸 劣モジュラ性(R3)より、 ≤ 𝑋 + 𝑌 + 𝑟 𝐸X + 𝑟 𝐸Y − 2𝑟 𝐸 = 𝑟∗ 𝑋 + 𝑟∗ 𝑌 ∎ 44
  • 45. マトロイドの双対性(duality) (3/3) Theorem 13.15 1. (𝐸, ℱ)がマトロイド (matroid)⟺ 𝐸, ℱ∗ がマトロイド(matroid) 2. 双対マトロイドのランク関数(rank function)は𝑟∗ 𝑋 = 𝑋 + 𝑟 𝐸X − 𝑟 𝐸 (1の証明) 𝑟∗ 𝑋 = |𝑋| ⟺ 𝑋 ∈ ℱ∗を言えば良い。 𝑟∗ 𝑋 = 𝑋 ⟺ 𝑟 𝐸X = 𝑟 𝐸 ⟺ max 𝑌 𝑌 ⊆ 𝐸X, 𝑌 ∈ ℱ} = max{ 𝑍 | 𝑍 ⊆ 𝐸, 𝑍 ∈ ℱ} であり、 max 𝑌 𝑌 ⊆ 𝐸X, 𝑌 ∈ ℱ} = max{ 𝑍 | 𝑍 ⊆ 𝐸, 𝑍 ∈ ℱ} ⟹ ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅ は明らか。⟸を示す。≤は明らか。反対を背理法によって示す。 𝑌 < |𝑍|と仮定すると、(M3)より∃𝑥 ∈ 𝑍Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱとなってYの最大性に反する。∎ 45
  • 47. 双対マトロイドの例 (2/2) [再掲] graphic matroid (cycle matroid, グラフに関するマトロイド) 無向グラフ𝐺 = (𝑉(𝐺), 𝐸(𝐺))に対し、 𝐸: = 𝐸 𝐺 ℱ ≔ {𝐹 ⊆ 𝐸|(𝑉 𝐺 , 𝐹)は森(𝑓𝑜𝑟𝑒𝑠𝑡)} と定めると(𝐸, ℱ)はマトロイド(matroid)となる。 このとき、平面グラフの平面双対と、cycle matroidの双対が対応する!! ℳ 𝐺∗ = (ℳ(𝐺))∗ 証明はここでは省略。Theorem13.16を参照 47
  • 50. 貪欲法(greedy algorithm) (1/5) u まずは独立系(independence system)の上で貪欲法(greedy algorithm)を定義しよう。 u 考える問題は以下の二つ 独立系(𝐸, ℱ)とコスト関数𝑐: 𝐸 ⟶ ℝが与えられた時、 1. 最大化問題: 𝑐(𝑋)が最大になる𝑋 ∈ ℱを求める問題 2. 最小化問題: 𝑐(𝐵)が最小になる基(base)𝐵を求める問題 50
  • 51. 貪欲法(greedy algorithm) (2/5) 最大化問題: 𝑐(𝑋)が最大になる𝑋 ∈ ℱを求める問題 この問題に対する貪欲法は以下。 BEST-IN-GREEDY ALGORITHM Input: 独立系(𝐸, ℱ), コスト関数𝑐: 𝐸 ⟶ ℝ&, independence oracle (𝑋 ⊆ 𝐸がℱの要素か判定) 1. 𝐸の要素を𝑐 𝑒! ≥ 𝑐 𝑒" ≥ … ≥ 𝑐(𝑒') となるように𝐸 = {𝑒!, 𝑒", … , 𝑒'}とソート 2. 𝑋 ≔ ∅とする。 3. 𝑖 = 1, . . , 𝑛に対し順番に𝑋 ∪ {𝑒(} ∈ ℱなら𝑋 ≔ 𝑋 ∪ {𝑒(}と更新していく。 51 basis-superset oracleで判定 ソートにO(nlog n) oracleの計算時間をO(γ)とすると全体で O(nlog n+γn)
  • 52. 貪欲法(greedy algorithm) (3/5) 最小化問題: 𝑐(𝐵)が最小になる基(base)𝐵を求める問題 この問題に対する貪欲法は以下。 WORST-OUT-GREEDY ALGORITHM Input: 独立系(𝐸, ℱ), コスト関数𝑐: 𝐸 ⟶ ℝ&, basis-superset oracle (𝑋 ⊆ 𝐸がℱのbaseを含んでいるかを判定) 1. 𝐸の要素を 𝑐 𝑒! ≤ 𝑐 𝑒" ≤ … ≤ 𝑐(𝑒') となるように𝐸 = {𝑒!, 𝑒", … , 𝑒'}とソート 2. 𝑋 ≔ 𝐸とする。 3. 𝑖 = 1, . . , 𝑛に対し順番に𝑋{𝑒(}がbaseを含むなら𝑋 ≔ 𝑋{𝑒(}と更新していく。 52 independence oracleで判定 ソートにO(nlog n) oracleの計算時間をO(γ)とすると全体で O(nlog n+γn)
  • 53. 貪欲法(greedy algorithm) (4/5) (Exercise 3) 独立系 𝐸 = 𝑎, 𝑏, 𝑐 ℱ = {∅, 𝑎 , 𝑏 , 𝑐 , 𝑎, 𝑏 } と、マトロイド 𝐸 = 𝑎, 𝑏, 𝑐 ℱ = {∅, a , b , {a, b}} において 𝑐 𝑎 = 2, 𝑐 𝑏 = 3, 𝑐 𝑐 = 4 というコスト関数のもとで - BEST-IN-GREEDY ALGORITHMで最大化問題 - WORST-OUT-GREEDY ALGORITHMで最小化問題 をそれぞれ解き、最適解と比較せよ。 53
  • 54. 貪欲法(greedy algorithm) (5/5) (Exercise 3の答え) [最大化問題] 双方の最適解: X={a,b}, c(X)=5 独立系での結果: X={c}, c(X)=4 → 最適解と一致しない!! マトロイドでの結果: X={a,b}, c(X)=5 → 最適解と一致!! [最小化問題] 独立系の最適解: B={c}, c(B)=4 独立系での結果: B={c}, c(B)=4 → 最適解と一致!! マトロイドの最適解: B={a,b}, c(B) マトロイドでの結果: B={a,b}, c(B)=5 → 最適解と一致!! 54
  • 55. Lower rankとランク商(rank quotient) 目標: マトロイド上の貪欲法は最適解を返すことを証明する。 目標を果たそう。まずは準備。 独立系(𝐸, ℱ)に対し、 𝜌 𝑋 ≔ min 𝑌 𝑌 ⊆ 𝑋, ∀𝑥 ∈ 𝑋Y. 𝑌 ∪ {𝑥} ∉ ℱ} をXのlower rankと定める。これと、ランク関数(rank function) 𝑟 𝑋 ≔ max 𝑌 𝑌 ⊆ 𝑋, 𝑌 ∈ ℱ} を用いて、ランク商(rank quotient)を 𝑞 𝐸, ℱ ≔ min !⊆# 𝜌(𝑋) 𝑟(𝑋) と定める。 55 - lower rankはXに含まれる最小のbaseの大きさ - rankはXに含まれる最大のbaseの大きさ
  • 56. マトロイドとランク商(rank quotient) [Proposition 13.7] 独立系(𝐸, ℱ)に対し、 (a) 𝑞(𝐸, ℱ) ≤ 1 (b) (𝐸, ℱ)がマトロイド(matroid) ⟺ 𝑞 𝐸, ℱ = 1 (証明) (a) 𝑞 𝐸, ℱ ≔ min !⊆# T(!) U(!) , lower rankはXに含まれる最小のbaseの大きさ, rank はXに含まれる最大のbaseの大きさなので明らか。 (b) (M3’’) ∀𝑋 ⊆ 𝐸. 𝑏𝑎𝑠𝑒𝑠 𝑜𝑓 𝑋 ℎ𝑎𝑣𝑒 𝑡ℎ𝑒 𝑠𝑎𝑚𝑒 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑙𝑖𝑡𝑦 と𝑞 𝐸, ℱ = 1が同値 であるので明らか。∎ 56
  • 57. BEST-IN-GREEDY ALGORITHMの性能 最適解によるコスト: 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 貪欲法が返す解によるコスト: 𝐺(𝐸, ℱ, 𝑐) この時、最大化問題に対するBEST-IN-GREEDY ALGORITHMの性能は 𝑞(𝐸, ℱ) ≤ 𝐺(𝐸, ℱ, 𝑐) 𝑂𝑃𝑇(𝐸, ℱ, 𝑐) ≤ 1 となる。(Theorem 13.19) ※ 最小化問題に対しては比の有限な上界なし 1 ≤ 𝐺 𝐸, ℱ, 𝑐 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 < ∞ 57 1 2 M>>2 マトロイドの時は左辺1より 貪欲法で最適解が得られる! (cf) maximal stable set of minimum weight
  • 58. WORST-OUT-GREEDY ALGORITHMの性能 最適解によるコスト: 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 貪欲法が返す解によるコスト: 𝐺(𝐸, ℱ, 𝑐) この時、最小化問題に対するWORST-OUT-GREEDY ALGORITHMの性能は 1 ≤ 𝐺 𝐸, ℱ, 𝑐 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 ≤ max !⊆# 𝑋 − 𝜌∗ (𝑋) 𝑋 − 𝑟∗(𝑋) となる。(Theorem 13.22) ※ 最大化問題に対しては正の下界なし 0 < 𝐺 𝐸, ℱ, 𝑐 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 ≤ 1 58 マトロイドの時は右辺1より 貪欲法で最適解が得られる! 1 2 M>>2 (cf) minimal vertex cover of maximum weight
  • 59. BEST-IN-GREEDY ALGORITHMの性能証明 (1/3) [Theorem 13.19] 最大化問題に対するBEST-IN-GREEDY ALGORITHMは、 𝑞(𝐸, ℱ) ≤ 𝐺(𝐸, ℱ, 𝑐) 𝑂𝑃𝑇(𝐸, ℱ, 𝑐) ≤ 1 を満たす。 (証明) アルゴリズムの返す解を𝐺V, 最適解を𝑂Vとする。 𝑐 𝑒+ ≥ 𝑐 𝑒, ≥ … ≥ 𝑐(𝑒V)とソートして、𝐸W: = 𝑒+, 𝑒,, … , 𝑒W , 𝐺W: = 𝐺V ∩ 𝐸X, 𝑂W: = 𝑂V ∩ 𝐸W と定める。 𝑂W ∈ ℱより、|𝑂W| ≤ 𝑟(𝐸W) 𝐺Wは𝐸Wの基であった(アルゴリズム参照)ので、|𝐺W| ≥ 𝜌(𝐸W) 59 - lower rankはXに含まれる最小のbaseの大きさ - rankはXに含まれる最大のbaseの大きさ
  • 60. BEST-IN-GREEDY ALGORITHMの性能証明 (2/3) [Theorem 13.19] 最大化問題に対するBEST-IN-GREEDY ALGORITHMは、 𝑞(𝐸, ℱ) ≤ 𝐺(𝐸, ℱ, 𝑐) 𝑂𝑃𝑇(𝐸, ℱ, 𝑐) ≤ 1 を満たす。 (証明の続き) 𝑐 𝐺% = N &"∈(# 𝑐(𝑒)) = N )*" % ( 𝐺) − 𝐺)+" )𝑐(𝑒)) = N )*" %+" |𝐺)|(𝑐 𝑒) − 𝑐 𝑒)," ) + 𝐺% 𝑐 𝑒% ≥ N )*" %+" 𝜌 𝐸) 𝑐 𝑒) − 𝑐 𝑒)," + 𝜌 𝐸% 𝑐 𝑒% ≥ 𝑞(𝐸, ℱ) N )*" %+" 𝑟 𝐸) 𝑐 𝑒) − 𝑐 𝑒)," + 𝑟 𝐸% 𝑐 𝑒% ≥ 𝑞 𝐸, ℱ N )*" %+" 𝑂) 𝑐 𝑒) − 𝑐 𝑒)," 𝑂% 𝑐 𝑒% = 𝑞(𝐸, ℱ) N )*" % 𝑂) − 𝑂)+" 𝑐 𝑒) = 𝑞(𝐸, ℱ)𝑐(𝑂%) 60 𝐺V: アルゴリズムの解 𝑂V: 最適解 𝐸W: = 𝑒+, 𝑒,, … , 𝑒W 𝐺W: = 𝐺V ∩ 𝐸X 𝑂W: = 𝑂V ∩ 𝐸W |𝑂W| ≤ 𝑟(𝐸W) |𝐺W| ≥ 𝜌(𝐸W) 𝑞 𝐸, ℱ ≔ min !⊆# 𝜌(𝑋) 𝑟(𝑋)
  • 61. BEST-IN-GREEDY ALGORITHMの性能証明 (3/3) [Theorem 13.19] 最大化問題に対するBEST-IN-GREEDY ALGORITHMは、 𝑞(𝐸, ℱ) ≤ 𝐺(𝐸, ℱ, 𝑐) 𝑂𝑃𝑇(𝐸, ℱ, 𝑐) ≤ 1 を満たす。 (証明の続き) 不等式は示せた。等号成立を示す。 𝑞 𝐸, ℱ = |𝐵!| |𝐵"| となるような𝑋 ⊆ 𝐸に対し、 𝑐 𝑒 ≔ 1 (𝑒 ∈ 𝑋) 0 𝑒 ∈ 𝐸X というコスト関数を与える。𝐵!の要素の方が添字が小さくなるようにすると、 𝐺 𝐸, ℱ, 𝑐 = 𝐵! , 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 = |𝐵"| となって等号が成り立つ例となる。∎ 61 𝐺V: アルゴリズムの解 𝑂V: 最適解 𝐸W: = 𝑒+, 𝑒,, … , 𝑒W 𝐺W: = 𝐺V ∩ 𝐸X 𝑂W: = 𝑂V ∩ 𝐸W |𝑂W| ≤ 𝑟(𝐸W) |𝐺W| ≥ 𝜌(𝐸W) 𝑞 𝐸, ℱ ≔ min !⊆# 𝜌(𝑋) 𝑟(𝑋)
  • 62. WORST-OUT-GREEDY ALGORITHMの性能証明 (1/3) [Theorem 13.22] 最小化問題に対するWORST-OUT-GREEDY ALGORITHMは、 1 ≤ 𝐺 𝐸, ℱ, 𝑐 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 ≤ max !⊆# 𝑋 − 𝜌∗ (𝑋) 𝑋 − 𝑟∗(𝑋) を満たす。 (証明) 1. 𝐺W ≤ 𝐸W − 𝜌∗ 𝐸W 2. 𝑂W ≥ 𝐸W − 𝑟∗ 𝐸W が示せれば、BEST-IN-GREEDYのときの証明と同じ変形をすることで不等式が示せ る。(各自確認せよ) 等号成立する例はmaxを達成するXについてBEST-IN-GREEDYのときの証明と同じよ うに作れる。 よって、1,2を順に示す。(双対性を今一度復習してから進むこと。) 62 𝐺V: アルゴリズムの解 𝑂V: 最適解 𝐸W: = 𝑒+, 𝑒,, … , 𝑒W 𝐺W: = 𝐺V ∩ 𝐸X 𝑂W: = 𝑂V ∩ 𝐸W
  • 63. WORST-OUT-GREEDY ALGORITHMの性能証明 (2/3) [Theorem 13.22] 最小化問題に対するWORST-OUT-GREEDY ALGORITHMは、 1 ≤ 𝐺 𝐸, ℱ, 𝑐 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 ≤ max )⊆+ 𝑋 − 𝜌∗ (𝑋) 𝑋 − 𝑟∗(𝑋) を満たす。 ( 𝐺, ≤ 𝐸, − 𝜌∗ 𝐸, の証明) 𝐺' ⊆ 𝐸(𝐸,𝐺,)であり、𝐺'は(𝐸, ℱ)の基(base)である。 これは、(𝐸, ℱ)の基𝐺' ∩ 𝐸,𝐺, = ∅を意味する。 つまり、𝐸,𝐺, ∈ ℱ∗ ということ。 さらに、∀e ∈ 𝐺,. (𝐺, ∪ (𝐸𝐸,)){𝑒}は(𝐸, ℱ)の基(base)を含まない(アルゴリズム参照) ので、補集合考えると ∀e ∈ 𝐺,. 𝐸,𝐺, ∪ {𝑒}は全ての基と交わる。 つまり、 ∀e ∈ 𝐺,. (𝐸,𝐺,) ∪ {𝑒} ∉ ℱ∗ なので 𝐸,𝐺,は双対独立系の基である。 したがって、|𝐸,𝐺,| ≥ 𝜌∗ (𝐸,)となり、示せた。 63 ℱ∗ ≔ 𝑋 ⊆ 𝐸 ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅}
  • 64. WORST-OUT-GREEDY ALGORITHMの性能証明 (3/3) [Theorem 13.22] 最小化問題に対するWORST-OUT-GREEDY ALGORITHMは、 1 ≤ 𝐺 𝐸, ℱ, 𝑐 𝑂𝑃𝑇 𝐸, ℱ, 𝑐 ≤ max !⊆# 𝑋 − 𝜌∗(𝑋) 𝑋 − 𝑟∗(𝑋) を満たす。 ( 𝑂W ≥ 𝐸W − 𝑟∗ 𝐸W の証明) 𝑂V ⊆ 𝐸(𝐸W𝑂W)であり、𝑂Vは(𝐸, ℱ)の基(base)である。 これは、(𝐸, ℱ)の基𝑂V ∩ 𝐸W𝑂W = ∅を意味する。 つまり、𝐸W𝑂W ∈ ℱ∗ということ。 したがって、|𝐸W𝑂W| ≤ 𝑟∗ (𝐸W)となり、示せた。∎ 64 ℱ∗ ≔ 𝑋 ⊆ 𝐸 ∃𝑏𝑎𝑠𝑒 𝐵 𝑜𝑓 𝐸, ℱ 𝑠. 𝑡. 𝑋 ∩ 𝐵 = ∅}
  • 65. マトロイドと貪欲法 総括 マトロイド上では最大化問題に対するBEST-IN-GREEDY ALGORITHMが最適化を返す ことが示せた。 また、 𝑐Y 𝑒 = 1 + max 𝑐 𝑒 𝑒 ∈ 𝐸 − 𝑐(𝑒) とすると、 𝐸, ℱ, 𝑐 に対する最小化問題 = 𝐸, ℱ, 𝑐Y に対する最大化問題 となるので、マトロイドの場合はBEST-IN-GREEDY ALGORITHMとWORST-OUT- GREEDY ALGORITHMのどちらを使っても問題はないことに注意。 ここで、一番最初にあげた例に戻ってみる。 65
  • 66. 最小全域木問題再訪 (問題1) 最小全域木問題 グラフ 𝐺 = (𝑉, 𝐸) と辺のコスト関数 𝑐: 𝐸 ⟶ ℝ が与えられた時に、全頂点を通るような 木(全域木, spanning tree)で含まれる辺のコストの総和が最小のものを求める問題 最小全域木(minimum spanning tree) 3 5 4 4 2 1 3 5 4 4 2 5 1 5 66
  • 68. クラスカル法とマトロイド (2/2) (問題1) 最小全域木問題 [クラスカル法] 辺のコストが小さい順に選んでいき閉路や多重辺ができなければ追加していき、 全域木となったら終了する。 ↓ graphic matroid ℳ(𝐺)を考えると、 全域木: ℱの極大な要素(base) であるので、最小全域木問題は、マトロイドℳ(𝐺)に対する最小化問題 ↓ クラスカル法は、graphic matroidに対するBEST-IN-GREEDY ALGORITHMだった!! 68
  • 70. プリム法とグリードイド(greedoid) (2/7) (問題1) 最小全域木問題 [プリム法] ある点からスタートし、すでに追加されている点からなるカット上で辺のコストが 最も小さい辺を追加していき、全域木となったら終了する。 ↓ graphic matroidに対するGREEDY ALGORITHMと対応しない。 しかし、やっていることは貪欲法っぽい 正体は?? ↓ 実は、グリードイド(greedoid)に対する貪欲法(greedy algorithm)に対応している!! 70
  • 71. プリム法とグリードイド(greedoid) (3/7) u 集合系(set system) (𝐸, ℱ)がグリードイド(greedoid)であるとは以下を満たすこ と。 (M1) ∅ ∈ ℱ (M3) 𝑋, 𝑌 ∈ ℱ, 𝑋 > 𝑌 ⟹ ∃𝑥 ∈ 𝑋Y 𝑠. 𝑡. 𝑌 ∪ {𝑥} ∈ ℱ (グリードイドの例) 𝐸 = 𝑎, 𝑏, 𝑐 ℱ = {∅, a , {a, b}} 71 a b c
  • 72. プリム法とグリードイド(greedoid) (4/7) GREEDY ALGORITHM FOE GREEDOID: (BEST-IN-GREEDYに対応) Input: グリードイド(𝐸, ℱ), モジュラ関数𝑐: 2# ⟶ ℝ, oracle (𝑋 ⊆ 𝐸がX ∈ ℱ判定し、𝑐(𝑋)を返す) 1. 𝑋 ≔ ∅ 2. 𝑒 ∈ 𝐸Fのうち、𝑋 ∪ {𝑒} ∈ ℱかつ𝑐(𝑋 ∪ {𝑒})が最大になるものを選ぶ。そのような eがない時は終了。 3. 𝑋 ≔ 𝑋 ∪ {𝑒}と更新して2に戻る。 72 ※ グリードイド上のモジュラ関数最大化問題は 一般にNP-hard (Proposition 14.8: VCからの帰着) 𝑐 𝑋 ∪ 𝑌 + 𝑐 𝑋 ∩ 𝑌 = 𝑐 𝑋 + 𝑐(𝑌)
  • 73. プリム法とグリードイド(greedoid) (5/7) GREEDY ALGORITHM FOR GREEDOIDは最適とは限らない。 しかし、以下の条件があれば最適 (証明は本を参照) ↓ [Theorem 14.7] グリードイド(𝐸, ℱ)に対し、以下が同値 1. 𝐺𝑅𝐸𝐸𝐷𝑌 𝐴𝐿𝐺𝑂𝑅𝐼𝑇𝐻𝑀 𝐹𝑂𝑅 𝐺𝑅𝐸𝐸𝐷𝑂𝐼𝐷が最適 2. 𝐸, ℱ が𝑠𝑡𝑟𝑜𝑛𝑔 𝑒𝑥𝑐ℎ𝑎𝑛𝑔𝑒 𝑝𝑟𝑜𝑝𝑒𝑟𝑡𝑦を満たす 73 ∀𝐴 ∈ ℱ. ∃𝑦 ∈ 𝐵A 𝑠. 𝑡. 𝐴 ∪ {𝑦} ∈ ℱ ∧ (𝐵{𝑦}) ∪ {𝑥} ∈ ℱ (𝐵: 𝑚𝑎𝑥𝑖𝑚𝑎𝑙 𝑖𝑛 ℱ, 𝐴 ⊆ 𝐵, 𝑥 ∈ 𝐸B, 𝐴 ∪ {𝑥} ∈ ℱ)
  • 74. プリム法とグリードイド(greedoid) (6/7) (directed, undiredted) branching greedoid (directed, undiredted)グラフ𝐺 = (𝑉(𝐺), 𝐸(𝐺))に対し、𝑟 ∈ 𝑉(𝐺)を一つ選ぶ。 この時、 𝐸: = 𝐸 𝐺 ℱ ≔ {𝐹 ⊆ 𝐸| 𝑉 𝐺 , 𝐹 は𝑟を根とする(有向, 無向)木} と定めると(𝐸, ℱ)はグリードイド(greedoid)となる。 (証明) (M1) 明らか。 (M3) 明らか。∎ 74
  • 75. プリム法とグリードイド(greedoid) (7/7) (問題1) 最小全域木問題 [プリム法] ある点からスタートし、すでに追加されている点からなるカット上で辺のコストが最も小さい 辺を追加していき、全域木となったら終了する。 ↓ branching greedoidを考えると、 全域木: ℱの極大な要素(base) であるので、最小全域木問題は、グリードイドに対する最小化問題とも捉えられる!! ↓ プリム法は、branching greedoidに対する(BEST-IN-)GREEDY ALGORITHMだった!! branching greedoidはstrong exchange propertyを満たす(各自確認されたい)ので最適!! 75 ∀𝐴 ∈ ℱ. ∃𝑦 ∈ 𝐵A 𝑠. 𝑡. 𝐴 ∪ {𝑦} ∈ ℱ ∧ (𝐵{𝑦}) ∪ {𝑥} ∈ ℱ (𝐵: 𝑚𝑎𝑥𝑖𝑚𝑎𝑙 𝑖𝑛 ℱ, 𝐴 ⊆ 𝐵, 𝑥 ∈ 𝐸B, 𝐴 ∪ {𝑥} ∈ ℱ)
  • 76. 最後に 他にもマトロイドに関する話題として、 1. マトロイドの交叉(intersection), 分割(partition) 2. マトロイドの仲間(greedoid, polymatroid, antimatroid) 3. マトロイドと劣モジュラ関数(submodular function)との関係 4. 劣モジュラ関数(submodular function)最小化 5. 対称劣モジュラ関数(symmetric submodular function)最小化 6. 劣モジュラ関数(submodular function)最大化のheuristic などが取り上げられています。興味のある方はぜひ読んでみてください!! 76
  • 77. 参考文献 u Korte, Bernhard, et al. Combinatorial optimization. Vol. 2. Heidelberg: Springer, 2012. 77
  • 78. Thank you for listening !! ※ 拙いですが、一応実装してみたりしてます → https://github.com/CombOptAlgos 78