計算量理論 1. マトロイドと貪欲アルゴリズム 1. Matroids and the Greedy Algorithm

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

有限幾何学 第 2 回. 有限幾何学 第 2 回 1. 様々なグラフの例 2. 道と最短経路問題 1. 用語の説明 2. 最短経路問題 3. ダイキストラのアルゴリズム.
2015 年度 有限幾何学 期末試験 次の各問に答えよ.( (1), (2), (3), (4), (5), (7), (8), (10) は答えだけでよい) (1) 有向閉路が存在しない位数 4 のトーナメントを描け. (2) 内点の個数が 10 個の正則 2 分木の葉の個数を求めよ. (3) グラフ.
算法数理工学 第 7 回 定兼 邦彦 1. グラフ グラフ G = (V, E) –V: 頂点 ( 節点 ) 集合 {1,2,…,n} –E: 枝集合, E  V  V = {(u,v) | u, v  V} 無向グラフ – 枝は両方向にたどれる 有向グラフ – 枝 (u,v) は u から.
<最適化の概念> 最適化すべき問 題 数学モデル 変数,数式 数理計画法 定められた計算手 順を用いて解くた めの方法論.
0章 数学基礎.
      ベクトル空間   実数体 体:数の集合で四則がその中で行えるもの 例)有理数全体、実数全体、複素数全体 R:実数体     C:複素数体  ベクトル空間
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
3.2.3~3.3 D3 川原 純.
セキュアネットワーク符号化構成法に関する研究
4. Matching 松山.
計算量理論 6. 4: tightning a constraint 6
第4章 Matching(後半) 情報学研究科 湯浅研究室M1 藤川浩光.
組合せ最適化の地平 Combinatorial Optimization: A Tour d’Horizon
    有限幾何学        第8回.
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
Extremal Combinatorics 14.1 ~ 14.2
An Algorithm for Enumerating Maximal Matchings of a Graph
    有限幾何学        第5回.
Probabilistic Method.
Extremal Combinatrics Chapter 4
Approximation of k-Set Cover by Semi-Local Optimization
JAG Regional Practice Contest 2012 問題C: Median Tree
    有限幾何学        第12回.
Designs M1 後藤 順一.
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
Natural Semantics 実行過程の、最初と最後の状態(state)の関係を考える。
線形代数学 4.行列式 吉村 裕一.
Probabilistic Method 6-3,4
Probabilistic method 輪講 第7回
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
8.Intersecting Families
s a b f c e d 2016年度 有限幾何学 期末試験 問1:15点
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
Selfish Routing and the Price of Anarchy 第2回
計算量理論輪講 岩間研究室 照山順一.
A First Course in Combinatorial Optimization Chapter 3(前半)
3. 可制御性・可観測性.
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
計算の理論 I -Myhill-Nerodeの定理 と最小化-
7.4 Two General Settings D3 杉原堅也.
プリムのアルゴリズム 重み付きグラフG=(V,E)の任意の点集合 U⊂Vに対して一方の端点がUの中にあり、他方の端点がV-Uの中にあるような枝の中で最小の重みを持つものをlとすれば、枝lを含むような最小木が存在する。
計算の理論 I -Myhill-Nerodeの定理 と最小化-
25. Randomized Algorithms
Selfish Routing and the Price of Anarchy 4.3
計算量理論輪講 chap5-3 M1 高井唯史.
A First Course in Combinatorial Optimization Chapter
First Course in Combinatorial Optimization
Structural operational semantics
First Course in Combinatorial Optimization
SUNFLOWER B4 岡田翔太.
2016年度 有限幾何学 中間試験 問1 次のグラフを描け.(描けない場合は理由を述べよ) 各20点
14. The Basic Method M1 太田圭亮 14.3 Spaces of polynomials
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
Selfish Routing 4章前半 岡本 和也.
    有限幾何学        第5回.
Max Cut and the Smallest Eigenvalue 論文紹介
情報工学概論 (アルゴリズムとデータ構造)
7.8 Kim-Vu Polynomial Concentration
矛盾した知識 デフォルト推論 仮説を用いた推論 準無矛盾推論 デフォルト規則 デフォルト理論の拡張 → デフォルト証明 シナリオ
d b c e a f 年度 有限幾何学 中間試験 問1 次の用語の定義をそれぞれ述べよ.
行列 一次変換,とくに直交変換.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
2017年度 有限幾何学 期末試験 注意:ループと多重辺がないグラフのみを扱う. 問1 次の定理と,その証明の概略を読み,各問に答えよ.
Chapter5 Systems of Distinct Representatives
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
図2 x11 図1 x6 x10 x12 x3 x5 x7 x9 x13 x2 x4 x8 x14 (0,0) (1,0) x1 x15
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

計算量理論 1. マトロイドと貪欲アルゴリズム 1. Matroids and the Greedy Algorithm

