狠狠撸

狠狠撸Share a Scribd company logo
平面グラフ判定
@takayuta1999
平面グラフ
平面グラフの定義
以下の条件を満たす有限集合の組 (V,E )
ただし、V は頂点集合、 E は辺集合
(1) V ? R2
(2) 各辺は2つの頂点を結ぶ弧である。
(3) 異なる辺の端点は異なる。
(4) 辺の内部は、頂点も他の辺の点も含まない。
平面グラフの例
平面グラフでない例
K5 K3,3
本当に平面グラフでないのか
Euler の定理
連結な平面グラフの頂点数、辺数 、面数をそれぞ
れ n,m,l としたとき、
n-m+l=2
が成り立つ。
辺数の帰納法で証明できる。
この定理を使えば、簡単に K5 , K3,3 が平面グ
ラフでないことがわかる。
平面グラフであるかを判定したい
よく分からない
有名事実
平面グラフである
? K5 , K3,3 をマイナーに含まない
これは、
遅い!!
アイディア
グラフ G(V, E)が平面あるには、すべての非可分成
分が平面であればよい。
(それぞれの非可分成分での平面埋め込みが得られ
れば、容易に得られる)
だから、 G が非可分成分のときを考えればよい。
アイディア st-番号付け
(s,t) を任意の辺としたとき、グラフ G が非可分
であるならば、s,t と異なる頂点 v は v よりも大き
い番号の頂点と小さい番号の頂点のどちらとも隣
接しているように頂点の番号付けが可能である。
ただし、s の番号は 1、t の番号は n=|V| である。
例 s=1,t=5
5
11
例 s=1,t=5
5
11
2
3
4
アイディア
以降、st-番号付けでつけた頂点番号で考える。
Gk を頂点 1~k からなる G の誘導部分グラフとす
る。 Gk (Vk , Ek ) が平面グラフのときに、Gk に点
k+1 を追加して、Gk+1 が平面グラフであるかを判
定したい。
例 G1
1
52 3 4
例 G2
1
5
2
3 4
例 G2
1
5
2
4 3
例 G2
1
5
2
4 3
例 G3
1
5
2
43
例 G3
1
5
2
43
例 G4
1
5
2
43
例 G5
1
5
2
43
どうすればよいのか
P 点を可分点、Q 点を非可分成分とすると、
P 点から出ている辺の順序は反転以外できず、 Q
点から出ている辺の順序は自由に置換できるの
で、そのような操作を繰り返して、k+1 番目の頂
点が連続するようにならべかえると、交わらな
いように辺が引ける。
例 G1
P
例 G2
PP
例 G3
P PP
例 G3
P PP
例 G4
P PP
P
例 G4
Q
例 G5
Q
P
例 G5
Q
どうすればよいのか
k+1 番目の頂点が連続するようにならべかえられ
れば、必ずできた。
そのようにできなければ、できないことが分
かっている!!
k+1 番目の頂点が連続するようにならべかえられ
るかさえ分かればよい!!
どうすればよいのか
それぞれの頂点について、置換もしくは反転のど
ちらかの操作が可能である。
ある種類の葉を連続するようにならべかえられる
かという問題をそれぞれの頂点について、解く問
題に帰着される。
オーダー
|V| 回、木DPをする。そして、まとめた葉をひと
つの頂点にして非可分かどうかをみれば、O(|V|2)
で可能。
O(|V|) でもできる。怖い
ありがとうございました。

More Related Content

平面グラフ