フロンティア法の計算量について 斎藤 寿樹 ERATO湊離散構造処理系プロジェクト 研究員 フロンティア法 固定パラメータアルゴリズム • BDD/ZDDをトップダウンに構築する方法 サイズ n の入力とパラメータ k を与えたとき, • s-t パス、サイクル、木(森)など O(f 時間アルゴリズム (c は k に依存しない定数) フロンティア法の計算時間=BDD/ZDDの構築時間 • 構築するBDD/ZDDが入力の指数サイズ 入力サイズの指数時間 c (k)・n ) フロンティア法 理論的につまらない? パラメータ k: max |F| (Fはフロンティア) グラフのパス幅 固定パラメータアルゴリズム フロンティア法の計算時間 e1 フロンティア F e2 ei e4 s-t パス(KnuthのSimpath)の場合: mate の各要素が取り得る値|F|+1通り mate 配列の取り得るパターンの数(|F|+1)! e2 e3 e3 e3 e3 ZDDのノード数:高々Amax×m s-t パスの場合: 構築するZDDのノード数は高々 m×(|Fmax|+1)! ・・・ ・・・ e1 e 5 e2 e3 各レベルのノード数 A: フロンティア上の mate 値の取り得るパターンの数 m:Gの辺の数 Amax:フロンティアサイズ最大のレベルのノード数(の上界) Fmax:フロンティアの最大サイズ ei 入力のグラフG ei ei ・・・ ei 構築途中のBDD/ZDD 全体の計算:高々 Amax m×(1ノードの生成時間) s-t パスの場合:Fmax Amax m •1つのノードの生成時間:O(Fmax)時間 Fmaxをパラメータとする固定パラメータアルゴリズム フロンティアの最大サイズ パス幅(pathwidth) フロンティアの推移 例: 1 2 4 3 5 7 6 8 9 入力のグラフ φ 1, 2 1, 2, 3 2, 3 3, 4, 5, 6 3, 4, 5 2, 3, 4, 5 2, 3, 4 4, 5, 6 4, 5, 6, 7 5, 6, 7 5, 6, 7, 8 頂点の部分集合の列 B=(B1, B2, …, Bl) がグラフ G の パス分解(path decomposition) ⇔ 以下の二つを満たす 1. G の各辺{u, v}に対して、u, v∈Bi である Bi が存在 2. u ∈Bi かつ u ∈Bj ⇒ u ∈Bk ∀k (i≦k≦j) Bのパス幅(pathwidth) pw(B): max |Bi|-1 •グラフGのパス幅:min pw(B) φ 8, 9 7, 8, 9 7, 8 6, 7, 8 フロンティアの最大サイズは次の二つで決まる 1.グラフの形 2.処理する辺の順序 パスっぽいグラフはフロンティアの 最大サイズが小さい パス幅:パスっぽさを表すパラメータ フロンティアの推移 パス分解 フロンティアの最大サイズ パス幅 グラフGのパス幅が求められるとうれしい! しかしNP困難(平面グラフ、コーダルグラフでも)
© Copyright 2024 ExpyDoc