差分抽出
ここのところ diff というかテキストファイルの差分抽出に興味があって、Myers らの論文を見たりしてました。
・An O(ND) Difference Algorithm and its Variations ・An O(NP) Sequence Comparison Algorithm 最初、エディットグラフって何?という状態だったので O(ND) の論文を読んで、エディットグラフの概念については理解できたのですが、O(ND) の基本的なアルゴリズムについてはわかったようなわからないような。数式にだまされているような感じです(^^; 特に LCS/SES だけじゃなくてそのパスを求めたいのですが、何をどう記憶するのがいいのかさっぱり思いつきません。いや、論文には書いてあることは書いてあるんですよ。V を覚えておけってね。 で、その時点でだいぶ落ちこぼれつつあったのに、線形空間向けの改良として前と後ろの両方から探索を行うというところで、ついて行けなくなりました。 さらに、google-diff-match-patchの作者の解説を見ていると前と後ろからの探索がぶつからないパターンもあるとかでもはやちんぷんかんぷん。 一時はそこで諦めつつあったんですが、O(NP) の方が高速なくせに単純なアルゴリズムだという情報を得たので、O(ND) のことはさくっと忘れて O(NP) の方を読み始めることにしました。 こっちはわかりやすいですね。完全に理解できたかと問われると全然そうは思いませんが、少なくとも探索がどのように進むかはわかりました。あと、進み方が理解できたのでパスを記憶する方法もなんとなくわかりました。 というか、なんでこんなアルゴリズムを見つけることができますかね。なんかうまいことパズルのピースが合うような感じのムダのないものでした。
by hironytic
| 2007-12-13 15:57
| 近況
|
検索
カテゴリ
以前の記事
2009年 12月
2009年 11月 2009年 10月 2009年 09月 2009年 04月 2009年 01月 2008年 11月 2008年 09月 2008年 08月 2008年 07月 2008年 05月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 09月 2007年 06月 2007年 05月 2007年 04月 2007年 03月 2007年 02月 2007年 01月 2006年 12月 2006年 11月 2006年 10月 2006年 09月 2006年 05月 2006年 04月 2006年 03月 2006年 01月 2005年 12月 2005年 11月 2005年 10月 2005年 09月 2005年 08月 2005年 07月 2005年 06月 2005年 05月 2005年 04月 2005年 03月 2005年 02月 2005年 01月 2004年 12月 2004年 11月 2004年 10月 2004年 09月 2004年 08月 2004年 05月 2004年 04月 2004年 03月 最新のトラックバック
関連リンク
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||