6. 制約付き最大 2-マッチング問題
制約付き最大 2-マッチング問題
Input: 無向グラフ
Find: 長さ k 以下のサイクルを持たない
枝数最大の 2-マッチング
できる限り サイクル で頂点を被覆
k = 2 (制約なし) : P (マッチングに帰着 [1960s~])
k=3 :P Hartvigsen [1984]
k=4 : OPEN
k≧5 : NP-困難 Papadimitriou [1980]
k ≧ |V|/2 : NP-困難 (ハミルトン閉路)
7. 制約付き最大 2-マッチング問題 (重み付き)
制約付き最大 2-マッチング問題
Input: 無向グラフ,各枝の重み
Find: 長さ k 以下のサイクルを持たない
合計重み最大の 2-マッチング
k = 2 (制約なし) : P (マッチングに帰着 [1960s~])
k=3 : OPEN
k=4 : NP-困難 Vornberger [1980]
k≧5 : NP-困難 Papadimitriou [1980]
k ≧ |V|/2 : NP-困難 (巡回セールスマン問題)
8. 制約付き 2-マッチング問題の先行研究
禁止サイクル長 枝数最大化 合計重み最大化
無し P P
マッチングに帰着 [1960s~] マッチングに帰着
3以下 P OPEN
Hartvigsen [1984]
4以下 OPEN NP-困難
Vornberger [1980]
k 以下 (k ≧ 5) NP-困難 NP-困難
Papadimitriou [1980]
動機:
1. 境目が気になる
2. 効率良く解ける構造を理解したい
難しい(≒現実的な)問題を解く際にも有用
9. 制約付き 2-マッチング問題の先行研究
禁止サイクル長 枝数最大化 合計重み最大化
無し P P
マッチングに帰着 [1960s~] マッチングに帰着
3以下 P OPEN ①
Hartvigsen [1984]
4以下 OPEN ② NP-困難 ③
Vornberger [1980]
k 以下 (k ≧ 5) NP-困難 NP-困難
Papadimitriou [1980]
① : 次数3以下のグラフでは P Hartvigsen-Li [2007]
② : 2部グラフでは P Hartvigsen [2006], Pap [2008]
長さ 4 禁止,次数3以下のグラフでは P Berczi-Kobayashi [2009]
③ : 2部グラフ,特殊重みなら P Makai [2007], Takazawa [2008]
19. ジャンプシステム上のM凹関数 (Murota [2006])
定義
f : ZV → R∪{∞} が ジャンプシステム上のM凹
def
∀x, y ∈ ZV, ∀s ∈ Inc(x, y), ∃t ∈ Inc(x+s, y),
f (x+s+t) + f (y-s-t) ≧ f (x) + f (y)
(Inc(x, y) : x から y へ近づく単位ベクトル全体)
効率的に解ける多くの組合せ最適化問題を含む枠組
局所探索で最大化問題が多項式回の反復で解ける
(0, 2) (2, 2) (0, 2) (2, 2)
3 4 3 y 4
O(n3) 回
5 5
(1, 1) (1, 1)
2 6 2
t x 6
(0, 0) (2, 0) (0, 0) s (2, 0)
20. 提案アルゴリズム
主定理
次数列に関する局所探索で
最大 tri.-free 2-マッチング問題は多項式時間で解ける
局所探索
||y - x||1 ≤ 2
1: x ← 0
2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す
最適解
Q1. 局所探索で最適解求まる?
Q2. f (x) の計算ができる?
f (x) = tri.-free 2-マッチング
(次数列 x ) の最大重み
初期解
21. v1 2 v2
f (x) の計算 7
v3 2
8
3
10
v4 v5
定理 (本研究)
f (x) = 次数列 x の tri.-free 2-マッチング の最大重み は
多項式時間で計算できる
① ① ① ① ① ② ① ②
② ②
① ① ① ①
① ① ② ②
v1 v2 v3 v4 v5 v1 v2 v3 v4 v5
f (1, 1, 1, 1, 0) = 15 f (1, 2, 1, 2, 2) = 17
方針 次数 2 次数 2
Triangle になり得るところを予め縮約
制約なし2-マッチング問題に帰着
次数 2
22. Triangle の縮約
次数 2 次数 2 e’1
e1
f2 e3 次数 2
f3
f1 e’2 e’3
e2
次数 2 C C を1点に
G G’
観察
G の tri.-free 2-マッチング は
C の ちょうど2つの枝を含む
ei を含む fi を含む
e’1 重み w(e1) + w(f1)
e1
f2 e3
f3
f1 e’2 e’3
e2 対応
23. f (x) の計算
定理 (本研究)
f (x) = 次数列 x の tri.-free 2-マッチング の最大重み は
多項式時間で計算できる
指定次数2の頂点からなる Triangle を
すべて 縮約,重みも変える (交わらないように極大にとる)
次数条件をみたす 最大2-マッチング を計算
重み w(e1) + w(f1)
次数 2 次数 2 e’1
e1
f2 e3 次数 2
f3
f1 e’2 e’3
e2
次数 2 C C を1点に
24. 提案アルゴリズム
主定理
次数列に関する局所探索で
最大 tri.-free 2-マッチング問題は多項式時間で解ける
局所探索
||y - x||1 ≤ 2
1: x ← 0
2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す
最適解
Q1. 局所探索で最適解求まる?
Q2. f (x) の計算ができる? O(n3×(最大マッチング))
f (x) = tri.-free 2-マッチング
(次数列 x ) の最大重み
初期解