A09班 非明示的表現に対する アルゴリズムの開発 計算の対象が明示的に与えられるのではなく, それを生成する文法や論理式,数式などを用いて 非明示的に表現されて与えられたときに,それを効率よく処 理するアルゴリズムの開発と計算量の解析を行う. 篠原 歩,石野 明 東北大学情報科学研究科 竹田 正幸 九州大学システム情報科学研究院 下薗 真一,坂本 比呂志 九州工業大学情報工学部 フィボナッチ文字列abaababaabaababaabaababaの さまざまな表現 f0 = b f1 = a fn = fn-1・ fn-2 7 6 (n≥2) 漸化式,文法 f2=ab f3=aba f4=abaab f5=abaababa f6=abaababaabaab f7=abaababaabaababaababa 5 4 1 5 y x 2 2 1 a b 3 OBDD風 方程式 compress gzip bzip2 : 圧縮 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で 圧縮しやすい フィボナッチ文字列はbzip2でよく縮む f2=ab BW変換 f3=aba f4=abaab BW逆変換 f5=abaababa f6=abaababaabaab f7=abaababaabaababaababa b1a1 b1a2 b2a3 b3a5 b5a8 b8a13 OBDDで表現された文字列に対する 圧縮パターン照合 [DLT2004] テキストの圧縮表現 節点数n パターンの圧縮表現 O(n2m)時間 節点数m 圧縮パターン照合 アルゴリズム a b a b 出現位置は{6} 愚直に適用すると O(2m + 2n)時間かかる 仮想の世界 abaababaabaababa 長さN O(M+N)時間 1 2 3 4 5 6 7 8… パターン照合 アルゴリズム abaabaab 長さM abaababaabaababa abaabaab OBDD ⋍ MPMG SLP MPMG T = abaababa x3 x2 X8 x2 X6 x1 x1 x1 a OBDD b X3 X7 X4 X5 X5 X1 X2 X1 X1 X2 X1 X2 X1 a b a a b a b a X1 = a X2 = b X3 = X1 X2 X4 = X1 X1 X5 = X2 X1 X6 = X3 X4 X7 = X5 X5 X8 = X6 X7 Good Compression for Repetitive Text T = (aaab)n X7 X7 X6 X6 X5 X3 X5 X4 X1 X1 X1 X2 X1 X1 X1 X2 X1 X1 X1 X2 X1 X2 a a b a b X3 a a X4 a b X3 X5 X3 a X4 X5 a a X4 a b Example of MPM Grammar 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 = X9 X2 X12 = X10 X11 T = abaabababbaba X12 X10 X11 X7 X3 X8 X4 X5 X9 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 OBDDで表現された文字列に対する 圧縮パターン照合 [DLT2004] テキストの圧縮表現 節点数n パターンの圧縮表現 O(n2m)時間 節点数m 圧縮パターン照合 アルゴリズム a b a b 出現位置は{6} 愚直に適用すると O(2m + 2n)時間かかる 仮想の世界 abaababaabaababa 長さN O(M+N)時間 1 2 3 4 5 6 7 8… パターン照合 アルゴリズム abaabaab 長さM abaababaabaababa abaabaab 回文の検出 第7回日本ことば遊び・回文コンテスト最優秀作品 出涸らしに 求める駄菓子 噛む夫婦 昔語る目 共に白髪で 英語の回文 A Santa lived as a devil at NASA 著者名-作品名 芥川 竜之介-戯作三昧 平林 初之輔-文学方法論 宮本 百合子-一連の非プロレタリア的作品 長さ6以上の 文字数 回文 23815 20896 19180 一般の文章から回文はほとんど見つからない 1 1 0 近似回文 レーベンシュタイン回文の例 (誤り2) SL ニ ハ タ ラ イ テ イ ツ タ ハ ン ニ 反転 SR イ ラ タ ハ ニ rev(SL) に働いて行った犯人(青空文庫より) rev(SL)とSRのレーベンシュタイン距離が2 誤りkのすべてのレーベンシュタイン回文を検出するO(k2n)時間アルゴリズム [Porto et.al.2002] 誤りkのすべてのハミング回文を検出するO(kn)時間アルゴリズム 11 Webテキストからの近似回文検出 HTMLテキスト <h1>「竹やぶ」焼けた。</h1> HTMLタグの除去 漢字かなテキスト 「竹やぶ」焼けた。 MeCabにより変換 かなテキスト 「タケヤブ」ヤケタ。 濁音等を清音に置換 清音かなテキスト 「タケヤフ」ヤケタ。 カナと長音以外の記号を除去 記号除去かなテキスト タケヤフヤケタ レーベンシュタイン回文検出アルゴリズムの適用 Webアプリケーションの実装 検索語を入力,誤りと長さを指定 回文検出位置を強調表示 13 レベンシュタイン回文の検出結果 著者-作品名 文字数 芥川 竜之介-戯作三昧 23815 20896 19180 平林 初之輔-文学方法論 宮本 百合子-一連の非プロレタリア的作品 誤0長6 誤1長7 1 1 0 9 11 8 誤2長8 26 39 28 検出した誤り2の回文 回文に対応する原文 イセントトウヨウニトンテイ 以前と同様に富んでいる ヨクノカツシンシツノヒヨ 窮極のかつ真実の標準 シヨトクノチヨチクトシシ 所得の貯蓄と支出 ンノシヨシヨシヨウエン 自分の処女上演 より多くの回文を検出することができた ただし,ハミング回文の方が対応を見つけやすい 14 圧縮文字列を展開せずに回文検出 w wR, wcwR • 入力: SLP • 出力:すべての極大な回文の位置を 簡潔に表した構造 SLP X1 = a X2 = b X3 = X1 X2 X4 = X1 X1 X5 = X2 X1 X6 = X3 X4 X7 = X5 X5 X8 = X6 X7 a b a a b a b a O(n4)時間O(n2)領域アルゴリズム n : SLPの行数 圧縮文字列を展開せずにスクエア検出 ww • 入力: SLP • 出力:すべてのスクエアの位置を 簡潔に表した構造 SLP X1 = a X2 = b X3 = X1 X2 X4 = X1 X1 X5 = X2 X1 X6 = X3 X4 X7 = X5 X5 X8 = X6 X7 a b a a b a b a 入力が通常のテキストならば O(n)時間で見つかることが知られている フィボナッチ文字列の中の繰り返し構造 4回以上は繰り返さない 部分文字列 どこにある? は 部分文字列 どれだけ繰り返す? は n-ボナッチ文字列の繰り返し構造 中の 繰り返し回数 回 [F.Mignosi ら, 1992] 回= 2+φ 黄金比 中の の繰り返し回数 -ボナッチi定数 フィボナッチ文字列の一般化 フィボナッチ トリボナッチ n-ボナッチ ひらめき☆ときめきサイエンス ~ようこそ大学の研究室へ~ KAKENHI (研究成果の社会還元・普及事業,日本学術振興会) 「アルゴリズムを体感しよう ----- ロボットプログラミングを通じて –-----」 平成19年8月7日(火) 予定 東北大学 青葉山キャンパス 受講生 高校生10名を募集予定
© Copyright 2024 ExpyDoc