2012-02-22 8 views
0

私は普通の言語のコンセプトに混乱しています。 通常の言語はすべてdfaで受け付けることができ、dfaには常にループがあります。だから、dfaは無限の数の文字列を受け入れることができるようです。すべての通常の言語が無限であることを意味しますか?空のセットはどうですか?それは普通の言語ですか?正規言語は常に無限

+0

DFAは、文字列を受け入れたかどうかは、あなたが受け入れる状態でか終わったかどうかに依存します。正確に1つの文字列を受け入れる簡単なDFAを作成するのはかなり簡単です。 –

答えて

4

definition of regular languageには空のセットが含まれています。また、シングルトン言語{a}も含まれているので、すべての正規言語が無限大ではありません。

0

いいえ、すべてのDFAにループがあるわけではありません。通常の言語は正規表現(pcre定義ではなく数学的表現を使用)で受け入れることができる言語です。たとえば、 'a'は正確な文字列 'a'にのみ一致する正規表現です。だから{a}は普通の言語です。 :)

A DFA、この言語のためには、次のとおりです。

 a 
START ----> ACCEPT 
関連する問題