1. Matroids and the Greedy Algorithm 1.1 独立公理とマトロイドの例      (Independence Axioms and Examples of Matroids) 1.2 サーキットの性質 (Circuit Properties) 1.3 表現 (Representations) 1.4 貪欲アルゴリズム (The Greedy Algorithm) 1.5 ランクの性質 (Rank Properties) 1.6 双対性 (Duality) 1.7 マトロイド多面体 (The Matroid Polytope) 1.8 Further Study

マトロイドの定義 マトロイド M とは,有限集合 E(M) と,E(M) の部分集合の族 のペア. 本章ではマトロイドの基礎的な内容を扱う. E(M) :台集合 (ground set), I(M) の要素:独立集合(independence set)

マトロイドの定義 Independence Axioms マトロイド M とは,有限集合 E(M) と,E(M) の部分集合の族            のペアで,下に示す Independence Axioms をみたすもの. Independence Axioms となる が存在. I3 : exchange axiom

マトロイドの例 線形マトロイド (Linear matroid) - 体 F 上の行列 A に対し,     E(M) を A の列の集合(縦ベクトルの集合),     I(M) の要素を,線形独立なベクトル v ∈ E(M) の集合としたもの.  - 行列 A を,マトロイド M の F 上の表現(representation)と呼ぶ. I1, I2 は自明. X, Y ∈ I(M) (|Y| > |X|) とすると, (Y の次元) > (X の次元) なので X のどのベクトルとも独立な v ∈ Y が 存在し,X + v ∈ I(M).(I3 が成立)

マトロイドの例 G κ(G) = 4 定義 ・ グラフGの節点集合を V(G), 枝集合を E(G) とする. ・ F ⊆ E(G) に対し,グラフ G.F を,節点集合 V(G.F) := V(G),   枝集合 F(G.F) := F のグラフとする. ・ 枝部分集合 F ⊆ E(G) が閉路を持たないとき,F を森(forest)と呼ぶ. κ(G) = 4 森 G

マトロイドの例 G グラフ的マトロイド (Graphic matroid) Y X   -グラフ G に対し,E(M) := E(G), I(M) を G の森全体の集合としたもの. e1, e2, e3 の全てを同時に含まない枝集合 が I(M) の要素. e1 e3 e2 G I1, I2 は自明. X, Y ∈ I(M), |Y| > |X| に対し, 全ての e ∈ Y-X で X + e が閉路を持つとすると, |Y| ≦|X| となり矛盾. ( e ∈ Y-X の端点は,両方とも G.X の同一の連結成分に 含まれる ⇒ κ(G.Y) ≧κ(G.X) ⇒ |Y| ≦|X| ( ∵ |F| = |V|-κ(G.F) ).) Y X

マトロイドの例 一様マトロイド (Uniform matroid)   - E(M) を有限集合とし,r を 0 ≦ r ≦ E(M) となる整数として,    としたもの. I1, I2, I3 の成立は自明. Y, X ∈ I(M), |Y| > |X| のとき,どの e ∈Y-X を X に加えても X + e は I(M) に含まれる ( |X| < |Y| ≦r なので,| X + e | ≦r ).

諸定義  ・ 直和 (Direct sum)    マトロイド                    の直和 M とは,    としたもの.このとき,M はマトロイドとなる.

諸定義 ・ 独立性システム(Independent system)   E(M) と I(M) のペア M で,必ずしも公理 I3 を満たさないもの.    独立性システムで,マトロイドではないものの例(vertex packing on star):      E(M) がグラフ G の節点集合で,      I(M) がvertex packing (どの節点間にも枝のない節点集合)の集合. 2 3 X = {1},Y = {2, 3, 4, 5} 1 どの Y の要素を X に加えても vertex packing とならない. 5 4

1.2 Circuit Properties 独立性システム M で, を従属集合(dependent set)と呼ぶ. 従属集合のうち,真部分集合が I(M) の要素となるもの(極小な従属集合)をサーキット(circuit)と呼ぶ. サーキットの集合を C(M) とする. 要素が1つのサーキットをループと呼ぶ. 例: グラフ的マトロイドでは,サーキットは閉路となる.    ループは自己ループ.

サーキットの性質 Circuit Properties となる が存在. M がマトロイドなら,サーキットの集合 C(M) は下の C1, C2, C3 を満たす. M が独立性システムで,C(M) が C1, C2 を満たすとき,   M をクラッター (clutter) と呼ぶ. Circuit Properties となる が存在. M がマトロイドなら C(M) が C3 (circuit-elimination property) を満たすことを次の定理で示す.

