Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
グラフ理論から組合せ最適化へ
京都大学数理解析研究所
岩田 覚
グラフ
グラフ
ケーニヒスベルグの7本の橋
ケーニヒスベルグの7本の橋
Eulerの定理
),( EVG = 連結グラフ
すべての枝を1回ずつ通る閉路
Euler 閉路が存在する
すべての点で次数が偶数
接続する枝の本数
Eulerの定理
良い特徴付け
判定問題 【答えは,Yes/No】
NP: Yesのときに簡潔な証拠が存在
co‐NP: Noのときに簡潔な証拠が存在
良い特徴付け (Good Characterization)
NP-coNP∩ を保証する特徴付け
マッチング
),( EVG =
:EM ⊆ マッチング ||2|| MM =∂
端点集合
完全マッチング
VM =∂
Tutteの定理
),( EVG =
UG− の連結成分で点数が奇数の個数
U完全マッチングが存在する
VUUUG ⊆∀≤− |,|)odd(
Petersenの定理
3正則2枝連結グラフには完全マッチングが存在する.
d正則: すべての点で次数が d
k枝連結: どの 本の枝を削除しても連結1−k
Petersenの定理
Petersenの定理
Petersenの定理
3正則2枝連結グラフ
U
U UG−:F と の奇成分を結ぶ枝の集合
)odd(3|| UGF −≥
||3|| UF ≤
||)odd( UUG ≤−∴
Tutteの定理より,完全マッチングが存在する.
),( EVG =
Tutte‐Berge公式
),( EVG = :)(Gμ マッチングの最大枝数
} |:|)odd(|min{|21)( VUUUGVG ⊆+−−=μ
U
|}|){odd(max: UUGVU
−−=⊆
l
l個の点を追加.各点から のすべての点に枝を張る.
V
Tutteの定理を適用.
Edmondsのアルゴリズム
最大マッチングの計算法
増加道 を見出し,
.: φ=MP .: MPM Δ=
増加道が存在しなければ,終了.
Edmondsのアルゴリズム
増加道の探索法
Edmondsのアルゴリズム
増加道が見つからない場合
.||)odd(|| )odd(||||2||2
UUGVUGUVUM
+−−=−−−+=
Gallaiの補題
),( EVG =
:EH ⊆ 枝被覆 VH =∂
||)()( VGG =+ημ
:)(Gη 枝被覆の最小枝数
Tutte‐Berge公式
),( EVG = :)(Gμ マッチングの最大枝数
} |:|)odd(|min{|21)( VUUUGVG ⊆+−−=μ
U
Tutte‐Berge公式
),( EVG =
:EM ⊆ マッチング
|}|)odd(|{|21|| UUGVM +−−≤
VU ⊆
U
||)odd(|| UUGMV −−≥∂−
||)odd(||2|| UUGMV −−≥−
Edmondsのアルゴリズム
最大マッチングの計算法
増加道 を見出し,
.: φ=M
P .: MPM Δ=増加道が存在しなければ,終了.
以下を繰り返す.
Edmondsのアルゴリズム増加道の探索法
Edmondsのアルゴリズム
増加道が見つからない場合
||)odd(|| UUGMV −−=∂−
|}|)odd(|{|21|| UUGVM +−−=
U
最大重みマッチング
),( EVG =
ℜ→Ew :
3
2
3
7
5
4 6
2
1
∑∈
=Me
ewMw )()(
}? :|)(max{ MMw マッチング
最大重みマッチング
∑∈Ee
exew )()(
).( }1,0{)(
),( 1)(
Eeex
Vvexve
∈∈
∈≤∑∈δ
Maximize
subject to
整数線形計画問題
),( EVG = vδ v
}1)(|{ == exeM
最大重みマッチング
∑∈Ee
exew )()(
).( 0)(
),( 1)(
Eeex
Vvexve
∈≥
∈≤∑∈δ
Maximize
subject to
線形計画緩和問題
線形計画法
cx
.0,
≥≤
xbAx
Maximize
subject to
線形計画問題
単体法 Dantzig (1947)
楕円体法 Khachiyan (1979)
内点法 Karmarkar (1984)
最大重みマッチング
1e
3e
2e
)( 1ex
)( 3ex
)( 2ex
),,( 21
21
21
最大重みマッチング
3odd |:| , ≥⊆ SVS
2
1||)(][
−≤∑
∈
SexSEe
妥当不等式
},|{][ SeEeeSE ⊆∂∈=
切除平面
最大重みマッチング
∑∈Ee
exew )()(Maximize
subject to
線形計画問題 }3odd |:| ,|{ ≥⊆= SVSSQ
).( 0)(
),( 2
1||)(
),( 1)(
][
Eeex
QSSex
Vvex
SEe
ve
∈≥
∈−
≤
∈≤
∑
∑
∈
∈δ
)MP(G
マッチング多面体
)MP(G実行可能領域 の端点は,マッチングの特性ベクトル
特性ベクトル
⎩⎨⎧
∉∈
=)(0)(1
)(MeMe
eMχ
} :|conv{)MP( MG Mχ= マッチング
最小重み完全マッチング
),( EVG =
ℜ→Ew :
3
2
3
7
5
4 6
2
1
∑∈
=Me
ewMw )()(
}? :|)(min{ MMw 完全マッチング
最小重み完全マッチング
}3odd |:| ,|{ ≥⊆= SVSSQ
1)(][
≥∑∈ SDe
ex
妥当不等式
}1||,|{][ =∩∂∈= SeEeeSD
最小重み完全マッチング
∑∈Ee
exew )()(Minimize
subject to
線形計画問題
).( 0)(
),( 1)(
),( 1)(
][
Eeex
QSex
Vvex
SDe
ve
∈≥
∈≥
∈=
∑
∑
∈
∈δ
)MP(P G
完全マッチング多面体
)MP(P G実行可能領域 の端点は,完全マッチングの特性ベクトル
} :|conv{)MP(P MG Mχ= 完全マッチング
⇒≠φ)MP(P G 完全マッチングが存在
Petersen の定理
)( 3/1)( Eeex ∈=
3正則2枝連結グラフには完全マッチングが存在する.
vδ v
1)( =∑∈ ve
exδ
1)(][
≥∑∈ SDe
ex
φ≠∈∴ )MP(P Gx
最大重みマッチング
),( EVG =
ℜ→Ew :
3
2
3
7
5
4 6
2
1
∑∈
=Me
ewMw )()(
}? :|)(max{ MMw マッチング
最大重みマッチング
∑∈Ee
exew )()(Maximize
subject to
線形計画問題 }3odd |:| ,|{ ≥⊆= SVSSQ
).( 0)(
),( 2
1||)(
),( 1)(
][
Eeex
QSSex
Vvex
SEe
ve
∈≥
∈−
≤
∈≤
∑
∑
∈
∈δ
線形計画法の双対理論
cx
.0,
≥≤
xbAx
Maximize
subject to
主問題
yb
.0,
≥≥
ycyA
Minimize
subject to
双対問題
任意の実行可能解の組に対して, .ybcx ≤弱双対定理
. ) ybyAxcx ≤≤Q
線形計画法の双対理論
cx
.0,
≥≤
xbAx
Maximize
subject to
主問題
yb
.0,
≥≥
ycyA
Minimize
subject to
双対問題
主問題と双対問題に実行可能解が存在するならば,の組に対して,両者に最適解が存在して, .ybcx =
強双対定理
線形計画法の双対理論
cx
.0,
≥≤
xbAx
Maximize
subject to
主問題
yb
.0,
≥≥
ycyA
Minimize
subject to
双対問題
.0)(,0)(
=−=−
xcyAbAxy
:, yx 最適解
:x 実行可能解
:y 実行可能解
相補性条件
最大重みマッチング
∑∈Ee
exew )()(Maximize
subject to
主問題
).( 0)(
),( 2
1||)(
),( 1)(
][
Eeex
QSSex
Vvex
SEe
ve
∈≥
∈−
≤
∈≤
∑
∑
∈
∈δ
双対変数
双対変数
)(vy
)(Sz
最大重みマッチング
∑ ∑∈ ∈
−+
Vv QSSzSvy )(
21||)(Minimize
subject to
双対問題
).( 0)(),( 0)(
),( )()()(
QSSzVvvy
EeewSzvyeSev
∈≥∈≥
∈≥+ ∑∑∂⊇∂∈
最大重みマッチング
.)()()(0)( ∑ ∑∂∈ ∂⊇
=+⇒>ev eS
ewSzvyex(i)
(ii)
相補性条件
.2/)1|(|)(0)(][
−=⇒> ∑∈
SexSzSEe
(iii) .1)(0)( =⇒> ∑∈ ve
exvyδ
主双対アルゴリズム
(i)
(ii)
相補性条件
.2/)1|(||][|0)( −=∩⇒> SSEMSz
(iii) . ,0)( MVvvy ∂−∈∀=
マッチング:M :),( zy 双対問題の実行可能解
. ,)()()( MeewSzvyev eS
∈∀=+∑ ∑∂∈ ∂⊇
条件 (i), (ii) を保持.条件 (iii) が達成されたら終了.
Mx χ=
主双対アルゴリズム
(i)
(ii)
相補性条件
.2/)1|(||][|0)( −=∩⇒> SSEMSz
(iii) . ,0)( MVvvy ∂−∈∀=
).( 0)()()()( EeewSzvyecev eS
∈≥−+= ∑ ∑∂∈ ∂⊇
∗⊆ EM
}.0)(,|{ =∈=∗ ecEeeE
主双対アルゴリズム
初期解の設定
),( }|)(max{21:)( VvEeewvy ∈∈=
).( 0:)( QSSz ∈=
,: φ=M
主双対アルゴリズム
),( ** EVG =増加道の探索
主双対アルゴリズム
),( ** EVG =マッチングの更新
主双対アルゴリズム
双対実行可能解の更新
⎩⎨⎧
∈+∈−
=) ()() ()(
:)(vvyvvy
vyεε
⎩⎨⎧
−+
=) :(2)() :(2)(
:)(SSzSSz
Szεε
),( ** EVG =
主双対アルゴリズム
0},,,min{: >= δγβαε
} |)(min{: ∈= vvyα
} :|)(min{: 21 SSz=β
} |)(min{: 21 ec=γ
} |)(min{: ec=δ
ステップ幅
主双対アルゴリズム
計算量 )|||(| 2VEO ⋅
整数値の場合, 半整数値, 整数値.:y :z:w
増加道が見つかるまでの間に双対変数の更新は 回.|)(|VO
.or ,, 0)(),(
φ=∩⊇⊆⇒>
TSSTTSTzSz
主双対アルゴリズム
3
2
3
7
5
4 62
1
主双対アルゴリズム
3
2
3
7
5
4 62
1
7/2
7/2
7/2
7/2
7/2
7/2
主双対アルゴリズム
3
2
3
7
5
4 62
1
7/2
7/2
7/2
7/2
7/2
7/2
1=ε
主双対アルゴリズム
3
2
3
7
5
4 62
1
7/2
5/2
5/2
5/2
7/2
5/2
主双対アルゴリズム
3
2
3
7
5
4 62
1
7/2
5/2
5/2
5/2
7/2
5/2
1=ε
主双対アルゴリズム
3
2
3
7
5
4 62
1
9/2
5/2
5/2
3/2
5/2
3/2
1=ε
主双対アルゴリズム
3
2
3
7
5
4 62
1
11/2
7/2
3/2
1/2
3/2
1/2
2/1=ε
主双対アルゴリズム
3
2
3
7
5
4 62
1
5
4
1
0
1
0
1
最小重み完全マッチング
),( EVG =
ℜ→Ec :
3
2
3
7
5
4 6
2
1
∑∈
=Me
ecMc )()(
}? :|)(min{ MMc 完全マッチング
最小重み完全マッチング
∑∈Ee
exec )()(Minimize
subject to
線形計画問題
).( 0)(
),( 1)(
),( 1)(
][
Eeex
QSex
Vvex
SDe
ve
∈≥
∈≥
∈=
∑
∑
∈
∈δ
郵便配達人問題
),( EVG =
+ℜ→E:l
すべての枝を少なくとも1回通って出発点に戻る最短経路
郵便配達人問題
),( EVG = ),(ˆ FWG =
:)(ac 両端点を結ぶ最短路長
最小重み完全マッチング
計算困難問題への挑戦
NP困難問題への対処法
効率的に解ける特殊ケース
精度保証付き近似アルゴリズム
最大カット問題
),( EVG = +ℜ→Ew :
∑∈
=][
)(])[(XDe
ewXDw
?])[(max XDwVX⊂≠φ
NP困難
最大カット問題
平面グラフ
双対グラフ
郵便配達人問題
平面グラフ上の最大カット問題は,双対グラフ上の郵便配達人問題に帰着可能.
巡回セールスマン問題
),( EVG = 完全グラフ
+ℜ→Ed : 距離(三角不等式)
:EH ⊆ Hamilton閉路(すべての点を1度ずつ通る)
∑∈
=He
edHd )()(
?} :|)(min{ HHd Hamilton閉路
NP困難
巡回セールスマン問題
Christofidesの近似アルゴリズム
最小全域木 ET ⊆
TW : の奇次数点の集合
][ : WGM の最小重み完全マッチング
:H 最適巡回路
)()( HdTd ≤2/)()( HdMd ≤
)(23)( HdMTd ≤∪
近似比 3/2