Mostra che {xy ∣ | x | = | y |, x ≠ y} è privo di contesto


43

Ricordo di aver incontrato la seguente domanda su un linguaggio che presumibilmente è privo di contesto, ma non sono stato in grado di trovare una prova del fatto. Ho forse frainteso la domanda?

Comunque, ecco la domanda:

Mostra che la lingua L = { x y | x | = | y | , x y } è privo di contesto.L = { x y| x | = | y| ,xy}


5
Oh, questo è buono! <3
Raffaello

Risposte:


35

Reclamo : L è privo di contesto.L

Idea di prova : deve esserci almeno una differenza tra la prima e la seconda metà; diamo una grammatica che si assicura di generarne una e lascia il resto arbitrario.

Prova : per semplicità, supponi un alfabeto binario Σ = { a , b } . La prova si estende prontamente ad altre dimensioni. Considera la grammatica G :Σ={a,b}G

SA B B A Aa a A a a A b b A a b A b Bb a B a a B b b B a b B bSABABBAaaAaaAbbAabAbbaBaaBbbBabBb

È abbastanza chiaro che genera

L ( G ) = { w 1 k x w 2 v 1 k + l y v 2 l| w 1 | = | w 2 | = k , | v 1 | = | v 2 | = l , x y } Σ ;

il sospetto può eseguire un'induzione nidificata sopra k e l con il caso distinzione mediante coppie ( x , y ) . Ora, w 2 e v 1 permutano (parlando intuitivamente, w 2 e v 1 possono scambiare simboli perché entrambi contengono simboli scelti indipendentemente dal resto della parola). Pertanto, x ed y hanno la stessa posizione (nelle rispettive metà), che implica L ( G ) = L perché G non impone altre restrizioni alla sua lingua.


Il lettore interessato potrebbe riscontrare due problemi di follow-up:

Esercizio 1 : inventare un PDA per L !

Esercizio 2 : Che dire di { x y z | x | = | y | = | z | , x y y z x z } ?


Se usiamo questa grammatica, possiamo generare una stringa come: S A B A a B b B a , t h e n B b Dopo di ciò, abbiamo una S come abba! Questo non è uguale alla lingua grezza L, c'è un errore qui?
George.Zhao

@ George.Zhao non lo seguo. Chiaramente, a b b a L con x = a b e y = b a ?
Raffaello
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.