私は、Javaを使用してFA文字列マッチャーを構築しようとしています。私は次の擬似コードを持っています。遷移関数を動作する有限オートマトン - マッチャーアルゴリズムについて有限オートマトンの文字列マッチャー
計算されなければなりません。次のアルゴリズムであるCompute-Transition-Functionは、与えられたパターンPとアルファベットのシグマを計算します。上記のコードで
分(M + 1、Q + 2)から来た場合、私は理解できませんでした。 (私はなぜk = min(m、q + 1)の代わりにk = min(m + 1、q + 2)であるのか理解しましたが、最初にmとq + 1の最小値が必要な理由)
5-7の行の間に、PkがPqaの接尾辞になるまでkを1減らしますが、Pqaの意味を理解できませんでした。
また、8行目をJavaコードに変換するにはどうすればよいですか?二次元配列で十分か、別のデータ構造が必要か
関連する質問:内部反復までのループでstring matching with finite automata