Presentation is loading. Please wait.

Presentation is loading. Please wait.

情報生命科学特別講義III (8)木構造の比較: 順序木

Similar presentations


Presentation on theme: "情報生命科学特別講義III (8)木構造の比較: 順序木"— Presentation transcript:

1 情報生命科学特別講義III (8)木構造の比較: 順序木
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター

2 講義予定 第1回: 文字列マッチング 第2回: 文字列データ構造 第3回: たたみ込みとハッシュに基づくマッチング
第1回: 文字列マッチング 第2回: 文字列データ構造 第3回: たたみ込みとハッシュに基づくマッチング 第4回: 近似文字列マッチング 第5回: 配列アラインメント 第6回: 配列解析 第7回: 進化系統樹推定 第8回: 木構造の比較:順序木 第9回: 木構造の比較:無順序木 第10回: 文法圧縮 第11回: RNA二次構造予測 第12回: タンパク質立体構造の予測と比較 第13回: 固定パラメータアルゴリズムと部分k木 第14回: グラフの比較と列挙 第15回: まとめ

3 木構造の比較

4 背景 配列のパターンマッチング 木構造のパターンマッチング バイオインフォマティクスの最重要基本技術の一つ バイオインフォマティクス
RNA構造の比較、糖鎖構造の比較 XMLデータベース 類似XML文書の検索 画像理解

5 例: RNA二次構造の木表現

6 木の編集距離

7 木構造の比較 部分グラフに基づく最大共通部分木 編集距離に基づく最大共通部分木 講義で示すアルゴリズム 順序木:O(n2)時間
無順序木: O(n2.5/log n)時間 編集距離に基づく最大共通部分木 順序木: O(n3)時間 無順序木:NP困難(MAX SNP困難) 講義で示すアルゴリズム 順序木に対するO(n4)時間アルゴリズム 順序木に対するO(n3logn)時間アルゴリズム 順序木に対するO(n2)時間近似アルゴリズム 無順序木に対するO(h)近似アルゴリズム 無順序木に対する固定パラメータアルゴリズム          (O(f(k) poly(n))時間アルゴリズム) n: 二つの入力木のうち、大きい方の頂点数 h: 二つの入力木のうち、高い方の木の高さ

8 順序木の編集距離計算 上限 下限 O(n6)時間 [K-C.Tai, 1979]
O(n4)時間 [K. Zhang & D. Shasha, 1989] O(n3log n)時間 [P. N. Klein, 1998] O(n3)時間 [E. Demaine et al., 2007] 下限 Ω (n3)時間 [E. Demaine et al., 2007] (ただし、decomposition strategy algorithms の枠内)

9 無順序木の編集距離計算 編集距離 最大共通部分木 NP困難 [K. Zhang, R. Statman, D. Shasha, 1992]
MAX SNP困難 [K. Zhang & T. Jiang, 1994] 高さが h の時、2h+2近似 [Fukagawa et al., 2009] 最大共通部分木 一方が高さ1の木で、もう一方が高さ2の木でも    定数近似困難 [M. M. Halldorsson & K. Tanaka, 1996] O(log n)近似 [Akutsu et al., 2013] 高さが h の時、2h 近似 [M. M. Halldorsson & K. Tanaka, 1996] 1.5h 近似に改良 [Akutsu et al., 2008]

10 木の編集距離 編集距離: T1 を T2 に変換するのに要する編集操作の最小回数 削除: 頂点 v を削除し、v の子を v の親の子とする
挿入: 削除の逆 置換: 頂点 v のラベルを置き変える (無順序木では、子の左右を入れ替えてもOK) A B C D T1 A B D T2 C を削除 C を挿入

11 木の編集距離 文字列間の編集距離の 根つき木への拡張 3種類の編集操作 T1, T2 間の 編集距離 b 頂点ラベルの置換、頂点の削除、
頂点の挿入 T1, T2 間の 編集距離 T1 を T2 に変えるのに必要な 最小の編集 操作回数 b

12 木の編集距離と木間写像 T1, T2 間の写像 編集距離の計算 1対1、先祖、子孫関係を保存
コスト: ラベルが異なる頂点数 + 写像に含まれない頂点数 編集距離の計算 順序木(子の順序を保存): 動的計画法により、多項式時間 無順序木: NP困難

13 木間写像と最大共通部分木 木間写像: 以下を満たす写像 最大共通部分木 編集距離と最大共通部分木の関係
 の要素数が最大となる Mid により誘導される部分木 編集距離と最大共通部分木の関係 編集距離 =

14 木間写像と最大共通部分木の例 T1 T2 最大共通部分木

15 順序木に対する O(n4)時間アルゴリズム [Shasha, Zhang: J. Algorithms 11, 1990]
[Bille: Theoret. Comp. Sci. 337, 2005]

16 動的計画法アルゴリズム(1) D(F1,F2) 森 F1 と森 F2 の編集距離 森: 木の集合(ここでは木の順序集合)
森: 木の集合(ここでは木の順序集合) w(x,y)はラベル x から y への置換コスト  (- はギャップ)

17 動的計画法アルゴリズム(2)

18 動的計画法アルゴリズムの解析 各再帰ステップ1回あたりは定数時間で実行可能 よって、異なる D(F1,F2) の個数を見積もれば良い
F1は、各頂点 v の子孫から構成される森から一番右上にある頂点を繰り返し削除して得られる ⇒ v の選び方がO(n), 削除の回数がO(n)より、   異なる F1 の個数はO(n2) 異なる D(F1,F2) の個数は   O(n4) ⇒ O(n4) 時間

