集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(3) + 数理談話会 木構造および画像データの文法圧縮 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター 内容 背景 文法圧縮 EOTG (Elementary Ordered Tree Grammar) 圧縮アルゴリズム TREE-BISECTION アルゴリズムの解析 画像データの文法圧縮 結論と課題 [Akutsu, Tech. Rep., SIGFPAI, 2010] [Hayashida et al., AST 2010] 背景 研究の目的 人間の設計図 意外に少ない パソコンゲームより少ないかも 細胞は60兆個もある ここに全てが書かれているはず 32億文字 ⇒ CD-ROM 1枚 臓器、脳、顔の作り方、知能、本能 でも、どう書かれているか、ほとんどわかっていない 人間の設計図がCD-ROM 1枚 データ圧縮の数理的原理があるはず! 文法圧縮 文法圧縮 与えられた文字列を一意に生成する最小の文脈自由 文法を計算(もしくは近似) 例 abcabcabcabc ⇒ S → AA A → BB B →abc 様々な近似アルゴリズム (下限:定数近似困難) BISECTION LZ78 SEQUITUR型 GREEDY型 ほぼ最適 O((n/log n)0.5)近似 [Lehman & Shelat 02] O((n/log n)2/3)近似 [Lehman & Shelat 02] O((n/log n)3/4)近似 [Lehman & Shelat 02] O((n/log n)2/3)近似 [Lehman & Shelat 02] O(log n)近似 [Charikar et al. 02] [Rytter 02][Sakamoto et al. 09] 文法圧縮 文法のサイズ:規則の右側に現れる文字数の和 abcabcabcabc サイズ=12 S → abcabcabcabc サイズ=8 S → AA A → abcabc サイズ=7 (最小) S → AA A → BB B →abc 文法圧縮の木構造への拡張 困難性の証明 [Yamgata et al. 03][Maneth & Bussato 04] ヒューリスティックなアルゴリズム 近似率導出の困難性 Variable Replacement Grammar [Yamagata et al. 03] Tree Transducer [Maneth & Bussato 04] TCGA algorithm [Murakami et al. 08] 木文法の定義に依存: 簡単すぎても難しすぎても不可 本研究 EOTG (Elementary Ordered Tree Grammar) の提案 CFG を縦横両方に拡張 BISECTION型の O(n5/6)近似アルゴリズム 順序木、無順序木の両方に対応可能 EOTG Elementary Ordered Tree Grammar EOTG: Elementary Ordered Tree Grammar 特徴:枝にラベル、枝を木構造に書き換える タグ付き木 1個の葉にのみタグ(印): 枝の両端 ⇔ 根とタグ タグつき葉は、後で他の木の根と融合 生成規則:タグなし枝→タグなし木 タグなし枝 タグあり枝 タグあり枝→タグあり木 EOTG: 例1 文法 導出過程 文法 導出過程 EOTG: 例2 文法 導出過程 オイラー文字列 木を深さ優先探索 探索した順に頂点のラベルを並べる ただし、戻る時のラベルは A の様に区別する 命題: T1 と T2 が同型 iff es(T1)=es(T2) ただし、根のラベルは無視 SEOTG: Simple Elementary Ordered Tree Grammar (S)EOTGの規則はオイラー文字列で表現可 タグ ⇔ x : x は部分木に置換される EOTG, SEOTGの性質 文法のサイズ: 右辺に現れる木の枝数の合計 補題: サイズ m のEOTGは、サイズ 3m 以下の SEOTGに変換可能 定理: 与えられた木がEOTGから生成可能かどうか は多項式時間で判定可能 圧縮においては、1個の木のみを生成する文法のみを 対象 ← 与えられた木を圧縮したい 圧縮アルゴリズム: TREE-BISECTION BISECTION [Lehman & Schelat 2002] 文字列を2iとなる場所で再帰的に分割 分割の度に生成規則を追加 同じ文字列が出てきたら同じラベルを割り当てる mk補題 サイズ m の文法により生成される文字列中 の長さ k の部分列で異なるものは高々 mk 個 略証:各非終端記号により始めてカバーされる 長さ k の部分列の個数は高々 k 個。全部で 高々 m 個の規則があるので補題が成立。 灰色の配列で S により始めてカ バーされるのは k 個。 それ以外は T1 か T2 によりカバ ーされる。 BISECTIONの解析 簡単のため、もとの文字列の長さを n=2h と仮定(h=log n) 文法のサイズ=2×(異なる文字列の個数) 再帰の深さが h/2 になるまでに生成される文字列の個数 1 2 22 23 2(log n / 2) O( n ) 最小の文法のサイズを m* とする 深さ h/2 以上で生成される文字列の長さは、1, 2, 4, …, k/2 なので、mk補題より異なる文字列の個数は m 2m 4m 2 * * * (log n / 2) m O(m * よって、実行中に生成される異なる文字例の個数は O( n ) O(m * n ) O(m * n) * n) TREE-BISECTION (1) 木を再帰的に分割 同型な部分木が出てきたら同じラベルを割り当てる T が枝 A のみの場合 T がタグなし木の場合 A→a という規則を追加して終了 (a は枝 A のラベル) T を T1, T2 に分割。ただし、|T1|≦(1/2)|T|+1、かつ、 T1 はタグつき T2 を T3, T4 に分割。ただし、|T3|, |T4|≦(3/4)|T|+1 T がタグつき木の場合 T を T1, T2 に分割。ただし、|T1|≦(1/2)|T|+1、かつ、 T1 はタグつき T2 を T3, T4 に分割。 T3, T4 のいずれかのみがタグつき木 T3 がタグつき木なら、 |T3|≦(1/2)|T|+1 (逆も同様) (|T4|は制約されないが、タグなし木なので次ステップで必ず小さくなる) 多項式時間で動作するのは、ほぼ明らか TREE-BISECTION (2) 枝1本のみ タグなし木 タグあり木 アルゴリズムの解析 mk-補題(1) mk-補題 [Lehman & Schelat 02] 文字列 s がサイズ m の CFG により生成されたとすると、 s に現れる長さ k の文字列のうち、異なるものは mk 個以下。 オイラー文字列を用いて順序木に拡張 補題: 木 T がサイズ m の EOTG により生成されたとすると、 es(T) に現れる長さ k の文字列のうち、異なるものは 2mk 個以下。 証明: サイズ m のEOTG は、サイズ 2m の CFG に変換可能 例: AxA BB CxC A BB C A C mk-補題(2) 命題:m*を最小EOTGのサイズとすると、アルゴリズム中で現れる サイズ k の木の種類は高々 2m* (2k 2) ( 2 k 2) 1 * * ( 2 m k )( 2 m ((2k 2) k1 )) 1 k1 1 証明: サイズ k の木 ⇒ 長さ 2k-2 の文字列。ただし、途中にタグが 入る場合は、長さ k1 と 長さ (2k-2)-k1 の文字列の組み合わせ。 その他の補題 補題: 大きさ n の木を生成するEOTGのサイズは (logn) 補題: TREE-BISECTION の再帰の深さは O(log n) 補題: TREE-BISECTION の 同じ深さの再帰レベルに現れる 木の枝の数の合計は n-1 以下 証明: TREE-BISECTION は もとの木を edge disjoint な木 に分解 定理: TREE-BISECTION の近似率は O(n5/6) 同じ再帰レベルに現れるサイズnα +1以上の木の個数 は (n-1)/nα < n1-α 以下 アルゴリズム中に現れるサイズnα +1以上の木の個数は O(n1-α log n) サイズ nα 以下の木の種類は ( 2 k 2 ) 1 * * * * 2 4 2 m ( 2 k 2 ) ( 2 m k )( 2 m (( 2 k 2 ) k )) O (( m ) n ) 1 1 k 1 k1 1 n よって、アルゴリズム中に現れる異なる木の種類は O((m ) n * 2 4 1 n log n) α=1/6, m* が O(n1/6) とおいて O(m n * ( 5 / 6) n ( 5 / 6) log n) (次数制約つき)無順序木への拡張 TREE-BISECTIONの変更点 T2 を、r(T2) と wj の子孫からなる部分木(j=1,…,h)に分解 順序木の同型性判定を無順序木の同型性判定に置き換え ⇒ 入力木は子の順序に関係なく、一意に分解される EOTGの変更点 子の順序を無視 e.g., (IIIA)=(IIIB) ⇒ O(n5/6)近似 画像データの文法圧縮 画像データに対する文法圧縮 対象とする文法 4分割型 下図のような、より複 雑な文法にも拡張可 アルゴリズム: QUADSECTION BISECTIONの拡張 近似率の解析 補題:サイズ g の文法により生成される文字 列中のサイズ k×h の部分画像で異なるもの は高々 2ngk 個 (n はもとの画像の最大辺。k≧h) 定理 QUADSECTION の近似率は O(n4/3) d次元の場合は d 2 /(d 1) O(n ) 近似 結論と課題 結論 CFGを順序木に拡張した EOTG を提案 与えれた木を生成するEOTG計算アルゴリズム TREE-BISECTION を提案 O(n5/6)近似であることを証明 無順序木への拡張 画像圧縮アルゴリズムQUADSECTIONを提案 今後の課題 TREE-BISECTION の改良 無順序木の場合の次数制約の解除 文字列に対する他の近似技法の木への応用 木以外のグラフ構造に対する(近似率の保証 つき)文法圧縮アルゴリズムの開発 神経系や循環器系ネットワークの圧縮
© Copyright 2025 ExpyDoc