S(n)-separable graphs
S(n)-separable graphs
今日は先日まとめた任意のアスペクトレシオの最適面積長方形への完全二分木の埋め込みアルゴリズムを全二分木に拡張するのに有用だと思われる。
分割子を用いたグラフの再帰的な埋め込み方について。埋め込みとは格子点に頂点を格子中のパスを辺に対応させるものである。辺は同じ格子辺を定数回であれば重なっても良いものとする。
分割子を使った埋め込み
この分割統治を使ったアルゴリズムでは与えられたグラフから少数の辺を取り除き分割された2つのグラフを埋め込みをの間に取り除いた辺を取り除くというものである。よって非常に密なグラフ(極端な例で言えば完全グラフの族)にたいしてはこの方法は効率よく働かない。
Definition: Graph class C は S(n)-separableである
1.C内の任意のグラフG( |G|≧2 )についてサイズが高々S(n)の辺集合を見つけることができて、その集合を取り除くことによってGを2つの互いに日連結な部分グラフG1,G2に分割できてG1,G2の接点数をそれぞれn1,n2とするとn1≧n/3かn2≧n/3が成り立つ。したがって、どちらの部分グラフも互いに他の部分グラフの2倍より多くの接点数をもたない
2.G1,G2はCの要素
よってグラフ族CがS(n)-separableであるとは、Cの任意のグラフは階層的にどこまでもS(n)本の辺を取り除くことで分割できるというものである。
例3.2 2分木の族は1分割可能である。
(証明)ある2分木Tにおいて、任意に次数2の点を根rとする。rの両方の子の子孫のうち、n/3以上2n/3以下の子sがあれば(r,s)をカットして終了。そうでなければ2n/3以上の子孫を持つ子tが存在するので、そのtを根とする部分木を対象に上の操作をおこなう。2分木の中の1本の辺だけをカットするので残ったグラフG1,G2もまた2分木である(証明終)
強分割子
紹介する分割統治法を使用するためには1:2では使えない。1:1になるように拡張する必要がある。あるグラフ族が強S(n)分割可能であるとは
Definition: Graph Class C はstrongly S(n)-separable
1.C内の任意のグラフG( |G|≧2 )についてサイズが高々S(n)の辺集合を見つけることができて、その集合を取り除くことによってGを2つの互いに日連結な部分グラフG1,G2に分割できてG1,G2の節点数が高々(n+1)/2である。
2.G1,G2はCの要素
この強分割子について以下の定理が成立する。
Thm. If Graph Class C is S(n)-separable, then C is strongly Γs(n)-separable.where Γs(n)=S(n)+S(2n/3)+S(4n/9)+...(ceil(log_{2/3}n)項)
(証明)グラフGに対する分割木を考える。分割木とはGがひとつの頂点からなる場合は葉ひとつからなる木になり、GがG1,G2に分割できる場合はGを根としG1,G2の分割木をそれぞれの部分木とする2分木である。
ここではこの定理よりも強い結果を示す。Gの接点数より少ない任意の目標接点数tに対してGをあらわす根からある葉までの経路が存在して、その経路上の節点のある兄弟のいくつかの和集合のグラフがGのt子の接点を含む部分グラフをあらわすようにできることを示す
分割木の高さの帰納法による。
高さが0の場合、分割木が1頂点からなり、t=0にしかならないのでOK
帰納段階で根の左と右の子がそれぞれn1,n2個の節点を持つとする。n1≦tならば
経路は右に降りて目標値をt-n1と更新する。このとき左の子を選出集合に入れる。
相でない場合、n1>tかつn2≦tの場合は経路は左に下りて目標値t-n2とする。このとき選出集合には右の子を追加する。最後にどちらともtを超える場合はどちらかに降りるだけでよい。
Gの分割木Tに対してできた経路をv0,v1,...,vkとして選出集合をu_a0,u_a1,...,u_ak'とする
このGはS(n)分割可能なので各経路で選ばれた選出集合u_ai とそれを選出集合に含めたときの根vaiは高々S(n)本の辺でつながっている。そして、vaiのサイズは(2/3)^inなので
S(n)+S(2n/3)+S(4n/9)+...
を超えない。(証明終)
この定理ではかなり大まかに上界を算出している。全2分木の場合はどうなるのかを考える必要がある。これは明日以降。