喜田 拓也,竹田 正幸,篠原 歩 九州大学大学院システム情報科学府 情報理学専攻

Slides:



Advertisements
Similar presentations
簡潔データ構造 国立情報学研究所 定兼 邦彦.
Advertisements

Collage System 圧縮テキストパターン照合のための統一的枠組み
圧縮テキストに対する文字列照合問題 竹田研究室 博士課程二年 喜田 拓也.
文法変換に基づく圧縮 九州大学附属図書館 研究開発室 喜田拓也.
透過的データ圧縮 Transparent Data Compression
到着時刻と燃料消費量を同時に最適化する船速・航路計画
情報生命科学特別講義III (1) 文字列マッチング
情報知識ネットワーク 有村・喜田研究室 ex. 7678, 7679
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
LZ圧縮回路の設計とハード・ソフト 最適分割の検討 電子情報デザイン学科 高性能計算研究室 4回生 中山 和也 2009/2/27.
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
情報生命科学特別講義III (8)木構造の比較: 順序木
~補助記憶装置~  主記憶装置に記憶されるデータは,パソコンの電源を切ると記憶内容が消えてしまう。また,容量にも限界があるので,補助記憶装置にデータを記憶させる。補助記憶装置はパソコンの電源を切っても記憶内容は消えない。補助記憶装置の内容は主記憶装置上で利用することができる。 電源OFF 電源OFF.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
基礎プログラミングおよび演習 第9回
アルゴリズムとデータ構造 2012年7月19日
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法)
アルゴリズムとデータ構造 第9回演習解答.
データ構造とアルゴリズム 分割統治 ~ マージソート~.
PSOLA法を用いた極低ビットレート音声符号化に関する検討
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(5) 木構造データ間の編集距離
基礎情報科学のトピックス (平成15年度版) 喜田拓也 (
文字列照合アルゴリズム 情報知識ネットワーク特論 喜田拓也 参考文献:
アルゴリズムとデータ構造 2013年7月18日
A Unifying Framework for Compressed Pattern Matching
篠原 歩,石野 明 東北大学情報科学研究科 竹田 正幸 九州大学システム情報科学研究院 下薗 真一,坂本 比呂志 九州工業大学情報工学部
データ構造とプログラミング技法 (第10回) ー文字列照合(KMP法、BM法)ー.
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
ネット時代の情報センス 基礎情報科学のトピックス.
情報検索技術のトピックス (平成16年度版) 喜田拓也 (
型付きアセンブリ言語を用いた安全なカーネル拡張
九州大学大学院システム情報科学研究科 情報理学専攻 竹田研究室 博士課程3年 喜田 拓也
Pattern Matching on Compressed Texts
生物情報ソフトウェア特論 (1) 文字列マッチング・データ構造
k 個のミスマッチを許した点集合マッチング・アルゴリズム
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
決定木とランダムフォレスト 和田 俊和.
Fast Pattern Matching Algorithms in Compressed Texts
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
他のプロセスに あたえる影響が少ない 実行時ミラーリングシステム
文字列照合を用いた XMLデータアクセス機構の提案
Proceedings of the Third South American Workshop on String Processing.
IaaS型クラウドにおける インスタンス構成の動的最適化手法
データ構造とアルゴリズム 第14回 文字列の照合.
実行時情報に基づく OSカーネルのコンフィグ最小化
コンポーネントランク法を用いたJavaクラス分類手法の提案
アルゴリズムとデータ構造 2011年7月12日
東京工業大学 情報理工学研究科 数理・計算科学専攻 千葉研究室 栗田 亮
半構造化テキストに対する 文字列照合アルゴリズム
テキスト検索は 文字列検索でも木検索でもない
A Dynamic Edit Distance Table
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
データ圧縮技術による文字列照合処理の高速化に関する研究
アルゴリズム論 (第12回) 佐々木研(情報システム構築学講座) 講師 山田敬三
長さの制限付きギャップと 文字クラスを含むパタンに対する 照合アルゴリズムの改善
Hoffman符号 2011/05/23.
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
Wavelet係数の局所テクスチャ特徴量を用いたGraph Cutsによる画像セグメンテーション
Data Clustering: A Review
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
構造的類似性を持つ半構造化文書における頻度分析
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
LZW 圧縮テキストに対する 高速文字列照合アルゴリズム 喜田 拓也 竹田 正幸 篠原 歩 九州大学大学院システム情報科学研究科
4.プッシュダウンオートマトンと 文脈自由文法の等価性
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
データ構造とアルゴリズム 第14回 文字列の照合.
8.文字列処理 8.1 C#の文字列 C#では, “ABCD”のように文字列を2重引用符で挟んで指定します。ASCIIコード体系のとき,以下のような内部形式となります。 1 1 文字 ‘A’ ナル文字 1 1 文字 ‘B’ A B C D \ 文字 ‘C’ 1 1 文字 ‘D’ ナル文字‘\0’
北大MMCセミナー 第17回 Date:2013年12月16日(月) 16:30~18:00 ※通常とは曜日が異なります
Presentation transcript:

喜田 拓也,竹田 正幸,篠原 歩 九州大学大学院システム情報科学府 情報理学専攻 圧縮テキスト上の近似文字列照合問題 喜田 拓也,竹田 正幸,篠原 歩 九州大学大学院システム情報科学府 情報理学専攻 発表者:竹田研究室 博士課程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 復号 文字列照合 アルゴリズム 転送 文字列照合 アルゴリズム 転送 転送 二次記憶装置上 テキスト データ 主記憶装置上 文字列照合 アルゴリズム 転送 目標1 二次記憶装置上 圧縮テキスト 主記憶装置上 文字列照合 アルゴリズム 復号 転送 主記憶装置上 二次記憶装置上 圧縮テキスト 転送 主記憶装置上 圧縮文字列照合 アルゴリズム

本分野における研究 圧縮方法 照合アルゴリズム Run-length Eilam-Tzoreff & Vishkin (1988) 圧縮方法 照合アルゴリズム 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 Amir et 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.0 0.3 0.4 0.5 0.8 0.1 0.2 0.6 0.7 CPU時間(秒) AlphaStation XP1000 (Alpha21264: 667MHz) Tru64 UNIX V4.0F Medline(英文テキスト) 60.3Mbyte 世界最高速 非圧縮テキストをKMPで照合 BPE圧縮テキストに対する Boyer-Moore型のアルゴリズム を用いた照合(Shibataら[2000]) BPE圧縮テキストに対する照合 非圧縮テキストをAgrepで照合 5 10 15 20 25 30 * BPEはByte Pair Encoding圧縮法 * KMPはKnuth-Morris-Pratt法 * AgrepはWu&Manberが開発した検索ツール

近似文字列照合問題 CARRIAGE MARRIAGE MASSAGE

近似文字列照合問題 MARRIAGE MASS AGE テキスト中のパタンとの編集距離が k 以内の文字列の出現を求める問題 編集距離 文字列 x に文字の挿入・削除・置換の操作を施して文字列 y へ変換するために要する最小操作回数 d MARRIAGE MASSAGE CARRIAGE d=1 MARRIAGE MASS AGE 削除 置換 k=2 d=3

近似文字列照合アルゴリズム 動的計画法 オートマトンに基づく手法 ビットパラレル手法 フィルタリング手法 L はマシン依存 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/L N) 時間領域 フィルタリング手法 Wu and Manber (1992) L はマシン依存 N はテキストの長さ m はパタンの長さ k は許容するエラーの数 詳しい人 G. Navarro A Guided Tour to Approximate String Matching ACM Computing Surveys, 33(1):31-88,2001

圧縮テキスト上の近似文字列照合 Kärkkäinenら(2000)のアルゴリズム 提案アルゴリズム r はパタンの出現個数 動的計画法を使った近似文字列照合アルゴリズムに基づく 最悪時 O(mkn+r ) 時間、平均 O(k2n+r ) 時間 LZ78圧縮テキスト上で動作 提案アルゴリズム 非決定性オートマトンの動作をビットパラレル手法で模倣するBaeza-Yates & Navarro (1999) のアルゴリズムを拡張 最悪時 O(mk3n / L) 時間 制限されたCollage system上で動作 → LZ78/LZW上で動作 n は圧縮テキストの長さ m はパタンの長さ r はパタンの出現個数

LZW圧縮法に対する実験結果 CPU時間(秒) 許容される最大の編集距離 k 10 20 30 1 2 3 4 5 40 50 60 70 10 20 30 1 2 3 4 5 許容される最大の編集距離 k CPU時間(秒) 40 50 60 70 80 Intel Pentium III 550MHz (RAM: 64Mb; Linux) Wall Street Journal の記事(英文テキスト)10Mbyte パタンの長さ=10 提案アルゴリズム Kärkkäinenらのアルゴリズム 復号後に[Myers98]で照合

圧縮テキストに対する近似文字列照合の高速化 フィルタリング手法(Filtration technique; Wu and Manber, 1992) パタンを k+1 個の小片に分割 各小片を複数パタン文字列照合アルゴリズムで照合 小片が出現した近辺を通常用いられる近似文字列照合アルゴリズムを用いて検査 テキスト: ACCCTGTTTAGATCACGGCACTACTGTAAAC 分割後の小片: TAAAT, CACGG, CATACT k = 2 の場合 パタン: TAAATCACGGCATACT 圧縮テキストに対してフィルタリング手法を適用 圧縮テキスト上の複数パタン文字列照合アルゴリズムが必要 圧縮テキストを部分的に復号する必要がある

圧縮テキスト上の複数パタン照合アルゴリズム

圧縮テキスト上の複数パタン照合アルゴリズム 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.

LZW圧縮法における実験結果 CPU時間(秒) 許容される最大の編集距離 k 1 2 3 4 5 6 7 Intel Pentium III 550MHz (RAM: 64Mb; Linux) Wall Street Journal の記事(英文テキスト)10Mbyte パタンの長さ=10 復号後にフィルタリング手法で照合 復号後に[Myers98]で照合 圧縮テキストにフィルタリング/AC 圧縮テキストにフィルタリング/BM 圧縮テキストにフィルタリング/BP * ACはAho-Corasick型の圧縮テキスト上の  複数パタン文字列照合アルゴリズム * BPはBit-parallel型のアルゴリズム[Navarro+99] * BMはBoyer-Moore型のアルゴリズム[Navarro+00]

LZW圧縮法における実験結果 CPU時間(秒) 許容される最大の編集距離 k 7 6 5 4 3 2 1 1 5 10 15 圧縮テキストにフィルタリング/AC 6 復号後にフィルタリング手法で照合 5 圧縮テキストにフィルタリング/BM 圧縮テキストにフィルタリング/BP CPU時間(秒) 4 復号後に[Myers98]で照合 3 2 Intel Pentium III 550MHz (RAM: 64Mb; Linux) Wall Street Journal の記事(英文テキスト)10Mbyte パタンの長さ=30 1 1 5 10 15 許容される最大の編集距離 k

LZW圧縮法における実験結果 CPU時間(秒) 許容される最大の編集距離 k 8 7 6 5 4 3 2 1 1 5 10 15 Intel Pentium III 550MHz (RAM: 64Mb; Linux) DNA塩基配列 10Mbyte パタンの長さ=30 7 6 5 CPU時間(秒) 圧縮テキストにフィルタリング/BM 4 復号後にフィルタリング手法で照合 3 復号後に[Myers98]で照合 2 圧縮テキストにフィルタリング/AC 1 圧縮テキストにフィルタリング/BP 1 5 10 15 * ACはAho-Corasick型の圧縮テキスト上の  複数パタン文字列照合アルゴリズム 許容される最大の編集距離 k * BPはBit-parallel型のアルゴリズム[Navarro+99] * BMはBoyer-Moore型のアルゴリズム[Navarro+00]

まとめ