Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto"

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) 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

Dettagli

Automi a pila. Automi a pila

Automi 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

Dettagli

Equivalenza di PDA e CFG. Equivalenza di PDA e CFG

Equivalenza 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

Dettagli

Linguaggi regolari e automi a stati finiti. Linguaggi regolari e automi a stati finiti

Linguaggi 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

Dettagli

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Ma 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?

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi 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

Dettagli

Proprieta dei linguaggi liberi da contesto. Proprieta dei linguaggi liberi da contesto

Proprieta 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

Dettagli

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari

Proprieta 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

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a 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: (*)

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3

Note 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

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi 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

Dettagli

Linguaggi 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

Dettagli

Macchine di TURING. Alan Mathison Turing ( )

Macchine 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

Dettagli

controllo stringa a a b a b b c c b a b x y z pila di memoria

controllo 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

Dettagli

Linguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto

Linguaggi 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

Dettagli

Espressioni regolari

Espressioni 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.

Dettagli

AUTOMI A PILA. M.P. Schutzenberger

AUTOMI 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

Dettagli

Concetti di base sugli automi e sui linguaggi formali

Concetti 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

Dettagli

7. Automi a Pila e Grammatiche Libere

7. 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

Dettagli

Aniello Murano Automi e Pushdown

Aniello 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

Dettagli

Esempio stringhe palindrome 1

Esempio 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.

Dettagli

Automa 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. 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

Dettagli

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica 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

Dettagli

Proprieta dei Linguaggi regolari

Proprieta 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.

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2

Note 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

Dettagli

Dispense 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 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.................................

Dettagli

Forma Normale di Chomsky

Forma 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,

Dettagli

Macchine 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, 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,

Dettagli

ITLCC 2006/10/6 19:09 page 7 #3

ITLCC 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

Dettagli

Forme 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. 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.

Dettagli

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm

Sui 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.

Dettagli

Equivalenza e minimizzazione di automi. Equivalenza e minimizzazione di automi

Equivalenza 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

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 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

Dettagli

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Esercizi 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}

Dettagli

Linguaggi e Traduttori: Analisi lessicale

Linguaggi 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

Dettagli

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Automi. Giacomo PISCITELLI

Corso 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,

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 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

Dettagli

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

Macchine 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

Dettagli

LINGUAGGI CONTEXT FREE. Lezione Lezione

LINGUAGGI 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)

Dettagli

La tesi di Church-Turing

La 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

Dettagli

Costruzione di espressioni regolari 4

Costruzione 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:

Dettagli

Fondamenti 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. 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

Dettagli

Progamma 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 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

Dettagli

Quiz sui linguaggi regolari

Quiz 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

Dettagli

Università degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni

Università 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

Dettagli

Proprietà dei linguaggi non contestuali

Proprietà 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

Dettagli

Espressioni regolari. Espressioni regolari

Espressioni 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:

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi 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

Dettagli

Macchina di Turing Universale

Macchina 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

Dettagli

AUTOMA A STATI FINITI

AUTOMA 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

Dettagli

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd

Fondamenti 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

Dettagli

CLASSE 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 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

Dettagli

Automi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/55

Automi. 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

Dettagli

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale

Aniello 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

Dettagli

Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16

Esercizi 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

Dettagli

Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice

Linguaggio 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

Dettagli

Alcuni Teoremi sulle funzioni continue e uniforme continuità

Alcuni 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

Dettagli

Principio di composizione delle MT

Principio 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

Dettagli

1 Campi di spezzamento

1 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

Dettagli

RISOLUZIONE 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 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

Dettagli

PROLOG 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 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

Dettagli

Linguaggi e Traduttori: Analisi sintattica

Linguaggi 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

Dettagli

La codifica digitale

La 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

Dettagli

Esercizi per il corso Matematica clea

Esercizi 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 +

Dettagli

Calcolare lo Span di un array di numeri

Calcolare 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

Dettagli

Dispensa 2. Data una grammatica context free esistono tre metodi diversi per costruirne la parsing table per un parser LR:

Dispensa 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)

Dettagli

Esercitazione 4 Algoritmi greedy

Esercitazione 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

Dettagli

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi

Sommario 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

Dettagli

Linguaggi e Grammatiche Liberi da Contesto

Linguaggi 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

Dettagli

Elezione di un leader in una rete ad anello

Elezione 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

Dettagli

SCUOLA GALILEIANA DI STUDI SUPERIORI CLASSE DI SCIENZE NATURALI ESAME DI AMMISSIONE, PROVA DI MATEMATICA 13 SETTEMBRE 2011

SCUOLA 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

Dettagli

Linguaggi 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 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

Dettagli

Linguaggi formali e compilazione

Linguaggi 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:

Dettagli

Le grammatiche formali

Le 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

Dettagli

Laboratorio di Python

Laboratorio 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)

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping 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=

Dettagli

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Reti Sequenziali

Reti 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

Dettagli

Proprietà dei linguaggi regolari

Proprietà 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

Dettagli

Linguaggi formali e compilazione

Linguaggi 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:

Dettagli

Scope, Memoria e Tabella dei Simboli

Scope, 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

Dettagli

11. Misure con segno.

11. 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

Dettagli

Problemi 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. 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

Dettagli

Metodo LALR. Tabelle LALR. Metodo LALR. Idea. Idea. Idea. Costruzione delle tabelle LALR

Metodo 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

Dettagli

Problemi 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 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

Dettagli

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

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 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 è

Dettagli

Espressioni Regolari

Espressioni 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.

Dettagli

Parser Bottom UP. Giuseppe Morelli

Parser 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

Dettagli

misura. Adesso, ad un arbitrario punto P dello spazio associamo una terna di numeri reali x

misura. 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

Dettagli

Compressione 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. 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

Dettagli

Massimo limite e minimo limite di una funzione

Massimo 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.

Dettagli

Automi e Linguaggi Formali. Cambiamenti di orario. Altre informazioni utili. Motivazione. Anno accademico

Automi 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

Dettagli

Complementi ed Esercizi di Informatica Teorica II

Complementi 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

Dettagli

Operazioni elementari e riduzione

Operazioni 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

Dettagli

Dati 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 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

Dettagli

LA METAFORA DELL UFFICIO

LA 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

Dettagli

Funzioni reali di variabile reale

Funzioni 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.

Dettagli

Cenni 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) 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

Dettagli

Verifica di programmi

Verifica 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

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole 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

Dettagli

DAI NUMERI NATURALI AI NUMERI RAZIONALI

DAI 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