19 順序木に対する O(n3 log n)時間アルゴリズム
[Klein: Proc. ESA 1998]

20 動的計画法アルゴリズムの改良 基本アイデア アルゴリズム 性質 直前のアルゴリズムではF1,F2の一番右の木の根を削除・マッチさせていた
でも、一番左の木の根を削除・マッチさせてもOK さらに、左右どちらを選ぶかを動的に選んでもOK アルゴリズム F1の一番左の木のサイズ>F1の一番右の木のサイズであれば、以前と同じ再帰式を適用 そうでなければ、左右を入れ替えた再帰式を適用 性質 いったん F1 の左か右の根が選ばれたら、その子孫の処理が終わるまで他の根は選ばれない

21 Heavy Path Decomposition
各頂点の子頂点 v のうち T(v) が最大のものへの辺だけを残し、木をパスの集合に分解(同サイズがあれば、任意に1つを選ぶ) ldepth(v): v の祖先でパスの始点になっている頂点の個数 例: ldepth(u)=3, ldepth(v)=1, ldepth(w)=2 v u w 命題 すべての頂点 v に     おいて ldepth(v) は O(log n)

22 動的計画法アルゴリズムの解析 定理 順序木の編集距離は O(n3 log n) 時間で計算可能 証明 性質1より、再帰式に現れる T1 の部分森は、各頂点 v とその先祖で、かつ、パスの始点のペアで決められる。 よって、T1 の部分森の総数は Σv ldepth(v) ≦O(n log n)。 一方、再帰式に現れる T2の部分森の総数は以前と同様に O(n2) 個。よって定理が成立。 上記アルゴリズムでは F1 のみを見て、左右を選んでいたが、F1, F2 の両方を見ることにより改良でき、O(n3)時間アルゴリズムが得られる 一方、左右を選んで削除・マッチさせるというアルゴリズムではΩ(n3)時間かかることも示されている [Demaine et al.: ACM Trans. Algorithms 6, 2009]

23 順序木の編集距離のO(n2)時間O(h) 近似アルゴリズム
[Akutsu: Inf. Proc. Lett. 100, 2006]

24 オイラー文字列 木を深さ優先探索 探索した順に頂点のラベルを並べる ただし、戻る時のラベルは の様に区別する
ただし、戻る時のラベルは の様に区別する 命題: T1 と T2 が同型 iff es(T1)=es(T2) ただし、根のラベルは無視

25 定理 アルゴリズム T1, T2 をオイラー文字列 s1, s2 に変換 s1, s2間の編集距離 EDS(s1,s2) を計算して出力
h: 低い方の木の高さ

26 文字列の編集距離 G C T A s1 = GCGTCGT s2 = CGATCCTC ー 編集操作
文字の追加 文字の削除 文字の置換 編集距離 = 文字列 s1 を s2 に変換するための最小の編集操作回数 距離の公理を満たす s1 = GCGTCGT s2 = CGATCCTC G C T A ⇒ 距離=4 アラインメント

27 命題 T1に対する1編集操作 ⇒ s1 に対する2編集操作 B C D T1 T2 s2: s1: E

28 アラインメントからの木間写像の復元 アラインメントから両者において完全に保存されている部分木のみを抽出

29 上限の解析 (1) 命題:途中に編集操作の入らない部分木どおしを対応させると正当な木間写像になる
証明:部分木どおしは親子関係に無く、かつ、オイラー文字列を利用しているので左右の関係が保存される A B

30 上限の解析 (2) 文字列アライメントにおける1個のエラーが高さ×2個(T1と T2 )の頂点の対応関係を損なう

31 定理

32 順序木の編集距離の O(n3/4) 近似アルゴリズム
[Akutsu, Fukagawa, Takasu: Algorithmica 57, 2010]

33 最悪となる場合の例 文字列の距離=2 木の距離≒高さ 幹の頂点にAC, BD, AD, BCなどのラベルをつけてマッチを防げば良い

34 枝へのラベルの割り当て(1) すべての枝に部分木の情報を割り当てると、(オイラー文字列の)エラーが大きくなりすぎる
  ⇒ 一部の枝のみに小さな部分木の情報を付加

35 枝へのラベルの割り当て(2) Special node: 部分木のサイズが 以下で、 親部分木のサイズが より大
    親部分木のサイズが   より大 Special edge:子の少なくとも1個が special node Special nodeを根とする部分木の情報をラベルとして与える

36 定理 アルゴリズム T1, T2 の special edge にラベルを割り当て T1, T2 をオイラー文字列 s’1, s’2 に変換
同じラベル ⇔ サイズ √n 以下の子部分木集合が同型 T1, T2 をオイラー文字列 s’1, s’2 に変換 s’1, s’2間の編集距離 EDS(s’1,s’2) を計算して出力 定理 ただし、木の次数は定数以下

37 まとめ 順序木の編集距離 補足 比較的単純な動的計画法で O(n4) 時間 左右両方を動的に選択することで O(n3 log n) 時間
両方の木の左右を動的に選択することで O(n3)時間、しかも分割型アルゴリズムでは最適 [Demaine et al.: ACM Trans. Alg. 2009] でも別のアルゴリズムを使えば改善できる可能性があるので、その改善は研究課題 距離が k 以内の場合や、他の制約がある場合についても多くの研究 [Bille: Theoret. Comp. Sci. 2005]


Download ppt "情報生命科学特別講義III (8)木構造の比較: 順序木"

Similar presentations


Ads by Google