二部グラフの
最小点被覆, 最大安定集合, 最小辺被覆
の具体的な求め方
@drken1215
はじめに
• 二部グラフの最大マッチングはすでに求められてい
るものとする
• 以下の関係により最小点被覆が求められれば十分
– 点被覆の補集合は安定集合である
– 安定集合の補集合は点被覆である
– 特に、最小点被覆の補集合は最大安定集合である
早見表
• |V| はグラフ頂点数, |M| は最大マッチングサイズ
目次
• 二部グラフの最小点被覆の求め方
• 二部グラフの最大安定集合の求め方
• 二部グラフの最小辺被覆の求め方
STEP 1: 最大マッチングを求める
STEP 2: 補助グラフを作る
枝に向きをつける!
• マッチング枝は右から左
• それ以外の枝は左から右
STEP 3: 左側の非マッチング端点
左側の頂点のうち、
マッチングの端点でない頂点
を赤く塗る
STEP 4: 到達可能頂点を求める
STEP 3 で赤く塗った頂点から
矢印の向きに進んでいって
到達できる頂点を赤く塗る
STEP 5: 最小点被覆が求まる
以下が最小点被覆をなす
• 左側の白い頂点
• 右側の赤い頂点
目次
• 二部グラフの最小点被覆の求め方
• 二部グラフの最大安定集合の求め方
• 二部グラフの最小辺被覆の求め方
最小点被覆の補集合をとる
以下が最小点被覆をなす
• 左側の赤い頂点
• 右側の白い頂点
目次
• 二部グラフの最小点被覆の求め方
• 二部グラフの最大安定集合の求め方
• 二部グラフの最小辺被覆の求め方
STEP 1: 最大マッチングを求める
STEP 2: 左右の非マッチング端点
左右両方について
マッチングの端点でない頂点
を赤く塗る
STEP 3: 赤頂点から辺を 1 本ずつ
赤頂点から辺を Greedy に
1 本ずつ追加する
複数あればどれを選んでも
STEP 4: 最小辺被覆が求まる
以下を合わせて最小辺被覆
• 最大マッチング辺
• STEP 3 で追加した辺

二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方