Automi a pila (1) - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

Automi a pila (1)

Description:

Title: Definizioni di base Author: am Last modified by: am Created Date: 9/1/2002 10:16:14 AM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 11
Provided by: Am5
Category:
Tags: automi | pila

less

Transcript and Presenter's Notes

Title: Automi a pila (1)


1
Automi a pila (1)
  • Un automa a pila (PDA) è M (Q, S, G, d, q0,
    Z0, F) dove
  • Q insieme finito di stati
  • S alfabeto finito di input
  • 3. G alfabeto di pila
  • d Q ? (S ? e) ? G ? 2 Q?G
  • q0 stato iniziale
  • Z0 simbolo di inizio pila
  • 7. F ? Q insieme degli stati finali
    (eventualmente vuoto).
  • La descrizione istantanea di un PDA è (q,w,g)
    dove
  • 1. q è lo stato
  • 2. w è la stringa ancora da leggere
  • 3. g è il contenuto della pila.
  • Dato un PDA M (Q, S, G, d, q0, Z0, F), (q, aw,
    Za) -M (p, w, ba) se
  • d(q, a, Z) contiene (p, b).
  • L(M) accettato a stati finali è w (q0, w, Z0)
    -M (p, e, g), p ? F
  • N(M) accettato a pila vuota è w (q0, w, Z0)
    -M (p, e, e), p ? Q.

2
Automi a pila (2)
  • Esempio. Si abbia il PDA M (q1, q2, 0,1,
    R,B,G, d, q1, R, Ø)
  • dove d è
  • d(q1, 0, R) (q1, BR)
  • d(q1, 1, R) (q1, GR)
  • d(q1, 0, B) (q1, BB), (q2, e)
  • d(q1, 1, B) (q1, GB)
  • d(q1, 0, G) (q1, BG)
  • d(q1, 1, G) (q1, GG), (q2, e)
  • d(q2, 0, B) (q2, e)
  • d(q1, 1, G) (q2, e)
  • d(q1, e, R) (q2, e)
  • d(q2, e, R) (q2, e)
  • Il PDA accetta L wwR w ? (01) .

3
Automi a pila (3)
  • Un PDA M (Q, S, G, d, q0, Z0, F) è
    deterministico se vale
  • 1. Se d(q, e, Z) non vuoto, allora d(q, a, Z)
    vuoto per ogni a ? S
  • (non cè una scelta tra una e -mossa e una mossa
    su input a)
  • 2. d(q, a, Z) non contiene più di un elemento
  • (per ogni a cè una sola mossa).
  • PDA deterministici e PDA non deterministici non
    sono equivalenti
  • non cè un PDA che accetta L wwR w ? (01)
    .
  • Teorema. I linguaggi accettati per stati finali
    sono esattamente quelli
  • accettati per pila vuota.
  • Prova. Se L è L(M2) per un PDA M2 allora è N(M1)
    per un PDA M1.
  • M1 cancella la pila quando M2 entra in uno stato
    finale. Un nuovo
  • marcatore di pila sotto quello originario
    impedisce che lautoma
  • accetti senza che sia entrato in uno stato finale
    di M2.
  • Se L è N(M1) per un PDA M1 allora è L(M2) per un
    PDA M2 . Quando
  • M1 svuota la pila rimane nella pila il nuovo
    marcatore e lautoma entra
  • in uno stato finale.

4
Automi a pila (4)
  • Teorema. Se L è un CFL allora esiste un PDA M
    tale che L N(M).
  • Prova. Sia G (V,T, P, S) in GNF. Prendiamo
  • M (q, T, V, d, q, S, ?) dove d(q, a, A)
    contiene (q, g) quando
  • A ? ag è in P. Si dimostra
  • S ÞG xa se e solo se (q,x,S) -M (q, e, a).
  • Prendendo a e si ha S ÞG x se e solo se
    (q,x,S) -M (q, e, e)
  • ossia x ? L se e solo se x ? N(M).
  • Teorema. Se L è N(M) per PDA M, allora L è un
    CFL.
  • Prova. Sia M (Q, S, G, d, q0, Z0 , ?).
    Prendiamo G (V, S, P, S)
  • dove gli elementi di V sono della forma q,A,p
    con p, q ? Q e A ? G.
  • P è linsieme delle produzioni
  • S ? q0, Z0 , q per ogni q ? Q
  • q, A, qm1 ? a q1, B1, q2 qm, Bm, qm1
    se d(q,a,A) contiene
  • (q1, B1 Bm).
  • Si dimostra
  • q, A, p ÞG x se e solo se (q, x, A) -M (p,
    e, e).

