2011-08-13 7 views
4

"ab" & "ba"と同じ数の部分文字列を持つアルファベット "a、b、c"のすべての文字列の言語ですか?アルファベット "a、b、c"の部分文字列 "ab"& "ba"と同じ数のすべての文字列の言語が標準ですか?

答えはNOだと思いますが、非正式なデモであっても正式なデモを行うのは難しいです。

これにアプローチする方法についてのご意見はありますか?

+0

あなたはhttp://cstheory.stackexchange.com/にそれを尋ねるべきです。 – Shi

+0

@ Shi-この質問はcstheoryにはあまりにも基本的だと思います。 cstheoryは主に研究レベルのトピックです。 – templatetypedef

答えて

2

明らかに正規ではありません。 FAが(abc)^ n c(cba)^ nをどのように認識するか。このような文字列はあなたの言葉になりますよね?議論は、区別不能関係I_lの下に無限に多くの等価クラスが存在するという事実に基づく単純なものである。

+0

これはMyhill-Nerode定理を使用していることに言及する価値があるかもしれません。これは、識別可能性の関係で無限に多くの等価クラスが存在するため、言語を規則的にすることはできないということです。 – templatetypedef

+0

良い点。しかし、文字列が無限に多く存在する場合、FAはそれらをすべて処理するために無限に多くの州を必要とすることはかなり直感的です。それでもなお。 – Patrick87

0

言語を証明する最も一般的な方法は、普通ではなく、Pumping Lemmasを使用していることです。

補助定理を使うのは少し複雑ですが、それはすべて「存在する」などです。言語を証明するためには、ポンピング補題を使って規則的でないことを証明する必要があります。

for any integer p, 
there is a word w in L of length n, with n>=p, such that 
for all possible ways to decompose w as xyz, with len(xy) <= p and y non empty 
there exists an i such that x(y^i)z (repeating the y bit i times) is NOT in L 

whooo!

私は校正校がどのように「同じ数のbs」の言語を探すかを示します。あなたのケースに変換しstraighfowardする必要があります。

for any given p, we can make a word of length n = 2*p 
a^p b^p (p a's followed by p b's) 
any way you decompose this into xyz w/ |xy| <=p, y will only contain a's. 

Thus, pumping the the y part will make the word have more as than bs, 
thus NOT belonging to L. 

あなたはこの作業の理由で直感が必要な場合は単語が属している場合、それはあなたが確認するために、多数のarbritrarilyするためにカウントできるようにする必要がありますどのように次のこれらの言語のいずれかにしかし、正規言語は有限オートマトンによって記述され、有限オートマトンはすべての数値を表現するのに必要な無限大状態を表すことはできません。 (ウィキペディアの記事は正式な証明が必要です)。限り、あなたは(ABAがabbbbaになって言葉が受け入れられて停止させることはできませんあなたはいつもyを作る場合は1つの文字である:


EDIT:あなたがまっすぐに直接この特定のケースでは、ポンピング補題を使用することはできませんように見えます違いはありません)。

パトリック87で提案されている等価クラスのアプローチを実行してください。ポンピング補助定理をここで適用できるようにするために必要な汚れたハッキン​​グのいずれよりもきれいになるでしょう。

+1

ありがとうございますが、問題はそれより少し複雑です。この言語はポンピング補題に準拠しています。私はそれについて正式なデモンストレーションをしているので、あなたは定期的にそれを証明するための他の方法を見つけなければなりません。デモの主な考え方は、言語に属する文字列がある場合は、最初の文字とそれ以外の文字列に分割できることです。その文字をポンピングすることによって、あなたは常にab&baと同じ数の文字列を得るでしょう。最初の文字がa、b、またはcであるかどうかは関係ありません。他のアイデアがあれば教えてください。ありがとうございました!!と、アレックス。 –

+0

実際には、私の答えで指名した種類の弦にポンピング補助句を使うことができます。この場合、PLを厳密に適用するためには、区別できないことに基づいて論争するほうが簡単です。 – Patrick87

+0

@ Patrick87-私は、この言語が規則的ではないことを証明するために、ポンピング補題を使用しようと約20分を費やしました。実際には、文字列をもはや有効にしないで、ただ一つの文字 'c'をポンピングすることができるので、あなたが記述した言語のためにどのように使用するのかは分かりません。あなたはここでポンプ音の補題を適用する方法を明確にすることはできますか?私はすぐにこれを理解できない場合、これは本当に私を悩ますので、これを尋ねる新しい質問を開きます。 :-) – templatetypedef

関連する問題