クラッター M が独立性システム(I(M) がI3を満たさないM)で,C(M) が C1, C2 を満たすとき,M をクラッター (clutter) と呼ぶ. となる が存在. となる が存在. クラッターの例 (vertex packing on star) E(M) がグラフ G の節点集合で, I(M) がvertex packing (どの節点間にも枝のない節点集合)の集合. 2 3 1 5 4 異なるサーキット X = { 1, i },Y = { 1, j } (i≠j,i, j ≧2) , 1 = e ∈ X ∩Y に対し, (X ∪Y) -e = {i, j} のどの部分集合もサーキットではない ( I(M) に含まれる).

Theorem (Circuit elimination)   M がマトロイド ⇒ C(M) は C3 を満たす. が C(M) の要素を含まないと仮定. W Y g を, Y-f を含む 極大な独立集合とする. Y ⊆W なので,f ∈W. また,X ⊆W なので,g ∈ X-W を選べる. f X I3 を W と (X∪Y)-e に適用すると, Wの極大性に矛盾. となる が存在.

サーキットの性質 E(M) と C1, C2 を満たす C(M) が与えられたとき,   C(M) をサーキットと持ち, I1, I2 をみたすI(M) がただ1つ存在し,

1.3 Representations 本節では,ファノマトロイド(Fano matroid)について扱う. ファノマトロイドとは,下の行列 F によって GF(2) 上で表現されるマトロイド. 線形マトロイド: E(M) を F の列の集合(縦ベクトルの集合), I(M) の要素を線形独立なベクトルからなる E(M) の部分集合としたもの.

諸定義 マトロイド M の極小表現 (Minimal representation) A と A’ が射影同値(projective equivalence)   同じ体上の r×n 行列 A と A’ の行ベクトルが線形独立であり,かつ,   ある正則行列 B と 正則な対角行列 D が存在して,A’ = BAD.   (射影同値は同値関係となる.) 行列 A と A’ が射影同値のとき,それらは同じマトロイドを表現する.(逆は必ずしも成り立たない.)

Fano representation 定理(Fano representation) ・ ファノマトロイドがある体上で表現可能   ・ ファノマトロイドがある体上で表現可能     ⇔ その体の標数は2.   ・ ファノマトロイドの標数2の体上の極小表現は,行列 F とその    射影同値な行列以外に存在しない. 体の標数: 1 (乗法の単位元) を n 回たしたときに 0 (加法の単位元) となるような        最小のn. このようなnが存在しないなら 0.        GF(2) なら 2. (1+1=0.)