5
Pumping lemma per linguaggi non contestuali (1)
  • Lemma. Sia L un CFL. Allora cè una costante n
    (che dipende solo
  • da L) tale che se z è in L e z gt n allora si
    può scrivere z uvwxy con
  • vxgt 1
  • vwxlt n
  • per ogni igt 0 uviwxiy è in L.

6
Pumping lemma per linguaggi non contestuali (4)
Il pumping lemma può essere usato per provare che
un linguaggio non è non contestuale. Esempio.
Prendiamo L aibici i gt 1. Supponiamo che
sia non contestuale e che n sia la costante del
lemma. Prendiamo z anbncn e scriviamo z
uvwxy. Dove potrebbero essere in anbncn le
stringhe v e x da pompare? Poiché vwxlt n, vx
non può contenere istanze di a e di c poiché la
a più a destra è n1 posizioni più lontano dal c
più a sinistra. Se v e x consistono di sole a
allora uwy ha n b e n c ma non n a (le altre
istanze di a sono in vx) e quindi uwy non è della
forma aibici , una contraddizione. Analogamente
se v e x consistono di sole b o sole c. Se vx ha
a e b allora uwy ha più c che a e b. Similmente
se vx contiene b e c.
7
Proprietà dei linguaggi non contestuali (1)
Teorema. I linguaggi non contestuali sono chiusi
per unione, concatenazione, chiusura di
Kleene. Prova. Sia L1 non contestuale generato da
G1 (V1,T1, P1, S1) e L2 non contestuale
generato da G2 (V2,T2, P2, S2). Assumiamo V1 e
V2 disgiunti e S3 , S4 , S5 non in V1 ? V2. Per
L1 ? L2 prendiamo G3 (V1 ? V2 ? S3, T1 ? T2,
P3, S3) dove P3 P1 ? P2 ? S3 ? S1 , S3 ?
S2. Per L1 . L2 prendiamo G4 (V1 ? V2 ? S4,
T1 ? T2, P4, S4) dove P3 P1 ? P2 ? S4 ? S1
S2. Per L1 prendiamo G5 (V1 ? S5, T1, P5,
S5) dove P3 P1 ? S5 ? S1 S5 , S5 ? e
. Teorema. I linguaggi non contestuali sono
chiusi per sostituzione. Teorema. I linguaggi
non contestuali sono chiusi per omomorfismo.
8
Proprietà dei linguaggi non contestuali (2)
Esempio. Sia L un linguaggio di parole con un
numero uguale di a e di b, sia La 0n1n ngt
1, Lb wwR w ? (02). Prendiamo per G la
grammatica con produzioni S ? a S b S b S
a S e Per Ga prendiamo Sa ? 0 Sa 1
01 Per Gb prendiamo Sb ? 0 Sb 0 2 Sb 2
e Sia f la sostituzione f(a) La, f(b) La.
Allora f(L) è generato dalla grammatica con
produzioni S ? Sa S Sb S Sb S Sa S
e Sa ? 0 Sa 1 01 Sb ? 0 Sb 0 2 Sb 2 e
9
Proprietà dei linguaggi non contestuali (3)
Teorema. I linguaggi non contestuali sono chiusi
per omomorfismo inverso. Prova. Sia L L(M). Si
costruisce un PDA M che sullinput a genera la
stringa h(a), simula M su h(a) e accetta a se M
accetta h(a). Teorema. I linguaggi non
contestuali non sono chiusi per intersezione.
Prova. Prendiamo L1 aibici i gt 1, L2
aibicj i gt 1, j gt 1, L3 aibjcj i gt
1, j gt 1. Il linguaggio L1 L2 ? L3 è
lintersezione di due CFL ma non è un
CFL. Teorema. I linguaggi non contestuali non
sono chiusi per Intersezione con gli insiemi
regolari.
10
Proprietà dei linguaggi non contestuali (4)
Teorema. Data una CFG G (V,T, P, S) e x ? T è
decidibile se x ? L(G). Prova. Convertiamo G in
G in forma normale di Greibach. Ogni produzione
aggiunge un solo terminale e quindi se x ha
una derivazione in G ne ha una in esattamente
x passi. Se nessun non terminale in G ha più
di k produzioni, allora ci sono al più
kx Derivazioni da più a sinistra di stringhe di
lunghezza x. Si possono provare
sistematicamente. Questo algoritmo richiede un
tempo esponenziale in x. Ne esiste uno di
Cocke-Younger-Kasami in tempo cubico.
Write a Comment
User Comments (0)
About PowerShow.com