計算理論 - 言語が規則的であることを示します
-
26-09-2019 - |
質問
私は計算理論上の私のコースのためのいくつかのノートを見直していると私は少しは次の文を示すことにこだわっていると私は誰かが説明で私を助けることができる期待していた:)
レッツAは正規言語であること。言語B = {AB | } Aに存在し、BはAに存在しません* なぜBが正規言語で?
いくつかのポイントは、私には明白です。 bは単に文字列定数である場合、これは簡単です。我々はAであり、bが文字列である知っているので、これら2つの文字列を受け入れる言語を合併することは明らかに規則的であるので、定期的な言語は、労働組合の下で閉じています。私はbがしかし、一定であることはよく分かりません。たぶんそれは、そうだとすれば、これは本当に問題ではありません。私はそれの感覚を作る苦労を抱えています。ありがとう!
解決
あなたは建設によって証明することができます。定期的な言語のクラスは労働組合、連結、スター、および補体の下で閉じている。
B.を認識し、正規表現を与えます他のヒント
任意の正規言語のことができるので、問題になっている
a
とb
は定数文字列が、任意の文字列ではなく、BはAの文字列の先頭と文字列の言語と文字列の末尾には、今すぐA.ではありませんRa
は、言語Aを認識するための正規表現である場合、正規表現によって認識されるBが正規表現によって認識することができるので、その後「Ra
」と連結not Ra
正規表現は、言語Bを認識するための正規表現は、それがだ、あります正規言語ます。
編集:私は当初、当該Bの定義の末尾にAの後にスターを逃しました。それを考慮して、星を含めるもb
を認識し、正規表現の一部を作ります。
入力「b」は表示されたときに、それが終了することを言語であるため、
Bは正規言語です。 私たちは* bと与えられた言語Bのための正規表現を書くことができます。
所属していません StackOverflow