意志


7

意志 L={ab} 通常の言語として分類されますか?

私はそれを知っているので混乱しています L={anbn}定期的ではありません。クリーネスターはどのような違いがありますか?


3
nが自由変数であることを指定する必要があります。それは私を混乱させたあなたの表現の定数のように見えます。
user541686

回答:


19

一部のDFAで受け入れられる場合、言語は定義により通常です。(これは、少なくとも1つの一般的な定義です。)言語を受け入れるDFAについて考えられますか?

よく知られている結果(多くの教科書で証明されています)は、正規表現の言語が正規であることを示しています。以来ab 正規表現であり、その言語は正規でなければなりません(この結果を信じる場合)。

最後に、あなたの質問に答えるために(Kleeneスターはどのような違いがあるか):言語で {anbn:n0}、数を数える必要がありますabs; 言語でab 私たちはしません。


1
実世界の正規表現は、正規表現とはかけ離れています。nikic.github.io/2012/06/15/...
ギリェルメベルナル

7
@GuilhermeBernalそれは本当です。残念ながら、「正規表現」という表現は両方の種類を表すために使用されます。私の答えでは、正規表現は正式な言語理論で定義された概念です。
Yuval Filmus

@GuilhermeBernal:POSIX EREは定期的です。BRE、PCRE、その他の風変わりなものだけがそうではありません。
R .. GitHub ICEのヘルプ停止2016

14

{ab} 正規表現によって生成されるため、正規言語です。

主な違いは L={ab} そして L=={anbn} それは L= カウントする必要があります a'砂 bそれらの数が同じであるかどうかをチェックしますが、 Lカウントは必要ありません。数が増えると、数え上げには無限のメモリが必要になりますが、有限オートマトンは有限量のメモリしか持たないため、有限オートマトンは認識できませんL=。一方、有限オートマトンはL それは単にそれが aの(任意の数)の前に来る bの(任意の数)。

そのため、Kleeneスターは、認識に無限のメモリを必要とする言語を定義していません。これは、「任意の数」を意味し、スターに遭遇するたびに、数は異なる場合があります。


どうもありがとうございます。それは本当に私に違いを説明しました!
user6268553

「無限のメモリが必要」はそれを考えるのに良い直感的な方法ですが、ポンプレンマは、それが規則的でないことを実際に証明する方法です。
R .. GitHub ICEのヘルプ停止

0

DFAを開発できる任意の言語。

これらの言語の両方でDFAを描画できるかどうかを確認してください。

L1=ab

x アルファベットのすべての出現を示す x

文字列: ϵ、a、b、aa、ab、bb、..

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

に属する文字列のセットを生成するには L1、マシンはaとbの数を追跡する必要はありません。FAは最後に処理されたアルファベットのみを記憶できるため、DFAを開発できます。

DFAが存在します。

したがって定期的に。

L2=anbn

文字列: ϵ、aa、bb、aaa、bbb、..

に属する文字列のセットを生成するには L2、マシンは同じ数のbを印刷するために、印刷されたaの数を追跡する必要があります。ただし、FAは最後に処理されたアルファベットのみを記憶できます。

受け入れる機械を構築する L2 そのようなマシンがPDA(Push Down Automate)と呼ばれるようなメモリをもう1つ追加する必要があります。

DFAは存在しません。

したがって、定期的ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.