Fano representation 定理(Fano representation) ・ ファノマトロイドがある体上で表現可能   ・ ファノマトロイドがある体上で表現可能     ⇔ その体の標数は2.   ・ ファノマトロイドの標数2の体上の極小表現は,行列 F とその    射影同値な行列以外に存在しない. 証明の方針: ・ ある体上の行列 A をファノマトロイドの表現とおき,  A に正則な行列(前々スライドの B, D)を掛けることで F が得られることを示す.  (A の要素を地道に 0 と 1 にしていく.) ・ 最後に,その体の標数が 2 であることを示す.   (列 4, 5, 6 が一次従属であるためには,1+1=0 でなければならない.

1.4 Greedy Algorithm 諸定義 貪欲アルゴリズム(greedy algorithm) ・ ランク関数  ・ ランク関数    独立性システム M に対し,    (X の部分集合で最も大きい Y ∈ I(M) の |Y|.)  ・ M のランク              ( = 要素数最大の X ∈ I(M) の |X| )  ・ 基 (base)                  となる S ∈ I(M).       (B(M) で基全体の集合をあらわす.) 貪欲アルゴリズム(greedy algorithm)   M がマトロイドのとき,基は貪欲アルゴリズムで見つけることができる.

貪欲アルゴリズム Greedy Algorithm i. 任意に e ∈ U を選び,U := U-e.  ii. S + e ∈ I(M) なら S := S + e. ファノマトロイドでは,まだ選んでいない列ベクトルを任意に選び, どの S の要素とも線形独立なら S に加える.

貪欲アルゴリズム Greedy Algorithm i. 任意に e ∈ U を選び,U := U-e.  ii. S + e ∈ I(M) なら S := S + e. 3. S を出力. 最適性の証明: もし S が基でない場合,基 B があって |S| < |B|. I3 より,e ∈ B-S が存在して S + e ∈ I(M). アルゴリズムでこの e は選ばれているはずなので矛盾.

貪欲アルゴリズム M がマトロイドではない独立性システムの場合,貪欲アルゴリズムが失敗 することがある. 例(vertex packing on star):     E(M) がグラフ G の節点集合で,     I(M) がvertex packing (どの節点間にも枝のない節点集合)の集合. 2 3 節点 1 が最初に選ばれると,他の節点はもう選ばれない. しかし明らかに基は {2,3,4,5}. 1 5 4 (基はグラフの最大独立集合)

重み付きの場合 Greedy Algorithm i. 重み最大の sk ∈ U を選び,U := U-sk. 重み付きでも貪欲アルゴリズムで最適解を求めることができる. 各 e ∈ E(M) は重み c(e) を持つこととし,与えられた k ( 0 ≦k ≦rM(E(M) )に対し,重み最大の S ∈I(M) ( |S| = k )を求める. Greedy Algorithm  i. 重み最大の sk ∈ U を選び,U := U-sk.  ii. Sk-1 + sk ∈ I(M) なら Sk := Sk-1 + sk,k := k+1. 3. Sk を出力. 最適性は次の定理で証明.

貪欲アルゴリズムの最適性 定理(貪欲アルゴリズムの最適性) が存在する.)   貪欲アルゴリズムは,要素数 k の重み最大の独立集合をみつける.ただし, 0 ≦ k ≦ rM(E(M) . (証明) ・ 出力 Sk が最大重みでないと仮定する.  出力を  最適解を ・ 仮定より   ゆえに,ある p (1≦p ≦k ) が存在して ・ アルゴリズムで           まで選んだとき,  次は  ,もしくはより重みの大きいものを選んでいたはず.  (∵ 2つの独立集合               を考えたとき,I3 から が存在する.)

マトロイドの特徴づけ X Y 定理(Greedy characterization of matroids) E(M)   貪欲アルゴリズムが,全ての k と(非負の)重み関数 c で最大重み独立集合 S ( |S| = k ) を見つけるとき,M はマトロイドである. (証明) Y と X ( |Y| > |X| ) が I3 を満たさないとする. X Y 1 1 + ε εが十分小さいなら,グリーディアルゴリズムは 重み最大の独立集合を出力. しかし,アルゴリズムの|X| ステップ目までは X の要素を選んでいるはず. このとき出力される X’ の重みは (1+ε)|X|.ε< 1/E(M) とすれば,c(X’) < |X| + 1 ≦ c(Y). E(M) となる が存在.

1.5 Rank Properties Rank Properties M がマトロイドならR1~R3 を満たす. E := E(M), r := rM Rank Properties かつ,r(X) は整数. R3: 劣モジュラー性 (submodularity). M が独立性システムの場合は R3 を必ずしも満たさない.ただし次はみたす.

1.5 Rank Properties 定理 (Submodularity of matroid rank function)   M がマトロイドなら,rM は R3 を満たす. (証明略)

ランク関数による特徴づけ Rank Properties 定理 (Rank characterization of matroids)   E: 有限集合.r: 2E → R が R1, R2, R3 を満たすとき,   とすれば, M はマトロイドとなる.ただし, E(M) := E, rM = r. (証明略) Rank Properties かつ,r(X) は整数.

1.6 Duality マトロイド M の双対 M* を以下のように定義する. 定理 (Matroid duality) G   (Gの枝とG*の枝をクロスしているもので対応づける.) グラフ的マトロイド: E(M) : 枝集合 I(M) : 森の集合 基は全域木 G 双対平面グラフ G*

1.6 Duality G G* M* の基は M の基の補集合. M の(最大重みの基 B を見つける)グリーディアルゴリズムにより,   M* の最小重みの基 B* をみつけることができる.B = E(M) \ B*. G の全域木(基)に対応する枝をG*から取り除くと全域木となる. G G*

1.7 The Matroid Polytope マトロイド多面体 (Matroid polytope) E(M) = {1, 2,.., n} に対して,S = {1,2,4} なら x(S) = (1, 1, 0, 1, 0,..., 0). 定理 (Matroid Polytope)    マトロイド M に対し,

1.7 The Matroid Polytope 定理 (Greedy optimality for Polymatroids)   E = {1,2,..., n}, r: E → R を R2, R3 を満たし,r(Φ) = 0 となる関数,                    k を c(e) が非負である最大の index,   x ∈ RE をグリーディ解として次のように定義すると,   次の線形計画法の最適解となる. subject to: さらに,k = n かつ,制約条件から xe ≧ 0 をなくすと, r が R2 を満たすという仮定を省略できる.

(再褐) Rank Properties かつ,r(X) は整数.

諸定義 次を満たすとき,T ⊆ E(M) は inseperable ランク不等式は inseperable でないなら冗長. に分割できる.

諸定義 次を満たすとき,T ⊆ E(M) は closed 「どの e ⊆E(M) も とならない.」 M がマトロイドのとき,任意の T ⊆ E(M) に対し,              となる極大な T ⊆ cl(T) が存在.   (cl(T) をTの closure とよぶ.) ランク不等式は closed でないなら冗長. closed でないなら, と に分割できる.

1.7 The Matroid Polytope 定理 (Facets of a matroid polytope)    M をマトロイドとし,全ての f ∈E(M) が { f } ∈ I(M) なら,    closed かつ inseparable な(空でない)集合に対するランク不等式は    PI(M) のminimal description となっている.