Zeige, dass {xy ∣ | x | = | y |, x ≠ y} ist kontextfrei


43

Ich erinnere mich an die folgende Frage nach einer Sprache, die angeblich kontextfrei ist, aber ich konnte keinen Beweis dafür finden. Habe ich mich vielleicht falsch an die Frage erinnert?

Wie auch immer, hier ist die Frage:

Zeigen Sie, dass die Sprache ist kontextfrei.L={xy|x|=|y|,xy}


5
Oh, das ist gut! <3
Raphael

Antworten:


35

Behauptung : ist kontextfrei.L

Beweisidee : Es muss mindestens einen Unterschied zwischen der ersten und der zweiten Hälfte geben; Wir geben eine Grammatik an, die sicherstellt, dass eine erzeugt wird, und den Rest willkürlich lässt.

Beweis : Der Einfachheit halber sei ein binäres Alphabet . Der Beweis erstreckt sich leicht auf andere Größen. Betrachten Sie die Grammatik :Σ={a,b}G

SABBAAaaAaaAbbAabAbBbaBaaBbbBabBb

Es ist ganz klar, dass es erzeugt

L(G)={w1kxw2v1k+lyv2l|w1|=|w2|=k,|v1|=|v2|=l,xy}Σ;

der Verdächtige kann eine verschachtelte Induktion über und mit Fallunterscheidung über Paare . Jetzt pendeln und (intuitiv können und Symbole austauschen, da beide Symbole enthalten, die unabhängig vom Rest des Wortes ausgewählt wurden). Daher haben und dieselbe Position (in ihrer jeweiligen Hälfte), was impliziert, dass da seiner Sprache keine weiteren Einschränkungen auferlegt.kl(x,y)w2v1w2v1xyL(G)=LG


Der interessierte Leser kann zwei Folgeprobleme haben:

Übung 1 : Überlegen Sie sich einen PDA für !L

Übung 2 : Was ist mit ?{xyz|x|=|y|=|z|,xyyzxz}


Wenn wir diese Grammatik verwenden, können wir eine Zeichenkette wie erzeugen: Danach erhalten wir ein S als abba! Dies ist nicht gleich der rohen Sprache L, gibt es hier einen Fehler? SAB Aa BbBa,thenBb
George.Zhao

@ George.Zhao Ich folge nicht. Cleary, mit und ? abbaLx=aby=ba
Raphael
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.