Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto
|
|
- Emilio Rizzi
- 6 anni fa
- Visualizzazioni
Transcript
1
2 utomi a Pila Un automa a pila (PDA) e una estensione degli automi a stati finiti, che ha una memoria (una pila) Vedremo due modi equivalenti per definire il linguaggio accettato da un PDA Vedremo che la classe dei linguaggi accettati da PDA (nondeterministici) e esattamente quella dei CFL
3 etermismo e Non-Determismo Vedremo come nel caso dei PDA la versione deterministica e non deterministica non siano equivalenti Gli automi a pila deterministici operano in modo simile ai parser dei compilatori, e importante capire quali costrutti linguistici non possono essere catturati.
4 escrizione Intuitiva Un automa a pila (PDA) e in pratica un ɛ-nfa con una pila, la pila contiene simboli ordinati LIFO Input Finite state control Accept/reject Stack
5 osse dell automa Il PDA in un certo stato puo (al solito) leggere un simbolo di input o eseguire una ɛ-transizione Leggere il simbolo memorizzato al top della pila Quando si muove 1 puo cambiare stato 2 rimpiazzare il top della pila con una stringa (la pila rimane invariata, o viene eliminato il top della pila, o viene aggiunta una stringa in cima alla pila)
6 sempio Consideriamo il linguaggio CFL con grammatica L wwr = {ww R : w {0, 1} }, P 0P01P1 ɛ Possiamo definire un PDA che utilizza la pila nel seguente modo: 1 fino a che legge i simboli di w memorizza i simboli letti nella pila 2 quando inizia w R, svuota la pila, se il simbolo memorizzato al top e uguale a quello in input
7 DA: Descrizione Intuitiva Un PDA per L wwr ha tre stati, e funziona come segue: 0: Scommette che sta leggendo w. Rimane nello stato 0, e mette il simbolo di input sulla pila. 0: Scommette che sta nel mezzo di ww R. Va spontaneamente nello stato 1. 1: Sta leggendo la testa di w R. La paragona al top della pila. Se sono uguali, fa un pop della pila, e rimane nello stato 1. Se non sono uguali, si ferma. 1: Se la pila e vuota, va nello stato 2 e accetta la stringa.
8 DA: Diagramma di Transizione 0, Z 0 / 0 Z 0 1, Z 0 / 1 Z 0 0, 0 / 0 0 0, 1 / 0 1 1, 0 / 1 0 1, 1 / 1 1 0, 0 / ε 1, 1 / ε Start q 0 q q 1 2 ε, Z 0 / Z 0 ε, Z 0 / Z 0 ε, 0 / 0 ε, 1 / 1
9 ommenti Gli archi del diagramma sono etichettati con a, Z/α che rappresentano: 1 il simbolo in input (o ɛ) 2 Z il simbolo al top della pila 3 α la stringa che viene messa al top della pila (al posto di Z) Z 0 e il simbolo memorizzato inizialmente nella pila
10 ommenti in q 0 qualsiasi simbolo legga in input lo pusha al top della pila in q 0 si puo muovere in q 1 senza leggere input e lasciando la pila invariata in q 1 cancella (rimpiazzandolo con ɛ) il simbolo al top della pila se combacia con l input in q 1 si muove in q 2 se la pila e vuota (contiene Z 0 )
11 efinizione Formale di PDA Un PDA e una tupla di 7 elementi: P = (Q, Σ, Γ, δ, q 0, Z 0, F ), dove Q e un insieme finito di stati, Σ e un alfabeto finito di input, Γ e un alfabeto finito di pila, δ : Q Σ {ɛ} Γ 2 Q Γ e la funzione di transizione, q 0 e lo stato iniziale, Z 0 Γ e il simbolo iniziale per la pila, e F Q e l insieme di stati di accettazione.
12 unzione di Transizione la funzione di transizione δ : Q Σ {ɛ} Γ 2 Q Γ restituisce un insieme di coppie (q, α) dove q e uno stato e α e la stringa nell alfabeto della pila che deve rimpiazzare il simbolo al top l automa e nondeterministico, esistono ovviamente varie scelte
13 sempio Il PDA 0, Z 0 / 0 Z 0 1, Z 0 / 1 Z 0 0, 0 / 0 0 0, 1 / 0 1 1, 0 / 1 0 1, 1 / 1 1 0, 0 / ε 1, 1 / ε Start q 0 q q 1 2 ε, Z 0 / Z 0 ε, Z 0 / Z 0 ε, 0 / 0 ε, 1 / 1 e la 7-tupla P = ({q 0, q 1, q 2 }, {0, 1}, {0, 1, Z 0 }, δ, q 0, Z 0, {q 2 }), dove δ e data dalla tavola seguente:
14 a Funzione di Transizione 0, Z 0 1, Z 0 0,0 0,1 1,0 1,1 ɛ, Z 0 ɛ, 0 ɛ, 1 q 0 q 0, 0Z 0 q 0, 1Z 0 q 0, 00 q 0, 01 q 0, 10 q 0, 11 q 1, Z 0 q 1, 0 q 1, 1 q 1 q 1, ɛ q 1, ɛ q 2, Z 0 q 2
15 escrizioni Istantanee Per descrivere le computazioni di un PDA dobbiamo descrivere la configurazione dell automa ad un certo punto Usiamo delle descrizioni istantanee (ID) del PDA. Una ID e una tripla (q, w, γ) dove q Q e lo stato, w Σ l input rimanente, e γ Γ e una stringa, il contenuto della pila. Nota: la pila e rappresentata da una stringa γ = aα a e il top
16 omputazione Per descrivere le computazioni di un PDA introduciamo una nozione di tra configurazioni istantanee, ID 1 ID 2 l automa nella configurazione ID 1 si muove in un passo nella configurazione ID 2 Al solito usiamo la chiusura riflessiva e transitiva di.
17 efinizione: Passo di Computazione Sia P = (Q, Σ, Γ, δ, q 0, Z 0, F ) un PDA. Allora w Σ, β Γ : (p, α) δ(q, a, X ) (q, aw, X β) (p, w, αβ). dove q Q, a Σ {ɛ} e X Γ.
18 sempio Su input 1111 il PDA 0, Z 0 / 0 Z 0 1, Z 0 / 1 Z 0 0, 0 / 0 0 0, 1 / 0 1 1, 0 / 1 0 1, 1 / 1 1 0, 0 / ε 1, 1 / ε Start q 0 q q 1 2 ε, Z 0 / Z 0 ε, Z 0 / Z 0 ε, 0 / 0 ε, 1 / 1 ha le seguenti sequenze di computazioni ( a causa del nondeterminismo)
19 sempio ( q 0, 1111, Z 0 ) ( q 0, 111, 1Z 0 ) ( q, 1111, Z 1 0 ) ( q 2, 1111, Z 0 ) ( q 0, 11, 11Z 0 ) ( q, 111, 1Z 1 0 ) ( q, 11, 1 Z 0 ) ( q 0, 1, 111Z 0 ) ( q, 11, 11Z 1 0 ) ( q 2, 11, Z 0 ) ( q 0, ε, 1111Z 0 ) ( q, 1, 111Z 1 0 ) ( q, 1, 1 Z 1 0 ) ( q, 1 ε, 1111Z 0 ) ( q, ε, 11 Z 1 0 ) ( q, ε, 1 Z 0 ) ( q 2, ε, Z 0 )
20 on Determinismo A causa del nondetermiminsmo e delle ɛ-transizioni 1 alcune computazioni non arrivano nello stato finale q 2 2 alcune computazioni arrivano nello stato finale q 2, ma non avendo consumato l input 3 alcune computazioni arrivano nello stato finale q 2 avendo consumato l input (quindi la stringa viene accettata)
21 ccettazione per stato finale Sia P = (Q, Σ, Γ, δ, q 0, Z 0, F ) un PDA. Il linguaggio accettato da P per stato finale e L(P) = {w : (q 0, w, Z 0 ) (q, ɛ, α), q F }. la configurazione iniziale contiene q 0, l input w e Z 0 sulla pila la configurazione finale contiene q accettante, input ɛ, e sulla pila una stringa arbitaria α
22 sempio Sia P l automa visto. Proviamo che L(P) = L wwr. (direzione.) Sia x L wwr. Allora x = ww R, e la seguente e una sequenza di computazione legale (q 0, ww R, Z 0 ) (q 0, w R, w R Z 0 ) (q 1, w R, w R Z 0 ) (q 1, ɛ, Z 0 ) (q 2, ɛ, Z 0 ).
23 direzione.) Osserviamo che l unico modo in cui il PDA puo andare in q 2 e se e nello stato q 1 con la pila vuota. Quindi e sufficiente mostrare che se (q 0, x, Z 0 ) (q 1, ɛ, Z 0 ) allora x = ww R, per una qualche stringa w. Mostreremo per induzione su x che (q 0, x, α) (q 1, ɛ, α) x = ww R. Base: Se x = ɛ allora x e una palindrome. Induzione: Supponiamo che x = a 1 a 2 a n, dove n > 0, e che l ipotesi induttiva valga per stringhe piu corte. Ci sono due mosse per il PDA da ID (q 0, x, α):
24 direzione.) Mossa 1: La mossa spontanea (q 0, x, α) (q 1, x, α). Allora (q 1, x, α) (q 1, ɛ, β) implica che β < α, che implica β α. Mossa 2: (q 0, a 1 a 2 a n, α) (q 0, a 2 a n, a 1 α). In questo caso c e una sequenza (q 0, a 1 a 2 a n, α) (q 0, a 2 a n, a 1 α) (q 1, a n, a 1 α) (q 1, ɛ, α). Quindi a 1 = a n e (q 0, a 2 a n, a 1 α) (q 1, a n, a 1 α). Per il teorema 6.6 possiamo rimuovere a n. Quindi (q 0, a 2 a n 1, a 1 α (q 1, ɛ, a 1 α). Allora, per ipotesi induttiva a 2 a n 1 = yy R. Allora x = a 1 yy R a n e una palindrome.
25 ccettazioe per pila vuota Sia P = (Q, Σ, Γ, δ, q 0, Z 0, F ) un PDA. Il linguaggio accettato da P per pila vuota e N(P) = {w : (q 0, w, Z 0 ) (q, ɛ, ɛ)}. Nota La configurazione iniziale e la stessa, mentre quella finale contiene uno stato q qualsiasi, ɛ come input,e la pila vuota (ɛ).
26 omande 1 come modificare il PDA per le palindromi per accettare lo stesso linguaggio per pila vuota? 2 esiste un metodo generale e sistematico? 3 esiste un metodo generale e sistematico per fare anche la trasformazione opposta?
27 a pila vuota a stato finale Teorema 6.9: Se L = N(P N ) per un PDA P N = (Q, Σ, Γ, δ N, q 0, Z 0 ), allora PDA P F, tale che L = L(P F ). Prova: Costruiamo una automa dove P F = (Q {p 0, p f }, Σ, Γ {X 0 }, δ F, p 0, X 0, {p f }) δ F (p 0, ɛ, X 0 ) = {(q 0, Z 0 X 0 )}, per un nuovo stato iniziale p 0 per ogni q Q, a Σ {ɛ}, Y Γ : δ F (q, a, Y ) = δ N (q, a, Y ) per ogni q Q, (p f, ɛ) δ F (q, ɛ, X 0 ) per un nuovo stato p f accettante
28 automa P F ε, X 0 / ε ε, X 0 / ε Start ε, X 0 / Z 0 X p 0 0 q 0 P N p f ε, X 0 / ε ε, X 0 / ε
29 ntuitivamente L automa P F inizia nel nuovo stato iniziale p 0 1 da p 0 si muove nello stato iniziale di q 0 di P N impilando Z 0 2 in q 0 (trovando Z 0 al top della pila) simula eseguendo le mosse di P N, fino a quando non arriva alla pila vuota in un certo stato q 3 da q trovando X 0 sulla pila si muove nel nuovo stato accettante p f
30 rova della correttezza della costruzione Valgono le seguenti proprieta : 1 Se una sequenza di ID e una computazione legale per un PDA, allora lo e anche la sequenza ottenuta aggiungendo una stringa alla fine della seconda componente (input). 2 Se una sequenza di ID e una computazione legale per un PDA, allora lo e anche la sequenza ottenuta aggiungendo una stringa alla fine della terza componente. 3 Se una sequenza di ID e una computazione legale per un PDA, e la coda di un input non e consumata, allora rimuovendola da tutte le ID si ottiene una computazione lecita.
31 ormalmente Teorema 6.5: w Σ, β Γ : (q, x, α) (p, y, β) (q, xw, αγ) (p, yw, βγ). Prova: Induzione sulla lunghezza della sequenza sulla destra. Nota: Se γ = ɛ abbiamo la proprieta 1, e se w = ɛ abbiamo la proprieta 2. Nota: L inverso del teorema e falso. Dalla proprieta 3 abbiamo Teorema 6.6: (q, xw, α) (p, yw, β) (q, x, α) (p, y, β).
32 rova del Teorema 6.9 Dobbiamo mostrare che L(P F ) = N(P N ). (direzione ) Sia w N(P N ). Allora (q 0, w, Z 0 ) N (q, ɛ, ɛ), per un qualche q. Dal teorema 6.5 abbiamo Dato che δ N δ F, abbiamo Concludiamo che (q 0, w, Z 0 X 0 ) N (q, ɛ, X 0 ). (q 0, w, Z 0 X 0 ) F (q, ɛ, X 0 ). (p 0, w, X 0 ) F (q 0, w, Z 0 X 0 ) F (q, ɛ, X 0 ) F (p f, ɛ, ɛ). (direzione ) Basta esaminare il diagramma.
33 sempio Vogliamo definire un P N per trovare errori in stringhe della grammatica if-else G S ɛ SS is ise. Problema, deve essere possibile abbinare ogni else con l if che lo precede. Ad esempio, {ieie, iie, iei} G, e {ei, ieeii} G =.
34 utoma e, Z/ ε i, Z/ZZ Start q P N = ({q}, {i, e}, {Z}, δ N, q, Z), dove δ N (q, i, Z) = {(q, ZZ)} e δ N (q, e, Z) = {(q, ɛ)}. L automa ha un solo stato q e un solo simbolo di stack Z, che viene usato per contare la differenza tra il numero di i ed e letti. Inseriamo una Z quando troviamo una i, cancelliamo una Z quando troviamo una i. La pila parte con Z, quindi se ad un certo punto abbiamo Z n sulla pila la differenza tra i ed e e n 1. Se la pila e vuota, allora abbiamo trovato l errore, il numero degli e e diventato illecito.
35 Da P N otteniamo P F = ({p, q, r}, {i, e}, {Z, X 0 }, δ F, p, X 0, {r}), dove δ F (p, ɛ, X 0 ) = {(q, ZX 0 )}, δ F (q, i, Z) = δ N (q, i, Z) = {(q, ZZ)}, δ F (q, e, Z) = δ N (q, e, Z) = {(q, ɛ)}, and δ F (q, ɛ, X 0 ) = {(r, ɛ)} Il diagramma per P F e e, Z/ ε i, Z/ZZ Start p ε, X 0 /ZX 0 ε, X 0 / ε q r
36 a stato finale a pila vuota Teorema 6.11: Sia L = L(P F ), per un PDA P F = (Q, Σ, Γ, δ F, q 0, Z 0, F ). Allora PDA P n, tale che L = N(P N ). Prova: Costruiamo dove P N = (Q {p 0, p}, Σ, Γ {X 0 }, δ N, p 0, X 0 ) δ N (p 0, ɛ, X 0 ) = {(q 0, Z 0 X 0 )} per un nuovo stato iniziale p 0 per tutti i q Q, a Σ {ɛ}, Y Γ, δ N (q, a, Y ) = δ F (q, a, Y ) δ N (p, ɛ, Y ) = {(p, ɛ)}, per un nuovo stato p per Y Γ {X 0 }, per tutti i q F e Y Γ {X 0 } (p, ɛ) δ N (q, ɛ, Y ).
37 automa P N Start ε, any/ ε ε, X 0 / Z 0 X p 0 P 0 q 0 F p ε, any/ ε ε, any/ ε
38 ntuitivamente L automa P N inizia nel nuovo stato iniziale p 0 1 da p 0 si muove nello stato iniziale di q 0 di P F impilando Z 0 2 in q 0 (trovando Z 0 al top della pila) simula eseguendo le mosse di P F, fino a quando non arriva in uno stato accettante q F 3 da q F si muove nel nuovo stato p, in cui la pila viene svuotata (senza leggere input)
39 rova Dobbiamo mostrare che N(P N ) = L(P F ). (direzione ) Basta esaminare il diagramma. (direazione ) Sia w L(P F ). Allora (q 0, w, Z 0 ) F (q, ɛ, α), per un q F, α Γ. Dato che δ F δ N, e teorema 6.5 dice che X 0 puo essere infilato sotto la pila, otteniamo Il P N puo calcolare: (q 0, w, Z 0 X 0 ) N (q, ɛ, αx 0 ). (p 0, w, X 0 ) N (q 0, w, Z 0 X 0 ) N (q, ɛ, αx 0 ) N (p, ɛ, ɛ).
Automi e Linguaggi Formali Automi a stack (Pushdown automata)
Automi e Linguaggi Formali Automi a stack (Pushdown automata) A.A. 2014-2015 Enrico Mezzetti emezzett@math.unipd.it Automi a stack Un Pushdown Automata (PDA) o Automa a stack Essenzialmente un ɛ-nfa con
DettagliAutomi a pila. Automi a pila
utomi a pila Un automa a pila (PDA) e in pratica un ǫ-nfa con una pila. In una transizione un PDA: 1 Consuma un simbolo di input. 2 Va in un nuovo stato (o rimane dove e ). 3 Rimpiazza il top della pila
DettagliEquivalenza di PDA e CFG. Equivalenza di PDA e CFG
quivalenza di PDA e CFG Un linguaggio e generato da una CFG se e solo se e accettato da un PDA per pila vuota se e solo se e accettato da un PDA per stato finale Grammar PDA by empty stack PDA by final
DettagliLinguaggi regolari e automi a stati finiti. Linguaggi regolari e automi a stati finiti
utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file
DettagliMa il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione
Problemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa uello che ci aspettiamo. E facile vedere che il programma Ma il programma in Fig. 8.2 del libro?
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1
DettagliProprieta dei linguaggi liberi da contesto. Proprieta dei linguaggi liberi da contesto
roprieta di CFL Semplificazione di una CFG: se un linguaggio e un CFL, ha una grammatica di una forma speciale. Pumping Lemma per CFL: simile ai linguaggi regolari. Proprieta di chiusura: alcune delle
DettagliProprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari
roprieta dei Linguaggi Regolari Pumping Lemma. Ogni linguaggio regolare soddisfa una proprieta ben nota, il pumping lemma. Questa tecnica fornisce uno strumento utile per dimostrare che un linguaggio non
Dettaglia cura di Luca Cabibbo e Walter Didimo
a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 automi a pila automi a pila e grammatiche non contestuali notazioni sul livello degli esercizi: (*)
DettagliNote del corso di Calcolabilità e Linguaggi Formali - Lezione 3
Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3 Alberto Carraro 26 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a a pila deterministici e
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere
DettagliLinguaggi regolari e automi a stati finiti
utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file
DettagliMacchine di TURING. Alan Mathison Turing ( )
Macchine di TURING Alan Mathison Turing (1912 1954) Macchine di TURING Alan Mathison Turing (1912 1954) matematico, logico e crittanalista britannico, considerato uno dei padri dell informatica e uno dei
Dettaglicontrollo stringa a a b a b b c c b a b x y z pila di memoria
Gli automi a pila Dagli automi finiti iti agli automi a pila Possiamo ottenere un automa a pila a partire da un automa finito (così come l abbiamo definito in precedenza), attraverso l introduzione di
DettagliLinguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto
rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora una classe piu ampia di linguaggi, i Linguaggi Liberi da Contesto (CFL) i CFL sono stati
DettagliEspressioni regolari
spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.
DettagliAUTOMI A PILA. M.P. Schutzenberger
UTOMI PIL Introdotti da. G. Oettinger in utomatic Syntactic nalysis and the pushdown store Proc. Symp. pplied Math., 1961 e da M.P. Schutzenberger in Context free languages and pushdown automata Information
DettagliConcetti di base sugli automi e sui linguaggi formali
Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere
Dettagli7. Automi a Pila e Grammatiche Libere
(fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari 20 aprile 2016 1 Automi a Pila Definizione Descrizioni Istantanee Condizioni di Accettazione per PDA Esempi 2 Teorema delle
DettagliAniello Murano Automi e Pushdown
Aniello Murano Automi e Pushdown 2 Lezione n. Parole chiave: Automi e PDA Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Calcolabilità, complessità e macchine computazionali
DettagliEsempio stringhe palindrome 1
Esempio stringhe palindrome 1 Automa per il riconoscimento del linguaggio L = {w c w R } A = < {s,f}, {a,b,c}, {a,b},!, s, { f } > con! che contiene le transizioni: 1. (( s, a, " ), (s, a)! [ push a] 2.
DettagliAutoma deterministico con prospezione 1. < {q}, Σ, Σ V, δ, q, S, Φ > δ(a, X) = α R. se a Gui(X α) senza spostamento della testina.
Automa deterministico con prospezione 1 < {q}, Σ, Σ V, δ, q, S, Φ > δ(a, X) = α R δ(a, a) = ε se a Gui(X α) senza spostamento della testina con spostamento della testina Grammatica 1S ( S ) 2S [ S ] 3S
DettagliInformatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza
Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere
DettagliProprieta dei Linguaggi regolari
Proprieta dei Linguaggi regolari Pumping Lemma. Ogni linguaggio regolare soddisfa il pumping lemma. Se qualcuno vi presenta un falso linguaggio regolare, l uso del pumping lemma mostrera una contraddizione.
DettagliNote del corso di Calcolabilità e Linguaggi Formali - Lezione 2
Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2 Alberto Carraro 12 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a stati finiti deterministici
DettagliDispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini
Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini 04 Giugno 2014 Indice 0.1 Automi.................................
DettagliForma Normale di Chomsky
2. Eliminazione delle produzioni unitarie Forma Normale di Chomsky Una produzione si dice unitaria se è della forma A! B. Le produzioni unitarie in pratica consistono in una ridenominazione di variabili,
DettagliMacchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
DettagliITLCC 2006/10/6 19:09 page 7 #3
ITLCC 2006/10/6 19:09 page 7 #3 Capitolo 2 Macchine di Turing SOMMARIO In questo capitolo introdurremo il modello di calcolo proposto dal logico matematico inglese Alan Turing, in un suo famoso articolo
DettagliForme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach
Forme Normali A partire da una grammatica Context-free G è sempre possibile costruire una grammatica equivalente G ovvero L(G) = L(G ) che abbiano le produzioni in forme particolari, dette forme normali.
DettagliSui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm
Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemma N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Teorema di Kleene 2 3 o 1 o 3 o 8 Teorema di Kleene Vale la seguente equivalenza: L 3 L FSL L REG Dimostrazione.
DettagliEquivalenza e minimizzazione di automi. Equivalenza e minimizzazione di automi
tati equivalenti Sia A = (Q,Σ,δ,q,F) un DFA, e {p,q} Q. Definiamo p q w Σ : ˆδ(p,w) F se e solo se ˆδ(q,w) F Se p q diciamo che p e q sono equivalenti Se p q diciamo che p e q sono distinguibili In altre
DettagliCapitolo 5: Macchine di Turing e calcolabilitá secondo Turing
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo
DettagliEsercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari
Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}
DettagliLinguaggi e Traduttori: Analisi lessicale
Linguaggi e Traduttori: Analisi lessicale Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-La) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova
DettagliCorso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Automi. Giacomo PISCITELLI
Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Automi Giacomo PISCITELLI Generalità sugli Automi Automi In informatica teorica e in matematica discreta,
DettagliCapitolo 5: Macchine di Turing e calcolabilitá secondo Turing
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo
DettagliMacchine di Turing, problemi ricorsivi e ricorsivamente enumerabili
Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili roblemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa quello che ci aspettiamo. E facile
DettagliLINGUAGGI CONTEXT FREE. Lezione Lezione
LINGUAGGI CONTEXT FREE Lezione 25-11-2010 Lezione 30-11-2010 2 INTRODUZIONE GERARCHIA DI CHOMSKY 3 4 DEFINIZIONE DEI LINGUAGGI CONTEXT FREE LINGUAGGI CF I linguaggi di tipo 2 sono detti context free (CF)
DettagliLa tesi di Church-Turing
ITLCC 2006/11/12 21:06 page 79 #3 Capitolo 5 La tesi di Church-Turing SOMMARIO Sebbene il concetto di algoritmo abbia avuto una lunga storia nel campo della matematica, il concetto formale di algoritmo
DettagliCostruzione di espressioni regolari 4
ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:
DettagliFondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da:
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Automi Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli Studi di Milano
DettagliProgamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP
Progamma sintetico Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Un problema classico Un uomo viaggia con un lupo, una pecora
DettagliQuiz sui linguaggi regolari
Fondamenti dell Informatica 1 semestre Quiz sui linguaggi regolari Prof. Giorgio Gambosi a.a. 2016-2017 Problema 1: Data l espressione regolare a, definita su {a, b}, descrivere il linguaggio corrispondente
DettagliUniversità degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni
Università degli Studi di Udine Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni 1 Automi e Linguaggi 1. Sia dato p N, p > 0 dimostri che il linguaggio è regolare. L p = { a 0 a 1... a
DettagliProprietà dei linguaggi non contestuali
Proprietà dei linguaggi non contestuali Argomenti della lezione Pumping lemma per i linguaggi non contestuali Proprietà di chiusura Argomenti della lezione Grammatiche non contestuali in forma ridotta
DettagliEspressioni regolari. Espressioni regolari
spressioni regolari Un FA (NFA o DFA) e un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere un linguaggio regolare. Esempio:
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliMacchina di Turing Universale
Informatica Teorica 2010/2011 M.Di Ianni Macchina di Turing Universale Vogliamo definire una macchina di Turing U che, presi in input la descrizione di una macchina di Turing ad un nastro T ed un input
DettagliAUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
DettagliFondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd
Fondamenti d Informatica: Le Macchine di Turing Barbara Re, Phd Agenda } Introdurremo } il formalismo delle Macchine di Turing nelle varie versioni } la nozione di calcolabilità e di decidibilità 2 La
DettagliCLASSE LIMITE DI UNA SUCCESSIONE DI NUMERI REALI C. MADERNA, G. MOLTENI, M. VIGNATI
CLASSE LIMITE DI UNA SUCCESSIONE DI NUMERI REALI C. MADERNA, G. MOLTENI, M. VIGNATI Consideriamo l insieme R = R {, + } ottenuto aggiungendo all insieme dei numeri reali i simboli e +. Introduciamo in
DettagliAutomi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/55
Automi Rosario Culmone, Luca Tesei 20/10/2009 UNICAM - p. 1/55 Storia Dal latino automatus "che si muove da sé" Macchine o dispositivi reali o ipoteticamente realizzabili, i quali siano in grado di eseguire
DettagliAniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale
Aniello Murano Classe dei problemi NP 13 Lezione n. Parole chiave: Classe NP Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduzione alla lezione Nella lezione
DettagliEsercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16
Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana - 015/16 Esercizio 1 Per quali valori n Z \ {0} l espressione è un numero intero positivo? (n + 5)(n + 6) 6n Soluzione. Il problema
DettagliLinguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice
l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre
DettagliAlcuni Teoremi sulle funzioni continue e uniforme continuità
Alcuni Teoremi sulle funzioni continue e uniforme continuità Teorema 0. Una funzione f(x) è continua in x 0 se e solo se per ogni sucessione {x n } dom(f) con x n x 0 dom(f), risulta f(x n ) f(x 0 ). (Non
DettagliPrincipio di composizione delle MT
Principio di composizione delle MT La definizioni date fanno riferimento a situazioni in cui la macchina sia capace di risolvere problemi singoli. E possibile far sì che macchine progettate per problemi
Dettagli1 Campi di spezzamento
1 Campi di spezzamento In ogni sezione viene dato un polinomio P (X) a coefficienti interi e si discute il grado di un suo campo di spezzamento su Q e sui campi F 2, F 3, F 5. 1.1 X 4 + X 2 + 1 Trovare
DettagliRISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine
RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale
DettagliPROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica G=(V n,v t
PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica Una grammatica permette di stabilire se una sequenza di simboli
DettagliLinguaggi e Traduttori: Analisi sintattica
Linguaggi e Traduttori: Analisi sintattica Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
DettagliEsercizi per il corso Matematica clea
Esercizi per il corso Matematica clea Daniele Ritelli anno accademico 008/009 Lezione : Numeri naturali e principio di induzione Esercizi svolti. Provare che + + + n. Provare che + + + n n(n + ) n(n +
DettagliCalcolare lo Span di un array di numeri
Calcolare lo Span di un array di numeri Altro esempio di come usare una pila come struttura dati ausiliaria per un algoritmo: Dato un array X, lo span S[i] di X[i] è il massimo numero di elementi consecutivi
DettagliDispensa 2. Data una grammatica context free esistono tre metodi diversi per costruirne la parsing table per un parser LR:
Dispensa 2 2.1 Costruzione Parsing Table LR: generalità Come tutti i parser tabellari predittivi, anche i parser LR possono essere applicati solo a parsing table senza conflitti (ossia entrate multiple)
DettagliEsercitazione 4 Algoritmi greedy
Esercitazione 4 Algoritmi greedy Problema 9 (es.2 appello 18/02/2016 modulo 2) Nel museo Tor VerLouvre c è un lungo corridoio rettilineo in cui sono esposti n quadri nelle posizioni 0 q 1 < q 2 < q 3
DettagliSommario Codifica dei dati Macchina Astratta Definizioni Esempi
Sommario Codifica dei dati Macchina Astratta Definizioni Esempi 1 2 Codifica dei dati È possibile introdurre la teoria della computabilità facendo riferimento ad algoritmi che elaborano numeri naturali
DettagliLinguaggi e Grammatiche Liberi da Contesto
N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 1 Linguaggi Liberi da Contesto 2 Grammatiche e Linguaggi Liberi da Contesto G = (X, V, S, P) è una grammatica
DettagliElezione di un leader in una rete ad anello
Elezione di un leader in una rete ad anello Corso di Algoritmi Distribuiti Prof. Roberto De Prisco Lezione n a cura di Rosanna Cassino e Sergio Di Martino Introduzione In questa lezione viene presentato
DettagliSCUOLA GALILEIANA DI STUDI SUPERIORI CLASSE DI SCIENZE NATURALI ESAME DI AMMISSIONE, PROVA DI MATEMATICA 13 SETTEMBRE 2011
1 SCUOLA GALILEIANA DI STUDI SUPERIORI CLASSE DI SCIENZE NATURALI ESAME DI AMMISSIONE, PROVA DI MATEMATICA 13 SETTEMBRE 011 Problema 1. Sia Z l insieme dei numeri interi. a) Sia F 100 l insieme delle funzioni
DettagliLinguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Grammatiche
DettagliLinguaggi formali e compilazione
Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2014/2015 Linguaggi formali e compilazione sul corso Sito web: http://algogroup.unimore.it/people/mauro/dida/2014-2015 / Ricevimento:
DettagliLe grammatiche formali
Le grammatiche formali Il carattere generativo dei sistemi linguisticii i Consideriamo i la seguente frase: Un gatto rincorre il topo Non facciamo difficoltà a riconoscere che si tratta di una frase sintatticamente
DettagliLaboratorio di Python
Laboratorio di Python Alberi binari Lab15 12 Maggio 2017 Outline Correzione esercizi per oggi Alberi binari Teoria Esercizi Esercizi per casa Saluti Esercizio 1 per casa Scrivere una funzione palindroma(s)
DettagliPumping lemma per i linguaggi Context-free
Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=
DettagliReti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Reti Sequenziali
Reti Logiche Prof. B. Buttarazzi A.A. 29/2 Reti Sequenziali Sommario Analisi di Reti Sequenziali Sintesi di Reti Sequenziali Esercizi 3/6/2 Corso di Reti Logiche 29/ 2 Analisi di Reti Sequenziali Passare
DettagliProprietà dei linguaggi regolari
Proprietà dei linguaggi regolari Argomenti della lezione Relazione tra automi, grammatiche ed espressioni regolari Pumping lemma per i linguaggi regolari Equivalenza di automi a stati finiti Le seguenti
DettagliLinguaggi formali e compilazione
Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2015/2016 Linguaggi formali e compilazione sul corso Sito web: http://algogroup.unimore.it/people/mauro/dida/2015-2016 / Ricevimento:
DettagliScope, Memoria e Tabella dei Simboli
Scope, Memoria e Tabella dei Simboli La tabella dei simboli è uno strumento fondamentale attraverso il quale interpreti e compilatori implementano la traduzione da un programma scritto in un linguaggio
Dettagli11. Misure con segno.
11. Misure con segno. 11.1. Misure con segno. Sia Ω un insieme non vuoto e sia A una σ-algebra in Ω. Definizione 11.1.1. (Misura con segno). Si chiama misura con segno su A ogni funzione ϕ : A R verificante
DettagliProblemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)
Problemi e algoritmi Il che cosa e il come Il che cosa ed il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come
DettagliMetodo LALR. Tabelle LALR. Metodo LALR. Idea. Idea. Idea. Costruzione delle tabelle LALR
Metodo LALR Tabelle LALR Costruzione delle tabelle LALR Introduciamo l ultimo metodo di costruzione di tabelle per il parsing LR Nome: lookahead-lr abbreviato in LALR Questo metodo è usato spesso dato
DettagliProblemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come
Problemi e algoritmi Il che cosa e il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come effettuare un calcolo
DettagliSvolgimento del compitino di Algebra 2 del 17/11/2014 (Tema A). 1. (a) Provare che G/Z(G) è isomorfo a un sottogruppo del gruppo degli
Svolgimento del compitino di Algebra 2 del 17/11/2014 (Tema A). 1. (a) Provare che G/Z(G) è isomorfo a un sottogruppo del gruppo degli automorfismi di G. (b) Provare che se G/Z(G) è ciclico allora G è
DettagliEspressioni Regolari
Espressioni Regolari Le espressioni regolari sono costituite dalle stringhe sull alfabeto Σ = Σ {+,,*,(,),φ} ottenute secondo le seguenti regole: 1. φ e ciascun membro di Σ sono Epressioni Regolari 2.
DettagliParser Bottom UP. Giuseppe Morelli
Parser Bottom UP Giuseppe Morelli Parser Bottom UP Un parser Bottom Up lavora costruendo il corrispondente albero di parsing per una data stringa di input partendo dalle foglie (bottom) e risalendo via
Dettaglimisura. Adesso, ad un arbitrario punto P dello spazio associamo una terna di numeri reali x
4. Geometria di R 3. Questo paragrafo è molto simile al paragrafo : tratta infatti delle proprietà geometriche elementari dello spazio R 3. Per assegnare delle coordinate nello spazio, fissiamo innanzitutto
DettagliCompressione Dati. Teorema codifica sorgente: Entropia fornisce un limite sia inferiore che superiore al numero di bit per simbolo sorgente.. p.
Compressione Dati Teorema codifica sorgente: Entropia fornisce un limite sia inferiore che superiore al numero di bit per simbolo sorgente.. p.1/21 Compressione Dati Teorema codifica sorgente: Entropia
DettagliMassimo limite e minimo limite di una funzione
Massimo limite e minimo limite di una funzione Sia f : A R una funzione, e sia p DA). Per ogni r > 0, l insieme ) E f p r) = { fx) x A I r p) \ {p} } è non vuoto; inoltre E f p r ) E f p r ) se 0 < r r.
DettagliAutomi e Linguaggi Formali. Cambiamenti di orario. Altre informazioni utili. Motivazione. Anno accademico
Automi e Linguaggi Formali Anno accademico 5-6 Docente: Francesca Rossi E-mail: frossi@math.unipd.it Orario: Lunedi 5:3 7:3, LUM 5 Venerdi 3:3 6:3, LUM 5 Cambiamenti di orario non si fara lezione Venerdi
DettagliComplementi ed Esercizi di Informatica Teorica II
Complementi ed Esercizi di Informatica Teorica II Vincenzo Bonifaci 21 maggio 2008 4 Problemi di ottimizzazione: il Bin Packing Il problema bin packing è il seguente: dato un insieme di n oggetti di dimensioni
DettagliOperazioni elementari e riduzione
Matrici e sistemi Operazioni elementari Riduzioni di matrici L algoritmo di riduzione 2 2006 Politecnico di Torino 1 Operazioni elementari per righe Sia A M m,n. Introduciamo tre tipi di operazioni che
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base
Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T una stringa arbitraria di lunghezza n 1 su un alfabeto Σ. È sempre possibile
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliFunzioni reali di variabile reale
Funzioni reali di variabile reale Lezione per Studenti di Agraria Università di Bologna (Università di Bologna) Funzioni reali di variabile reale 1 / 50 Funzioni Definizione Sia A un sottoinsieme di R.
DettagliCenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)
Cenni di programmazione ricorsiva Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Corso di Laurea in Informatica Università di Pisa A.A. 2009/10 R. Barbuti, P. Mancarella Indice
DettagliVerifica di programmi
Verifica di programmi Informalmente, un programma è corretto se l output prodotto è quello atteso rispetto all input. La correttezza dei programmi può essere espressa mediante formule per la correttezza
DettagliParole note, nuovi significati: linguaggio, determinismo e infinito
Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico
DettagliDAI NUMERI NATURALI AI NUMERI RAZIONALI
DAI NUMERI NATURALI AI NUMERI RAZIONALI 1. L insieme dei numeri naturali Nel sistema assiomatico ZF, l Assioma dell infinito stabilisce che: Esiste un insieme A, i cui elementi sono insiemi e tale che
Dettagli