170 likes | 472 Views
圧縮テキスト上の近似文字列照合問題. 喜田 拓也,竹田 正幸,篠原 歩 九州大学大学院システム情報科学府 情報理学専攻. 発表者:竹田研究室 博士課程3年 喜田 拓也. 文字列照合問題. テキスト T 中に含まれるパタン の出現を求める問題 KMP 法 [Knuth ら (1974)] , BM 法 [Boyer と Moore (1977)] ビットパラレル手法 [Abrahamson(1987)][Baeza-Yates と Gonnet(1992)]. hanage. パタン . 日本経済新聞 11月16日 朝刊(ジュネーブ発 西山 章宏)
E N D
圧縮テキスト上の近似文字列照合問題 喜田 拓也,竹田 正幸,篠原 歩 九州大学大学院システム情報科学府 情報理学専攻 発表者:竹田研究室 博士課程3年 喜田 拓也
文字列照合問題 • テキストT中に含まれるパタンの出現を求める問題 • KMP法[Knuthら(1974)], BM法[BoyerとMoore (1977)]ビットパラレル手法[Abrahamson(1987)][Baeza-YatesとGonnet(1992)] hanage パタン 日本経済新聞 11月16日 朝刊(ジュネーブ発 西山 章宏) スイスの保養地、ダヴォス・プラッツで11月10日から11月14まで、行われた、世界知覚認識学会(ミシェル・ポーター会長)で、北海道大学医学部の斉藤信(まこと)教授が提唱した、痛みを表す「hanage」と言う単位を、世界で共通の単位とする事が承認された。本来、痛みは、個人差が大きく、同じ刺激でも主観によって感じ方が異なるため、客観的に数値で表すことは、不可能であると思われていた。しかし、斉藤教授は、「鼻の粘膜は、人体の中で一番個人差が小さい。」事に注目し研究を進めた結果、1センチの鼻毛を、1N(ニュートン)の力で、引っ張る時に生じる痛みを、1hanageと定義出来ることを発見し、そして今学会で単位として承認された。 テキストT
テキストデータ 転送 転送 転送 二次記憶装置上 主記憶装置上 復号 圧縮テキスト 圧縮テキスト 二次記憶装置上 二次記憶装置上 主記憶装置上 主記憶装置上 主記憶装置上 圧縮テキストに対する文字列照合問題 目標2 文字列照合アルゴリズム 目標1 文字列照合アルゴリズム 圧縮文字列照合アルゴリズム
本分野における研究 圧縮方法 照合アルゴリズム Run-length Eilam-Tzoreff & Vishkin (1988) Run-length (two dim) Amir et al. (1992, 1997); Amir & Benson (1992) LZ77 family Farach & Thorup (1995); Gąsieniec, et al. (1996); Klein & Shapira (2000) LZ78 family Amiret al. (1996); Kida et al. (1998, 1999); Navarro & Tarhio (2000); Kärkkäinen et al. (2000); LZ family Navarro et al. (1999) Straight-line programs Karpinski et al. (1997); Miyazaki et al. (1997); Hirao et al. (2000) Huffman Fukamachi et al. (1998); Klein & Shapira (2001); Miyazaki et al. (1998) Finite state encoding Takeda (1997) Word based encoding Moura et al. (1998) Pattern substitution Manber (1994); Shibata et al. (1998) Antidictionary based Shibata et al. (1999)
0.8 0.7 0.6 0.5 CPU時間(秒) 0.4 0.3 0.2 BPE圧縮テキストに対するBoyer-Moore型のアルゴリズムを用いた照合(Shibataら[2000]) 0.1 5 10 15 20 25 30 0.0 パタンの長さ 実験結果(非圧縮テキスト上のアルゴリズムとの対比) AlphaStation XP1000 (Alpha21264: 667MHz) Tru64 UNIX V4.0F Medline(英文テキスト) 60.3Mbyte 世界最高速 非圧縮テキストをKMPで照合 BPE圧縮テキストに対する照合 非圧縮テキストをAgrepで照合 * BPEはByte Pair Encoding圧縮法 * KMPはKnuth-Morris-Pratt法 * AgrepはWu&Manberが開発した検索ツール
CARRIAGE MARRIAGE MASSAGE 近似文字列照合問題
CARRIAGE MARRIAGE MARRIAGE 置換 削除 MASSAGE MASS AGE 近似文字列照合問題 • テキスト中のパタンとの編集距離が k以内の文字列の出現を求める問題 • 編集距離 • 文字列 xに文字の挿入・削除・置換の操作を施して文字列 yへ変換するために要する最小操作回数 d d=1 k=2 d=3
近似文字列照合アルゴリズム • 動的計画法 • Sellers(1980) O(mN)時間O(m)領域 • Ukkonen (1985) 平均O(kN)時間O(m)領域 • オートマトンに基づく手法 • Ukkonen (1985)O( min(3m, m(2m||)k) )個の状態数 • ビットパラレル手法 • Wu & Manber (1992)O( k m/L N)時間領域 • Baeza-Yates & Navarro (1996)O( k(m-k)/L N) 時間領域 • Myers (1998) O( m/LN) 時間領域 • フィルタリング手法 • Wu and Manber (1992) Lはマシン依存 Nはテキストの長さ mはパタンの長さ k は許容するエラーの数 詳しい人 G. Navarro A Guided Tour to Approximate String MatchingACM Computing Surveys, 33(1):31-88,2001
圧縮テキスト上の近似文字列照合 • Kärkkäinenら(2000)のアルゴリズム • 動的計画法を使った近似文字列照合アルゴリズムに基づく • 最悪時 O(mkn+r ) 時間、平均 O(k2n+r ) 時間 • LZ78圧縮テキスト上で動作 • 提案アルゴリズム • 非決定性オートマトンの動作をビットパラレル手法で模倣するBaeza-Yates & Navarro (1999) のアルゴリズムを拡張 • 最悪時 O(mk3n / L) 時間 • 制限されたCollage system上で動作 → LZ78/LZW上で動作 nは圧縮テキストの長さ mはパタンの長さ r はパタンの出現個数
80 70 60 50 CPU時間(秒) 40 30 20 10 0 1 2 3 4 5 許容される最大の編集距離k LZW圧縮法に対する実験結果 Intel Pentium III 550MHz (RAM: 64Mb; Linux) Wall Street Journal の記事(英文テキスト)10Mbyte パタンの長さ=10 提案アルゴリズム Kärkkäinenらのアルゴリズム 復号後に[Myers98]で照合
k = 2の場合 パタン: TAAATCACGGCATACT 分割後の小片: TAAAT, CACGG, CATACT テキスト: ACCCTGTTTAGATCACGGCACTACTGTAAAC 圧縮テキストに対する近似文字列照合の高速化 • フィルタリング手法(Filtration technique; Wu and Manber, 1992) • パタンを k+1個の小片に分割 • 各小片を複数パタン文字列照合アルゴリズムで照合 • 小片が出現した近辺を通常用いられる近似文字列照合アルゴリズムを用いて検査 • 圧縮テキストに対してフィルタリング手法を適用 • 圧縮テキスト上の複数パタン文字列照合アルゴリズムが必要 • 圧縮テキストを部分的に復号する必要がある
圧縮テキスト上の複数パタン照合アルゴリズム圧縮テキスト上の複数パタン照合アルゴリズム
圧縮テキスト上の複数パタン照合アルゴリズム圧縮テキスト上の複数パタン照合アルゴリズム • Aho-Corasick型 • T. Kida, M. Takeda, A. Shinohara, M. Miyazaki, and S. Arikawa,Multiple pattern matching in LZW compressed text. • LZW圧縮テキスト上で動作 • O(m2+n+r) 時間,o(m2+n) 領域 • Boyer-Moore型 • G. Navarro and J. Tarhio,Boyer-Moore string matching over Ziv-Lempel compressed text. • Y. Shibata, T. Matsumoto, M. Takeda, A. Shinohara, and S. Arikawa,A Boyer-Moore type algorithm for compressed pattern matching. • ビットパラレル型 • G. Navarro and M. Raffinot,A general practical approach to pattern matching over Ziv-Lempel compressed text. • T. Kida, M. Takeda, A. Shinohara, M. Miyazaki, and S. Arikawa,Shift-And approach to pattern matching in LZW compressed text.
7 6 5 復号後にフィルタリング手法で照合 CPU時間(秒) 4 3 圧縮テキストにフィルタリング/AC 圧縮テキストにフィルタリング/BM 2 圧縮テキストにフィルタリング/BP 1 1 2 3 4 5 許容される最大の編集距離k LZW圧縮法における実験結果 Intel Pentium III 550MHz (RAM: 64Mb; Linux) Wall Street Journal の記事(英文テキスト)10Mbyte パタンの長さ=10 復号後に[Myers98]で照合 * ACはAho-Corasick型の圧縮テキスト上の 複数パタン文字列照合アルゴリズム * BPはBit-parallel型のアルゴリズム[Navarro+99] * BMはBoyer-Moore型のアルゴリズム[Navarro+00]
圧縮テキストにフィルタリング/AC 圧縮テキストにフィルタリング/BM 復号後にフィルタリング手法で照合 圧縮テキストにフィルタリング/BP LZW圧縮法における実験結果 7 6 5 4 CPU時間(秒) 復号後に[Myers98]で照合 3 2 Intel Pentium III 550MHz (RAM: 64Mb; Linux) Wall Street Journal の記事(英文テキスト)10Mbyte パタンの長さ=30 1 0 1 5 10 15 許容される最大の編集距離k
圧縮テキストにフィルタリング/AC 圧縮テキストにフィルタリング/BM 復号後にフィルタリング手法で照合 圧縮テキストにフィルタリング/BP LZW圧縮法における実験結果 8 Intel Pentium III 550MHz (RAM: 64Mb; Linux) DNA塩基配列 10Mbyte パタンの長さ=30 7 6 5 CPU時間(秒) 4 3 復号後に[Myers98]で照合 2 1 0 1 5 10 15 * ACはAho-Corasick型の圧縮テキスト上の 複数パタン文字列照合アルゴリズム 許容される最大の編集距離k * BPはBit-parallel型のアルゴリズム[Navarro+99] * BMはBoyer-Moore型のアルゴリズム[Navarro+00]