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