2016-05-15 6 views
0

私はDFAのクロージャを実装しようとしています。私は、N FAを使わずに連合、忠誠交差、減算、連鎖を成功裏に実装しました。私たちの先生は閉鎖を見つけるアルゴリズムを教えてくれませんでした。私はD FAをそれ自身に連結することによってそれをしようとしましたが、明らかにそれは機能しませんでした。DFAのクロージャを見つけるには

私はちょうど私が行列を用いてD FAを表現しています方法によって手順が必要になります。あなたと一緒にクラインの閉鎖について詳しく説明してもらえますか?しかし、閉鎖を得る方法が分かれば、私はそれを行うことができます。

答えて

0

一般的に閉鎖の意味がわかりません。しかし、Kleeneクロージャの場合は、次のように進めることができます。すべての最終状態から、イプシロン遷移(開始状態に何も読み込まない)を追加します。だから1つの言葉を読んだ後、別の言葉で始めることができます。

もちろん、結果のオートマトンはそれ以上決定論的ではありません。しかし、それを再度決定するための標準的な手順があります。直接構築のため

:例えば、最終状態に入るすべての遷移を見て(Q、A) - > F。発信状態から、同じシンボルを読み取って開始状態(q、a) - > sに進む別の遷移を追加します。だから、オートマトンは単語を読み終える可能性があり、その直後に再び始まる。第二の選択肢については

+0

:新しい遷移があまりにも、オートマトンが非決定的になります。同じ文字のための2つの遷移。ここでもあなたは決定をする必要があります。私はこれを見逃していた。 –

関連する問題