17. Chapter 8. Advertising on the Web
8.3.1. 最大マッチ
• 最大マッチ
-‐ 最も大きいマッチを”maximal”と言う
-‐ 全ての完全マッチはmaximal
Maximal
Maximal
ではない
• 最大マッチを探すオフラインアルゴリズム
-‐ ノード数nのグラフに対してほぼO(n^2)の性能
18. Chapter 8. Advertising on the Web
8.3.2. 最大マッチを探す貪欲アルゴリズム
先のグラフを例に
(1,
a),
(1,
c),
(2,
b),
(3,
b),
(3,
d),
(4,
a)の順でエッジを見ていく。
結果は{(1,
a),
(2,
b),
(3,
d)}となる。(これは真の最大マッチではない)
• 最大マッチを探す貪欲アルゴリズム
-‐ グラフ内の全エッジについて、与えられた順に以下の処理を行う
-‐ エッジ(x,
y)について、
x,
y
両端のノードがこれまでにマッチに含まれた
エッジの端点でなければこのエッジをマッチに加える。Else
スキップ。
19. Chapter 8. Advertising on the Web
8.3.2. 最大マッチを探す貪欲アルゴリズム
• 更に悪いケースが存在する
-‐ エッジは与えられた順に見ていくので、順序によって結果が異なる。
-‐ この例では、(1,
a)と(3,
b)が最初に処理されると二つのエッジしかマッチ
に入らない。
20. Chapter 8. Advertising on the Web
8.3.3. 貪欲アルゴリズムの競争率
e.g.8.2より:
この問題におけるオンラインアルゴリズムの競争率は1/2以下。
ここで最大マッチング問題における貪欲アルゴリズムの競争率を考える。
M
0
M
g
:
最大マッチ
:
貪欲アルゴリズムの発見したマッチ
L
:
最大マッチに含まれ、貪欲アルゴリズムのマッチには含まれない左端ノードのセット
R
:
L内のノードのいずれかとエッジで繋がっている右端ノードのセット
M
0
M
g
L
R
21. Chapter 8. Advertising on the Web
8.3.3. 貪欲アルゴリズムの競争率
M
0
M
g
L
R
この時、R内のノードは全て に含まれることがわかる。
もしL内のノードlとR内のノードrが共に
に含まれていなければ以下の様になる。
M
g
M
g
L
R
M
g
L
R
M
g
22. Chapter 8. Advertising on the Web
8.3.3. 貪欲アルゴリズムの競争率
M
0
M
g
:
最大マッチ
:
貪欲アルゴリズムの発見したマッチ
L
:
最大マッチに含まれ、貪欲アルゴリズムのマッチには含まれない左端ノードのセット
R
:
L内のノードのいずれかとエッジで繋がっている右端ノードのセット
|L|
≦
|R|
L内の全てのノードは最大マッチに含まれていて、Rはこれを下回らない。
|R|
≦
|
|
R内の全てのノードは に含まれていて はこれ以外にもエッジを持つことができる。
M
g
M
g
M
g
|
|
≦
|
|
+
|L|
左端のノードの中で に含まれていて に含まれないのはL内のノードのみ。
つまり|
|と|
|の差は|L|以下。
M
g
M
0
M
0
M
g
M
0
M
g
以下の三つの不等式を導くことができる。
23. Chapter 8. Advertising on the Web
8.3.3. 貪欲アルゴリズムの競争率
M
0
M
g
:
最大マッチ
:
貪欲アルゴリズムの発見したマッチ
L
:
最大マッチに含まれ、貪欲アルゴリズムのマッチには含まれない左端ノードのセット
R
:
L内のノードのいずれかとエッジで繋がっている右端ノードのセット
と より、
|L|
≦
|R|
|R|
≦
|
|
M
g
|L|
≦
|
|
M
g
|
|
≦
|
|
+
|L|
M
g
M
0
より、
|
|
≦
2|
|
M
g
M
0
• 式より、この貪欲アルゴリズムの競争率は1/2以上である
• 8.2で、競争率は1/2以下であるとわかっている
• 故に貪欲アルゴリズムの競争率は正確に1/2である