A Dynamic Edit Distance Table

Slides:



Advertisements
Similar presentations
List decoding for Reed-Muller codes and its application to polar codes 安永 憲司 東京工業大学 大学院情報理工学研究科 数理・計算科学専攻 1.
Advertisements

Probabilistic Method 7.7
アルゴリズムイントロダクション第2章 主にソートに関して
4.ソート 4-1.ソート問題について 4-2.簡単なソートアルゴリズム 4-3.高度なソートアルゴリズム
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
「Postの対応問題」 の決定不能性の証明
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法)
Extremal Combinatrics Chapter 4
Approximation of k-Set Cover by Semi-Local Optimization
論文紹介 Rank Aggregation Methods for the Web Dandapani Sivakumar
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
整数計画法を用いた ペグソリティアの解法 ver. 2.1
Semantics with Applications
情報知能学科「アルゴリズムとデータ構造」
データ構造と アルゴリズム 知能情報学部 新田直也.
第 七 回 双対問題とその解法 山梨大学.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(5) 木構造データ間の編集距離
計算量理論輪講 岩間研究室 照山順一.
© Yukiko Abe 2014 All rights reserved
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
第2章 「有限オートマトン」.
© Yukiko Abe 2014 All rights reserved
k 個のミスマッチを許した点集合マッチング・アルゴリズム
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
論文紹介 Query Incentive Networks
形式言語の理論 5. 文脈依存言語.
CG特論 論文読破 04ki104 松原 典子.
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
Extractor D3 川原 純.
25. Randomized Algorithms
Selfish Routing and the Price of Anarchy 4.3
Structural operational semantics
情報生命科学特別講義III (13) 固定パラメータアルゴリズムと 部分k木
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
SUNFLOWER B4 岡田翔太.
論文紹介 M. Abadi and P.Rogaway: Reconciling Two Views of Cryptography (The Computational Soundness of Formal Encryption) J. Cryptology (2002) 15:
算法数理工学 第8回 定兼 邦彦.
九州大学大学院 情報学専攻特別講義 (6) 固定パラメータアルゴリズムと 部分k木
A path to combinatorics 第3章後半(Ex3.8-最後)
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
算法数理工学 第7回 定兼 邦彦.
B03 量子論理回路の 最適化に関する研究 西野哲朗,垂井淳,太田和夫,國廣昇 電気通信大学 情報通信工学科.
データ解析 静岡大学工学部 安藤和敏
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
第16章 動的計画法 アルゴリズムイントロダクション.
Max Cut and the Smallest Eigenvalue 論文紹介
アルゴリズムとプログラミング (Algorithms and Programming)
ソースコードの木構造を考慮した 差分計算を用いる 版管理システムの提案
人工知能特論II 第8回 二宮 崇.
7.8 Kim-Vu Polynomial Concentration
4.プッシュダウンオートマトンと 文脈自由文法の等価性
生命情報学特論 (6) 固定パラメータアルゴリズムと 部分k木
Chapter5 Systems of Distinct Representatives
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
計算の理論 I 反復補題 火曜3校時 大月 美佳 平成16年7月13日 佐賀大学知能情報システム学科.
生物情報ソフトウェア特論 (4)配列解析II
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
MAUI Project 2009 インターネットにおける近接性
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
グラフ-ベクトル変換を用いたグラフ構造表現による一般物体認識
生物情報ソフトウェア特論 (10)固定パラメータアルゴリズムと 部分k木
数理論理学 最終回 茨城大学工学部情報工学科 佐々木 稔.
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Time Reversal E-Text: pp.80-83(PDF: pp.49-50) FM08002 太神 諭
Presentation transcript:

A Dynamic Edit Distance Table Sung-Ryul Kim and Kunsoo Park CPM2000, LNCS 1848, pp. 60-68, 2000

Edit distance (編集距離) 1 3 文字列 x[1...n] を文字列 y[1...n] へ変換する 置換 = 削除 = 挿入 = 1 各操作のコスト CARRIAGE 1 MARRIAGE k = 2 MASSAGE 3 編集距離

D(i, j) = min{D(i-1, j-1)+ij, D(i-1, j)+1, D(i, j-1)+1} Dynamic Programming b b a 1 2 b D(i, j) = min{D(i-1, j-1)+ij, D(i-1, j)+1, D(i, j-1)+1} n O(mn) m DPによるEDの求め方

A と B の Edit distance が与えられたとき・・・ 論文の主張 A と B の Edit distance が与えられたとき・・・ A と B’ (B’=aB) ・・・ incremental A と B’ (bB’=B) ・・・ decremental の Edit distance を求める! O(m+n) D DR Dの差分表現 等価な情報 を保持 O(mn) D’ DR’ 論文の主張

Dの差分表現 DR(i, j).L = D(i, j)  D(i, j 1) DR(i, j).U = D(i, j)  D(i 1, j) DR(i, j).UL = D(i, j)  D(i 1, j 1) = DR(i, j).U + DR(i 1, j).L Dの差分表現

アイデア DR’ DR ちょっとちがう 基本的アイデア

Ch(i, j) = D’(i, j)  D(i, j +1) Change Table O(m+n) Affected entry ココの値が等しくない Ch(i, j) = D’(i, j)  D(i, j +1) Change table

