1つの言語に複数のDFAを使用できますか?


17

たとえば、サブ文字列を持たない文字列を許可するDFAを検討する場合、00または11次の2つのDFAを生成できます。

ここに画像の説明を入力してください

回答:


37

まず、左側のDFAが正しくありません-たとえば、011を受け入れます。

第二に、DFAは標準的に最小化できるため、その意味で、特定の言語に対して常に1つの標準DFAを見つけることができます。

しかし、一般に、すべての言語には無限に多くの異なるDFAがあるため、異なる正解を得ることができます。


そして、それは同型まで無限に多くあります。
G.バッハ

さらに具体的に言うと、状態が固定セットのサブセット(ある場合、同型まで無限です。それを修正しない場合、オートマトンのコレクションはセットではありません...どういうわけかこれはOPの意図ではなかったと思います:)N
Shaull

有限言語であっても無限に異なるDFAがありますか?
ベルギ

1
@Bergi:確かに-好きなだけ冗長状態を追加できます。これは「馬鹿げている」ように聞こえるかもしれませんし、オートマトンを自分で構築するのは本当に無意味です。ただし、多くの場合、オートマトンは他の形式(NFAの決定など)から変換することによって構築されます。この場合、冗長な状態になる可能性が非常に高くなります。
ショール

@Shaull:ε-遷移または到達不能状態を意味しますか?OK、私はそれらを考慮しませんでした。
ベルギ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.