1 / 20

非明示的表現に対する アルゴリズムの開発

A09班. 非明示的表現に対する アルゴリズムの開発. 計算の対象が明示的に与えられるのではなく, それを生成する文法や論理式,数式などを用いて 非明示的に 表現されて与えられたときに,それを効率よく処理するアルゴリズムの開発と計算量の解析を行う.. 篠原 歩 ,石野 明      東北大学情報科学研究科 竹田 正幸     九州大学システム情報科学研究院 下薗 真一,坂本 比呂志   九州工業大学情報工学部. . 7. f 0 = b f 1 = a f n = f n-1 ・ f n-2  ( n ≥ 2). 6. 5. 4. 3. 1.

skah
Download Presentation

非明示的表現に対する アルゴリズムの開発

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A09班 非明示的表現に対するアルゴリズムの開発 計算の対象が明示的に与えられるのではなく,それを生成する文法や論理式,数式などを用いて非明示的に表現されて与えられたときに,それを効率よく処理するアルゴリズムの開発と計算量の解析を行う. 篠原 歩,石野 明     東北大学情報科学研究科 竹田 正幸    九州大学システム情報科学研究院下薗 真一,坂本 比呂志  九州工業大学情報工学部

  2. 7 f0 = b f1 = a fn = fn-1・ fn-2 (n≥2) 6 5 4 3 1 2 a b フィボナッチ文字列abaababaabaababaabaababaのさまざまな表現 漸化式,文法 f2=ab f3=aba f4=abaab f5=abaababa f6=abaababaabaab f7=abaababaabaababaababa OBDD風 方程式 compress gzip bzip2 : 圧縮

  3. abaababaabaababaabaababa aabaababaabaababaabaabab aabaababaabaababaabaabab aabaababaabaababaabaabab aababaabaababaabaababaab aababaabaababaabaababaab aababaabaababaabaababaab abaabaababaabaababaabaab abaabaababaabaababaabaab abaabaababaabaababaabaab abaababaabaababaabaababa abaababaabaababaabaababa abaababaabaababaabaababa ababaabaababaabaababaaba ababaabaababaabaababaaba ababaabaababaabaababaaba baabaababaabaababaabaaba baabaababaabaababaabaaba baabaababaabaababaabaaba baababaabaababaabaababaa baababaabaababaabaababaa baababaabaababaabaababaa babaabaababaabaababaabaa babaabaababaabaababaabaa babaabaababaabaababaabaa BW変換すると b9a15になるbzip2で圧縮しやすい

  4. フィボナッチ文字列はbzip2でよく縮む BW変換 b1a1b1a2b2a3b3a5b5a8b8a13 f2=ab f3=aba f4=abaab f5=abaababa f6=abaababaabaab f7=abaababaabaababaababa BW逆変換

  5. a b a b OBDDで表現された文字列に対する圧縮パターン照合   [DLT2004] テキストの圧縮表現 パターンの圧縮表現 O(n2m)時間 節点数n 節点数m 圧縮パターン照合 アルゴリズム 出現位置は{6} 愚直に適用するとO(2m + 2n)時間かかる 仮想の世界 O(M+N)時間 abaababaabaababa 1 2 3 4 5 6 7 8… パターン照合 アルゴリズム abaababaabaababa 長さN abaabaab abaabaab 長さM

  6. MPMG X1 = a X2 = b X3 = X1 X2 X4 = X1 X1 X5 = X2 X1 X6 = X3 X4 X7 = X5 X5 X8 = X6 X7 X8 x3 X6 X7 x2 x2 X3 X4 X5 X5 x1 x1 x1 X1 X2 X1 X1 X2 X1 X2 X1 a b a b a a b a b a OBDD ⋍ MPMG  SLP T = abaababa OBDD

  7. X7 X7 X6 X6 X5 X5 X5 X5 X3 X4 X4 X3 X3 X3 X4 X4 X1 X2 X1 X1 X1 X2 X1 X1 X1 X2 X1 X1 X1 X2 a b a a a b a a a b a a a b Good Compression for Repetitive Text T = (aaab)n

  8. MPMG X1 = a X2 = b X3 = X1 X2 X4 = X1 X1 X5 = X2 X1 X6 = X2 X2 X7 = X3 X4 X8 = X5 X5 X9 = X6 X3 X10 = X7 X8 X11 = X9X2 X12 = X10X11 Example of MPM Grammar T = abaabababbaba X12 X10 X11 X7 X8 X9 X3 X4 X5 X5 X6 X3 X1 X2 X1 X1 X2 X1 X2 X1 X2 X2 X1 X2 X2 a b a a b a b a b b a b a

  9. a b a b OBDDで表現された文字列に対する圧縮パターン照合   [DLT2004] テキストの圧縮表現 パターンの圧縮表現 O(n2m)時間 節点数n 節点数m 圧縮パターン照合 アルゴリズム 出現位置は{6} 愚直に適用するとO(2m + 2n)時間かかる 仮想の世界 O(M+N)時間 abaababaabaababa 1 2 3 4 5 6 7 8… パターン照合 アルゴリズム abaababaabaababa 長さN abaabaab abaabaab 長さM

  10. 第7回日本ことば遊び・回文コンテスト最優秀作品第7回日本ことば遊び・回文コンテスト最優秀作品 出涸らしに 求める駄菓子 噛む夫婦 昔語る目 共に白髪で 英語の回文 A Santa lived as a devil at NASA 回文の検出 一般の文章から回文はほとんど見つからない

  11. 近似回文 SL テ SR 反転 rev(SL) に働いて行った犯人(青空文庫より) rev(SL)とSRのレーベンシュタイン距離が2 • 誤りkのすべてのレーベンシュタイン回文を検出するO(k2n)時間アルゴリズム • [Porto et.al.2002]誤りkのすべてのハミング回文を検出するO(kn)時間アルゴリズム 11 レーベンシュタイン回文の例 (誤り2)

  12. Webテキストからの近似回文検出 <h1>「竹やぶ」焼けた。</h1> HTMLテキスト HTMLタグの除去 漢字かなテキスト 「竹やぶ」焼けた。 MeCabにより変換 かなテキスト 「タケヤブ」ヤケタ。 濁音等を清音に置換 清音かなテキスト 「タケヤフ」ヤケタ。 カナと長音以外の記号を除去 タケヤフヤケタ 記号除去かなテキスト レーベンシュタイン回文検出アルゴリズムの適用

  13. Webアプリケーションの実装 検索語を入力,誤りと長さを指定 回文検出位置を強調表示 13

  14. レベンシュタイン回文の検出結果 より多くの回文を検出することができた ただし,ハミング回文の方が対応を見つけやすい 14

  15. SLP X1 = a X2 = b X3 = X1 X2 X4 = X1 X1 X5 = X2 X1 X6 = X3 X4 X7 = X5 X5 X8 = X6 X7 圧縮文字列を展開せずに回文検出 w wR, wcwR • 入力: SLP • 出力:すべての極大な回文の位置を簡潔に表した構造 abaababa O(n4)時間O(n2)領域アルゴリズムn : SLPの行数

  16. SLP X1 = a X2 = b X3 = X1 X2 X4 = X1 X1 X5 = X2 X1 X6 = X3 X4 X7 = X5 X5 X8 = X6 X7 未解決 圧縮文字列を展開せずにスクエア検出 w w • 入力: SLP • 出力:すべてのスクエアの位置を    簡潔に表した構造 abaababa 入力が通常のテキストならばO(n)時間で見つかることが知られている

  17. 部分文字列          はどれだけ繰り返す?部分文字列          はどれだけ繰り返す? 部分文字列           は どこにある? フィボナッチ文字列の中の繰り返し構造 4回以上は繰り返さない

  18. 回 = 2 + φ n-ボナッチ文字列の繰り返し構造     中の  繰り返し回数       [F.Mignosi ら, 1992]     中の  の繰り返し回数  黄金比 -ボナッチi定数

  19. フィボナッチ文字列の一般化 フィボナッチ トリボナッチ n-ボナッチ

  20. アナウンス ひらめき☆ときめきサイエンス~ようこそ大学の研究室へ~ KAKENHI(研究成果の社会還元・普及事業,日本学術振興会) 「アルゴリズムを体感しよう----- ロボットプログラミングを通じて –-----」平成19年8月7日(火) 予定東北大学 青葉山キャンパス 受講生 高校生10名を募集予定

More Related