1. Pompare lemma per lingue senza contesto: Questa è la tecnica più utilizzata. Il lemma di pompaggio afferma che per qualsiasi cfl L, esiste una costante * P * (la lunghezza di pompaggio) tale che qualsiasi stringa * w * in l con lunghezza | w | ≥ *p *può essere scritto come *uvxyz *, dove:
* | VXY | ≤ *p *
* | Vy | ≥ 1
* * Uv
Per dimostrare che una lingua non è * senza contesto usando il lemma di pompaggio:
1. Supponi: Supponiamo, per motivi di contraddizione, che la lingua * l * sia priva di contesto.
2. Scegli una stringa: Seleziona una stringa *w *in *l *con lunghezza almeno la lunghezza di pompaggio *p *(spesso dovrai scegliere strategicamente *w *).
3. Pump la stringa: Prova a decomporre * w * in * uvxyz * Soddisfare le condizioni del lemma.
4. Trova una contraddizione: Mostralo per alcuni *i *, *uv
Esempio: Consideriamo la lingua l ={a
1. Supponi: L è senza contesto.
2. Scegli una stringa: Let * w * =a
3. Pump la stringa: Non importa come decomporre *w *in *uvxyz *, il pompaggio violarà inevitabilmente l'A
n
B
4. Contraduzione: Pertanto, esiste un *i *tale che *uv
2. Proprietà di chiusura: Le lingue senza contesto sono chiuse sotto determinate operazioni (Union, Concatenation, Kleene Star, Intersection con una lingua normale). Se puoi dimostrare che una lingua * non * chiusa sotto una di queste operazioni, non può essere senza contesto. Questo metodo è meno frequentemente utilizzato per la prova diretta rispetto al lemma di pompaggio ma può essere utile in combinazione con altre tecniche.
3. Lemma di Ogden: Questa è una versione più potente del lemma di pompaggio, che consente di scegliere posizioni contrassegnate all'interno della stringa *w *. È utile per le lingue in cui è difficile applicare il semplice lemma di pompaggio.
4. Teorema di Parikh: Questo teorema si riferisce al numero di occorrenze di ciascun simbolo nelle stringhe di un linguaggio. Sebbene non sia usato direttamente per dimostrare una lingua * non è * senza contesto, a volte può aiutare a dimostrare che la struttura di una lingua è incompatibile con i vincoli imposti dai CFL. È spesso usato insieme ad altre tecniche.
In sintesi, il lemma di pompaggio è il metodo più comune e generalmente efficace per dimostrare una lingua non è privo di contesto. Tuttavia, la scelta del metodo dipende dalla struttura del linguaggio specifico e dalla facilità con cui ogni tecnica può essere applicata. Il Lemma di Ogden offre più energia quando necessario e le proprietà di chiusura possono fornire prove supplementari.
Informazioni correlate
Programmazione © www.354353.com