論文の概要 decremental (bB’=B)の場合のみ 補題1 Chの最上段と最左列の値 補題2 Ch(i, j)のとり得る値の範囲 補題5 DR上の影響される場所(affected entry) 補題6 ChテーブルとDRテーブルの関係 (隠れ補題) DRからDR’の計算方法 提案アルゴリズム 論文の概要

補題1 Ch(0, j) = 1 for all 0  j  n Ch(i, 0) = 0 for all 1  i  k1 ただし k は A[k]=B[1] を満たす最小の値 Ch(i, 0) = 1 for all k  i  m 補題1

証明 (1)は自明. (2)(3)は… D’ D D’ D a 1 b 2 3 4 c 5 6 7 8 c 1 a b 2 3 4 5 6 a 1 b 2 3 4 c 5 6 7 8 c 1 a b 2 3 4 5 6 7 8 -1 a b c 1  証明

補題2 Ch(i, j) がとり得る値は min{ Ch(i1, j1), Ch(i1, j), Ch(i, j1) } から max{ Ch(i1, j1), Ch(i1, j), Ch(i, j1) } の範囲である。 (i1, j1) (i1, j) (i, j1) (i, j) 補題2

証明 DとD’の関係から直接的にChの範囲を調べる. ・・・(2) ・・・(3) (2)の1が最小と仮定する. D(i, j +1) = min{ D(i 1, j)+ i, j+1 , D(i 1, j +1)+1, D(i, j)+1} ・・・(2) D’(i, j) = min D(i, j) + Ch(i, j1) +1 D(i 1, j + 1) + Ch(i 1, j) +1 D(i 1, j) + Ch(i 1, j 1) +i, j+1 ・・・(3) (2)の1が最小と仮定する. i) (3)の1 が最小→ Ch(i, j ) = Ch(i 1, j 1). ii) (3)の2 が最小→ Ch(i, j )  min{Ch(i 1, j 1), Ch(i 1, j ), Ch(i, j 1)}, Ch(i, j )  max{Ch(i 1, j 1), Ch(i 1, j ), Ch(i, j 1)}. iii) (3)の3 が最小→ ii)と同様.  証明

補題3と4 補題3 0  i  m について, f (i) = j と定義する. Ch(i, j’ ) = 1 このときすべての f (i)  j’ n について Ch(i, j’ ) = 1 が成り立つ.また 1  i  m について f (i)  f (i1) . 補題4 0  j  n について, g( j ) = i と定義する. ただし, i は Ch(i, j) = 1 を満たす最小の値である. このときすべての g( j )  i’ m について Ch(i’, j ) = 1 が成り立つ.また 1  j  n について g( j )  g( j 1) . 補題3および補題4

証明 補題1と補題2から帰納法によって証明される. -1 1 O(mn) O(m+n) 等価な情報 を保持 Ch f g  証明

Affected な(更新されうる)DR(i, j )のエントリ数は 補題5 Ch(i1, j1), Ch(i1, j), Ch(i, j1) が異なるとき Ch(i, j) は affected という. Ch(i, j) が affected のとき DR’(i, j) は affected という. 補題5 DR’(i, j) が affected でないならば, DR’(i, j) = DR(i, j + 1) が成り立つ. Affected な(更新されうる)DR(i, j )のエントリ数は O(m+n) 補題5

Ch(i1, j1), Ch(i1, j), Ch(i, j1) 証明 DR’(i, j) が affected でないならば, Ch(i1, j1), Ch(i1, j), Ch(i, j1) は等しい.よって, DR’(i, j).U = D’(i, j)  D’(i 1, j) = D(i, j + 1) + Ch(i, j)  ( D(i 1, j + 1) + Ch(i 1, j) ) = DR(i, j + 1).U 同様に, DR’(i, j).L = DR(i, j + 1).L  証明

DR(i, j + 1).UL + Ch(i1, j1) +i, j+1 補題6 DR(i, j + 1).UL + Ch(i1, j1) +i, j+1 Ch(i, j) = min DR(i, j + 1).U + Ch(i1, j) +1 DR(i, j + 1).L + Ch(i, j1) +1 Chテーブル こいつらと DR(i, j+1) が必要! (i1, j1) (i1, j) (i, j1) (i, j) 補題6

証明 Ch(i, j) = D’(i, j)  D(i, j + 1) = min{ D’(i 1, j 1)+ ’i, j , D’(i 1, j )+1, D(i, j 1)+1}  D(i, j + 1) = min D(i, j) + Ch(i, j1) +1  D(i, j + 1) D(i1, j + 1) + Ch(i1, j) +1  D(i, j + 1) D(i1, j) + Ch(i1, j1) +i, j+1  D(i, j +1) = min DR(i, j + 1).L + Ch(i, j1) +1 DR(i, j + 1).U + Ch(i1, j) +1 DR(i, j + 1).UL + Ch(i1, j1) +i, j+1  証明

隠れ補題 DR’(i, j) が affected ならば, DR’(i, j).U = DR(i, j + 1).U + Ch(i, j)  Ch(i 1, j) DR’(i, j).L = DR(i, j + 1).L + Ch(i, j)  Ch(i, j 1) 証明 補題5の証明より明らか. 隠れ補題

アルゴリズム Chテーブル (i1, j1) (i1, j) (i, j1) (i, j) f と g から求まる! アルゴリズム