LET文字列照合オートマトンパターンのための、あります
- for all and a \ in \ Sigma
の最長プレフィックスの長さの接尾辞であるであり、
。
さて、聞かせて\パイプレフィックス機能からクヌース-モリス-プラット法であるが、
。
、\ pi_Pを使用してすばやく計算できます。中心的な観測は次のとおりです。
上記の概念と\ in \ Sigmaを想定します。ためと又はは、その保持します
しかし、どうすればこれを証明できますか?
参考までに、これは\ pi_Pの計算方法です。
m ← length[P ]
π[0] ← 0
k ← 0
for q ← 1 to m − 1 do
while k > 0 and P [k + 1] =6 P [q] do
k ← π[k]
if P [k + 1] = P [q] then
k ← k + 1
end if
π[q] ← k
end while
end for
return π
3
もう少し詳しく教えてもらえますか?パターンとは何ですか?プレフィックス関数とは正確には何ですか?指定したリンクにプレフィックス関数が表示されませんでしたか?オートマトンは確定的ですか、非確定的ですか?
—
デイブクラーク
KMPの接頭辞機能を使用して質問を編集しました
—
ボブ
したがって、あなたの質問は基本的に、上記のコードがKMPの前置関数を計算することを証明する方法です。
—
rgrig 2012年
@Raphael:私は、編集された質問が見つけるずっと読みにくく。
—
JeffE 2012年