Prove usando il lemma di pompaggio regolare


8

Ho due domande:

  1. Considero la seguente lingua In altre parole, non è palindromo di lunghezza pari. Ho dimostrato che questa lingua NON è regolare dimostrando che il suo complemento non è regolare. La mia domanda è come dimostrarlo usando il lemma del pompaggio senza usare il complemento.

    L1={w{0,1}u{0,1}:w=uuR}.
    w
  2. Sia Ho dimostrato che questa lingua non è regolare usando le classi di equivalenza. Come posso provarlo usando il lemma del pompaggio?

    L2={w{0,1}w has same number of 101 substrings and 010 substrings}.

Grazie mille per la modifica :)


Nota. Il mio browser non mostra il segno "non esiste" nella descrizione di . Non preoccuparti: è lì nella fonte e il cambio del browser ha aiutato. L1
Hendrik Jan,

Risposte:


7

Non tutte le lingue non regolari non superano il test del lemma di pompaggio. Wikipedia ha un esempio fastidiosamente complesso di un linguaggio non regolare che può essere pompato. Quindi, anche se una lingua non è regolare, potremmo non essere in grado di provare questo fatto usando il lemma del pompaggio.

Ma si scopre che possiamo usare il lemma del pompaggio per dimostrare che la tua prima lingua non è regolare. Non sono sicuro del secondo.

Reclamo: non è regolare.L1

Prova: dal lemma del pompaggio. Sia la lunghezza di pompaggio. ( l'alfabeto anziché .) Se , prendi la stringa , che si trova in e in che non lo è in , quindi non sarebbe regolare.p{a,b}{0,1}p=1abbaaL1aabbaaL1L1

Se , prendi la stringa . (Scopriremo cosa vogliamo che sia in seguito.) Quindi prendiamo in considerazione qualsiasi divisione della stringa in dove , e .p>1apbbaNNxyzx=apky=akz=bbaN

Ora pompiamo questa stringa volte. (Capiremo cosa vogliamo che sia dopo.) la stringa , che dà .iixyizapkaikbbaN=apk+ikbbaN

Ora facciamo un passo indietro. In primo luogo, abbiamo scelto . Quindi, è stata fatta una scelta di . Quindi, abbiamo scelto . Vogliamo capire quale scegliere in modo che, per qualsiasi scelta di , possiamo scegliere un che rende questa stringa un palindromo rendendo il numero di s sulla sinistra uguale al numero su la destra. (Avrà sempre una lunghezza pari.)NkiNk[1,p]ia

Così vogliamo ottenere sempre che . Se giochiamo con la matematica, scopriamo che dovremmo sceglieree scegli .pk+ik=NN=p+p!i=p!/k+1

Quindi, per ricapitolare, abbiamo sceltoe ha scelto la stringa . Quindi è stata fatta una scelta di in modo che la stringa fosse composta da dove . Quindi abbiamo scelto . Abbiamo pompato la stringa per ottenere .N=p+p!apbbaNkapkybbaNy=aki=p!/k+1apkyibbaN=apkaikbbaN=apk+ikbbaN

Ma sappiamo che. E. Quindi il numero di s su entrambe le estremità è lo stesso, quindi la stringa è un palindromo di lunghezza pari, quindi non è in , quindi non è regolare. pk+ik=pk+(p!k+1)k=pk+p!+k=p+p!N=p+p!aL1L1


Risposta perfetta!
debole

Mille grazie per l'aiuto. L'idea vuole scegliere saggiamente la stringa.
debole

Mi sarebbe piaciuto darti una risposta in entrambe le lingue, ma la seconda sembra dolorosa! L'approccio che mi ha portato alla risposta sulla prima era provare a dimostrare che è effettivamente pompabile - quando sono arrivato al caso finale e non sono riuscito a dimostrarlo, ho potuto iniziare a vedere come costruire la stringa sopra. L1
usul

@usul come sei arrivato a questo:, ? N=p+p!i=p!/k+1i=p!/k+1
Dima Knivets,

3

Per la prima domanda, la stringa È un controesempio adatto. Qualunque sia la lunghezza di , deve essere un fattore di, quindi lo pompiamo abbastanza e otteniamozero all'inizio.0p12p0p+p!yp!p+p!


1

Dopo aver riflettuto a lungo penso di aver risposto 2.

scegliamo string (010) ^ N (101) ^ N, dove N sta pompando la lunghezza. Indipendentemente da quale y sceglieremo, xy ^ 0z avrà più 101 di 010. l'idea è che possiamo solo aggiungere più 101 sottostringhe nella prima parte di stringa o rimuovere alcune 010 sottostringhe.


Sfortunatamente non sembra funzionare :( La stringa 010010101101 (N = 2) ha tre (!) Occorrenze di ciascuna. Eliminando la terza lettera, otteniamo 01010101101, che ha ancora tre occorrenze di 010. Attenzione alla sovrapposizione. Sono ancora perplesso. ...
Hendrik

Sì! Ma abbiamo 4 occorrenze di 101! E così quantità di 101 stringhe secondarie! = Quantità di 010
debole

Ops. Scusate. Avrei dovuto leggere quello che hai detto esattamente: "aggiungi più 101 sottostringhe". +1 (caso chiuso)
Hendrik
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.