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

Slides:



Advertisements
Similar presentations
生物情報ソフトウェア特論 (3)近似文字列マッチング 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター.
Advertisements

組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
奈良女子大集中講義 バイオインフォマティクス (3) 配列アラインメント
情報生命科学特別講義III (5)配列アラインメント
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
4.3 マージソート.
情報生命科学特別講義III (1) 文字列マッチング
簡潔データ構造 国立情報学研究所 定兼 邦彦.
2 分探索木 Binary Search Tree 実行可能な操作 計算量 木の高さは,最悪 O(n) n = |A| : 要素の個数
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
    有限幾何学        第8回.
On the Enumeration of Colored Trees
An Algorithm for Enumerating Maximal Matchings of a Graph
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法)
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(3) + 数理談話会 木構造および画像データの文法圧縮
Approximation of k-Set Cover by Semi-Local Optimization
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
宇野 毅明 国立情報学研究所 2002年3月 東北大大学院 情報科学研究科ワークショップ
京都大学 化学研究所 バイオインフォマティクスセンター
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(5) 木構造データ間の編集距離
情報生命科学特別講義III (7)進化系統樹推定
二分探索木によるサーチ.
2009/10/16 いろいろなデータ構造 第3講: 平成21年10月16日 (金) 4限 E252教室 コンピュータアルゴリズム.
生物情報ソフトウェア特論 (1) 文字列マッチング・データ構造
情報生命科学特別講義III (11) RNA二次構造予測
k 個のミスマッチを許した点集合マッチング・アルゴリズム
生物情報ソフトウェア特論 (8) RNA二次構造予測
生物情報ソフトウェア特論 (3)近似文字列マッチング
情報生命科学特別講義III (4)近似文字列マッチング
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
情報生命科学特別講義III (2)文字列データ構造
九州大学大学院 情報学専攻特別講義 (9) ブーリアンネットワークの 解析と制御
奈良女子大集中講義 バイオインフォマティクス (9) 相互作用推定
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
第9回 優先度つき待ち行列,ヒープ,二分探索木
25. Randomized Algorithms
九州大学大学院 情報学専攻特別講義 (3) 配列解析
計算量理論輪講 chap5-3 M1 高井唯史.
分子生物情報学(2) 配列のマルチプルアライメント法
データ構造と アルゴリズム 第六回 知能情報学部 新田直也.
A Simple Algorithm for Generating Unordered Rooted Trees
情報生命科学特別講義III (13) 固定パラメータアルゴリズムと 部分k木
生命情報学特論 (8)複雑ネットワークと制御理論
分子生物情報学(3) 確率モデル(隠れマルコフモデル)に 基づく配列解析
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
九州大学大学院 情報学専攻特別講義 (2) 配列アラインメント
九州大学大学院 情報学専攻特別講義 (4) RNA二次構造予測
九州大学大学院 情報学専攻特別講義 (6) 固定パラメータアルゴリズムと 部分k木
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
生物情報ソフトウェア特論 (8) RNA二次構造予測
第9回 優先度つき待ち行列,ヒープ,二分探索木
九州大学大学院 情報学専攻特別講義 (8) ニューラルネットワークの 離散モデル
情報工学概論 (アルゴリズムとデータ構造)
奈良女子大集中講義 バイオインフォマティクス (7) 進化系統樹
九大数理談話会 複雑ネットワークと制御理論
情報生命科学特別講義III (14) グラフの比較と列挙
4.プッシュダウンオートマトンと 文脈自由文法の等価性
2017年度 有限幾何学 期末試験 注意:ループと多重辺がないグラフのみを扱う. 問1 次の定理と,その証明の概略を読み,各問に答えよ.
ヒープソート.
生命情報学特論 (6) 固定パラメータアルゴリズムと 部分k木
生物情報ソフトウェア特論 (4)配列解析II
参考:大きい要素の処理.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
グラフの列挙 中野 眞一    (群馬大学) 2019/9/14 列挙学校.
生物情報ソフトウェア特論 (10)固定パラメータアルゴリズムと 部分k木
分子生物情報学(0) バイオインフォマティクス
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

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

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

木構造の比較

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

例: RNA二次構造の木表現

木の編集距離

木構造の比較 部分グラフに基づく最大共通部分木 編集距離に基づく最大共通部分木 講義で示すアルゴリズム 順序木: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: 二つの入力木のうち、高い方の木の高さ

順序木の編集距離計算 上限 下限 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 の枠内)

無順序木の編集距離計算 編集距離 最大共通部分木 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]

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

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

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

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

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

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

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

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

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

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

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

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)

動的計画法アルゴリズムの解析 定理 順序木の編集距離は 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]

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

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

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

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

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

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

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

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

定理

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

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

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

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

定理 アルゴリズム 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) を計算して出力 定理 ただし、木の次数は定数以下

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