a cura di Luca Cabibbo e Walter Didimo
|
|
- Serafina Perrone
- 6 anni fa
- Visualizzazioni
Transcript
1 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: (*) facile, (**) non difficile (***) media complessità, (****) difficile, (*****) quasi impossibile Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 2
2 automa a pila non deterministico (PDA) : A = <, Γ, Z 0, Q, q 0, F, δ > dove èl alfabeto (finito) di input Γ èl alfabeto (finito) dei simboli della pila Z 0 èil simbolo di pila iniziale Q è un insieme (finito e non vuoto) di stati q 0 Q è lo stato iniziale F Q è l insieme degli stati finali δ : Q ( {ε}) Γ P(Q Γ*) è la funzione di transizione; la transizione δ(q, a, A) <q,γ> indica che: dallo stato q, leggendo a (che può anche essere ε) dalla stringa di input e A come elemento affiorante dalla pila, si passa allo stato q e si inserisce γ al posto di A in pila Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 3 un automa a pila è deterministico se per ogni stato q, simbolo di input a e simbolo di pila A, riesce: δ(q, a, A) + δ(q, ε, A) 1 configurazione (istantanea): <q, x, γ>, dove q è lo stato corrente x è la stringa di input ancora da leggere γ è la stringa ancora presente in pila (il primo simbolo di γ è quello affiorante dalla pila) transizione tra configurazioni: <q, x, γ> <q, x, γ > x = ax, γ = Aα, γ = βα, <q, β> δ(q, a, A) oppure x = x, γ = Aα, γ = βα, <q, β> δ(q, ε, A) computazione: chiusura transitiva e riflessiva * di Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 4
3 definizioni di accettazione: accettazione per pila vuota: una stringa x è accettata da un PDA al termine della computazione su x la pila è vuota accettazione per stato finale: una stringa x è accettata da un PDA al termine della computazione su x il PDA è su uno stato finale linguaggio riconosciuto da un PDA: insieme delle stringhe accettate dal PDA teorema: i linguaggi riconosciuti dai PDA che accettano per pila vuota sono tutti e soli i linguaggi riconosciuti dai PDA che accettano per stato finale (equivalenza dei linguaggi nelle due definizioni) Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 5 Esercizio 1(**) definire un automa a pila per il linguaggio non contestuale L = {a n b n : n 1}. accettazione per pila vuota = {a,b}, Γ={Z, A}, Z 0 = Z, Q ={q 0, q 1 } δ(q 0, a, Z) = {<q 0, A>} δ(q 0, a, A) = {<q 0, AA>} δ(q 0, b, A) = {<q 1, ε >} δ(q 1, b, A) = {<q 1, ε >} az A, aa AA q 0 q 1 Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 6
4 computazione sulla stringa aaabbb <q 0, aaabbb, Z> <q 0, aabbb, A> <q 0, abbb, AA> <q 0, bbb, AAA> <q 1, bb, AA> <q 1, b, A> <q 1, ε, ε> accettazione per stato finale = {a,b}, Γ={Z, A}, Z 0 = Z, Q ={q 0, q 1, q F }, F = {q F } δ(q 0, a, Z) = {<q 0, AZ>} δ(q 0, a, A) = {<q 0, AA>} δ(q 0, b, A) = {<q 1, ε >} δ(q 1, b, A) = {<q 1, ε >} δ(q 1, ε, Z) = {<q F, Z>} domanda: come si può modificare l automa affinché accetti contemporaneamente per pila vuota e per stato finale? Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 7 Esercizio 2(***) definire un automa a pila per il linguaggio non contestuale L = {a n b 2n : n 1}. accettazione per pila vuota δ(q 0, a, Z) = {<q 0, AA>} δ(q 0, a, A) = {<q 0, AAA>} δ(q 0, b, A) = {<q 1, ε >} δ(q 1, b, A) = {<q 1, ε >} az AA, aa AAA q 0 q 1 Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 8
5 soluzione alternativa con accettazione per pila vuota δ(q 0, a, Z) = {<q 0, A>} δ(q 0, a, A) = {<q 0, AA>} δ(q 0, b, A) = {<q 1, A>} δ(q 1, b, A) = {<q 2, ε>} δ(q 2, b, A) = {<q 1, A>} az A, aa AA ba A q 0 q 1 ba A q 2 Esercizio 3(***) definire un automa a pila per il linguaggio non contestuale L = {a n b m : m n 1}. Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 9 accettazione per pila vuota (e stato finale) δ(q 0, a, Z) = {<q 0, AZ>} δ(q 0, a, A) = {<q 0, AA>} δ(q 0, b, A) = {<q 1, ε>} δ(q 1, b, A) = {<q 1, ε>} δ(q 1, b, Z) = {<q 1, Z>} δ(q 1, ε, Z) = {<q F, ε>} az AZ, aa AA q 0 q 1, bz Z εz ε q F Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 10
6 albero di computazione per la stringa abb <q 0, abb, Z> <q 0, bb, AZ> <q 1, b, Z> δ(q 1, b, Z) δ(q 1, ε, Z) <q 1, ε, Z> <q F, b, ε> non accettante <q F, ε, ε> accettata sia per stato finale che per pila vuota Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 11 Esercizio 4(***) definire un automa a pila per il linguaggio non contestuale L = {a n b m : n m 1}. accettazione per stato finale δ(q 0, a, Z) = {<q 0, AZ>} δ(q 0, a, A) = {<q 0, AA>} δ(q 0, b, A) = {<q 1, ε >} δ(q 1, b, A) = {<q 1, ε >} δ(q 1, ε, A) = {<q F, ε >} δ(q 1, ε, Z) = {<q F, ε>} az AZ, aa AA q 0 q 1 εz ε εa ε q F Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 12
7 accettazione per pila vuota δ(q 0, a, Z) = {<q 0, AZ>} δ(q 0, b, A) = {<q 1, ε>} δ(q 1, b, A) = {<q 1, ε>} δ(q 0, a, A) = {<q 0, AA>, <q 0, A>} δ(q 1, ε, Z) = {<q 1, ε>} az A, aa AA aa A q 0 q 1 εz ε Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 13 albero di computazione per la stringa aab <q 0, aab, Z> <q 0, ab, AZ> <q 0, b, AAZ> <q 0, b, AZ> non accettata <q 1, ε, AZ> <q 1, ε, AZ> <q 1, ε, Z> <q 1, ε, ε> accettata per pila vuota Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 14
8 Esercizio 5(***) definire un automa a pila per il linguaggio non contestuale L = {a n b m c k : n,m,k 1 ed n=m o n=k}. accettazione per pila vuota e stato finale δ(q 0, a, Z) = {<q 0, AZ>} δ(q 0, a, A) = {<q 0, AA>} conta le a δ(q 0, b, A) = {<q 1, ε>, <q 2, A>} crea due rami: (n=m) o (n=k) δ(q 1, b, A) = {<q 1, ε >} δ(q 1, c, Z) = {<q 3, Z>} δ(q 3, c, Z) = {<q 3, Z>} δ(q 3, ε, Z) = {<q F, ε>} ramo n=m δ(q 2, b, A) = {<q 2, A>} δ(q 2, c, A) = {<q 4, ε>} ramo n=k δ(q 4, c, A) = {<q 4, ε>} δ(q 4, ε, Z) = {<q F, ε>} Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 15 cz Z cz Z q 1 q 3 εz ε az AZ, aa AA q 0 ba A q 2 ca ε q 4 εz ε q F ba A ca ε Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 16
9 Esercizio 6(***) definire un automa a pila per il linguaggio non contestuale L = {a n b m a m b n : n,m 1}. accettazione per pila vuota e stato finale δ(q 0, a, Z) = {<q 0, AZ>} δ(q 0, a, A) = {<q 0, AA>} δ(q 0, b, A) = {<q 1, BA>} δ(q 1, b, B) = {<q 1, BB>} δ(q 1, a, B) = {<q 2, ε>} δ(q 2, a, B) = {<q 2, ε>} δ(q 2, b, A) = {<q 3, ε>} δ(q 3, b, A) = {<q 3, ε>} δ(q 3, ε, Z) = {<q F, ε>} Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 17 bb BB ab ε svuota le B ba BA q 1 ab ε q 2 svuota le A εz ε az AZ, aa AA q 0 inserisce le B q 3 q F inserisce le A Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 18
10 Esercizio 7(***) definire un automa a pila per il linguaggio delle stringhe su {a,b} tali che #a = #b. accettazione per pila vuota e stato finale δ(q 0, a, Z) = {<q 0, AZ>} δ(q 0, b, Z) = {<q 0, BZ>} δ(q 0, a, A) = {<q 0, AA>} δ(q 0, b, B) = {<q 0, BB>} δ(q 0, a, B) = {<q 0, ε>} δ(q 0, b, A) = {<q 0, ε>} δ(q 0, ε, Z) = {<q F, ε>} osservazione nella pila non ci possono essere contemporaneamente delle A e delle B Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 19 Esercizio 8(***) definire un automa a pila per il linguaggio delle stringhe su {a,b,c} tali che #a = #b + #c. accettazione per pila vuota e stato finale δ(q 0, a, Z)={<q 0, AZ>}, δ(q 0, b, Z)={<q 0, BZ>}, δ(q 0, c, Z)={<q 0, BZ>} δ(q 0, a, A)={<q 0, AA>}, δ(q 0, b, B)={<q 0, BB>}, δ(q 0, c, B)={<q 0, BB>} δ(q 0, a, B)={<q 0, ε>}, δ(q 0, b, A)={<q 0, ε>}, δ(q 0, c, A)={<q 0, ε>} δ(q 0, ε, Z) = {<q F, ε>} Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 20
11 Esercizio 9(***) definire un automa a pila per ciascuno dei seguenti linguaggi non contestuali: L = {a n c m b n : n,m 1} L = {(ab) n (cd) n : n 1} L = stringhe su {a,b,c,d} tali che #a + #b = #c + #d Esercizio 10(**) mostrare l albero di computazione per la stringa aaabb nell automa dell Esercizio 4 Esercizio 11(**) mostrare l albero di computazione per la stringa aabcc nell automa dell Esercizio 5 Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 21 input : una grammatica non contestuale (CFG) G = < V T,V N, P, S > ouput : un PDA A = <, Γ, Z 0, Q, q 0, δ > che accetta per pila vuota ricavare una G = < V T,V N, P, S > in GNF equivalente a G ma che non genera ε = V T Γ = V N Z 0 = S Q = {q} e q 0 = q per ogni produzione A aγ introdurre δ(q, a, A) <q, γ> se G genera ε allora aggiungere lo stato q a Q, porre q 0 = q ed aggiungere le seguenti transizioni: δ(q, ε, Z 0 ) <q, ε> (per riconoscere ε) δ(q, ε, Z 0 ) <q, Z 0 > (per ricondursi alle transizioni su q) Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 22
12 Esercizio 12(***) definire un automa a pila non deterministico che riconosce il linguaggio generato dalla seguente grammatica non contestuale: S a S + S S * S (S) portiamo la grammatica in GNF portiamo in quasi CNF: S SPS SMS ASZ a P +, M *, A (, Z ) scegliamo l ordinamento S < P < M < A < Z Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 23 eliminiamo la ricursione sinistra su S: S ASZR ar ASZ a R PSR MSR PS MS P +, M *, A (, Z ) sostituiamo a ritroso e semplifichiamo S (SZR ar (SZ a R +SR *SR +S *S Z ) poniamo: = {a, +, *, (, )}, Γ = {S, R, Z}, Q = {q}, q 0 = q, Z 0 = S costruiamo l insieme delle transizioni: Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 24
13 δ(q, (, S) = {<q, SZR>, <q, SZ>} δ(q, a, S) = {<q, R>, <q, ε>} δ(q, +, R) = {<q, SR>, <q, S>} δ(q, *, R) = {<q, SR>, <q, S>} δ(q, ), Z) = {<q, ε>} Esercizio 13(***) definire un automa a pila non deterministico per la seguente grammatica G non contestuale: S ε [S] SS (L(G) è anche detto linguaggio delle parentesi bilanciate o Dyck 1 ) Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 25 consideriamo la grammatica equivalente a G ma che non genera la stringa vuota: S [S] SS [] scriviamo la grammatica in GNF: S [Z [SZ [ZR [SZR R [Z [SZ [ZR [SZR [ZRR [SZRR Z ] poniamo: = {[, ]}, Γ = {S, R, Z}, Q = {q, q }, q 0 = q, Z 0 = S costruiamo l insieme delle transizioni: δ(q, [, S) = {<q, Z>, <q, SZ>, <q, ZR>, <q, SZR>} δ(q, [, R) = {<q, Z>, <q, SZ>, <q, ZR>, <q, SZR>, <q, ZRR>, <q, SZRR>} δ(q, ], Z) = {<q, ε>} δ(q, ε, S) = {<q, ε>, <q, S>} Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 26
14 osservazione: esiste un PDA molto più semplice per il linguaggio definito dalla grammatica delle parentesi bilanciate S = simbolo di pila iniziale δ(q, ε, S) = {<q, ε>} δ(q, [, S) = {<q, AS>} δ(q, [, A) = {<q, AA>} δ(q, ], A) = {<q, ε>} la situazione nella pila all istante generico è così riassunta: - se l elemento affiorante è S allora c è un bilanciamento di parentesi - se l elemento affiorante è A allora ci sono più parentesi aperte Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 27 input : un PDA A = <, Γ, Z 0, Q, q 0, δ > che accetta per pila vuota ouput : una grammatica non contestuale (CFG) G = < V T,V N, P, S > V T = V N = {[paq] : p, q Q, A Γ} {S} l insieme P delle produzioni è il seguente: S [q 0 Z 0 q] q Q [paq] a <q, ε> δ(p, a, A) [paq m+1 ] a[q 1 B 1 q 2 ] [q 2 B 2 q 3 ]... [q m B m q m+1 ] su ogni possibile scelta di q 2,..., q m+1 Q <q 1, γ> δ(p, a, A) con γ = B 1... B m Esercizio 14(***) definire una grammatica non contestuale che genera il linguaggio riconosciuto dal seguente automa a pila non deterministico: Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 28
15 = {[, ]}, Γ = {T, A}, Q = {q 0 }, Z 0 = T δ(q 0, ε, T) = {<q 0, ε>} δ(q 0, [, T) = {<q 0, AT>} δ(q 0, [, A) = {<q 0, AA>} δ(q 0, ], A) = {<q 0, ε>} produzioni per l assioma: S [q 0 Tq 0 ] produzioni per δ(q 0, ε, T) = {<q 0, ε>}: [q 0 Tq 0 ] ε Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 29 produzioni per δ(q 0, ], A) = {<q 0, ε>}: [q 0 ] ] produzioni per δ(q 0, [, T) = {<q 0, AT>} [q 0 Tq 0 ] [ [q 0 ] [q 0 Tq 0 ] produzioni per δ(q 0, [, A) = {<q 0, AA>} [q 0 ] [ [q 0 ] [q 0 ] poiché q 0 è il solo stato dell automa, possiamo rinominare i non terminali al modo: [q 0 Tq 0 ] = T, [q 0 ] = A, e riscrivere dunque la grammatica come segue: S T (S = assioma) T ε [AT A ] [AA Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 30
16 Esercizio 15(***) definire una grammatica non contestuale corrispondente al seguente automa a pila non deterministico: = {a,b}, Γ = {Z, A}, Q = {q 0, q 1, q F }, Z 0 = Z δ(q 0, a, Z) = {<q 0, AZ>} δ(q 0, a, A) = {<q 0, A>, <q 0, AA>} δ(q 0, b, A) = {<q 1, ε>} δ(q 1, b, A) = {<q 1, ε>} δ(q 1, ε, Z) = {<q F, ε>} Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 31 produzioni per l assioma: S [q 0 Zq 0 ] [q 0 Zq 1 ] [q 0 Zq F ] produzioni per <q 0, AZ> δ(q 0, a, Z): [q 0 Zq 0 ] a[q 0 ] [q 0 Zq 0 ] [q 1 Zq 0 ] [q F Zq 0 ] [q 0 Zq 1 ] a[q 0 ] [q 0 Zq 1 ] [q 1 Zq 1 ] [q F Zq 1 ] [q 0 Zq F ] a[q 0 ] [q 0 Zq F ] [q 1 Zq F ] [q F Zq F ] produzioni per <q 0, A> δ(q 0, a, A): [q 0 ] a[q 0 ] [q 0 ] a[q 0 ] [q 0 ] a[q 0 ] produzioni per <q 0, AA> δ(q 0, a, A): [q 0 ] a[q 0 ] [q 0 ] [q 1 ] [q F ] [q 0 ] a[q 0 ] [q 0 ] [q 1 ] [q F ] [q 0 ] a[q 0 ] [q 0 ] [q 1 ] [q F ] Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 32
17 produzioni per <q 1, ε> δ(q 0, b, A): [q 0 ] b produzioni per <q 1, ε> δ(q 1, b, A): [q 1 ] b produzioni per <q F, ε> δ(q 1, ε, Z): [q 1 Zq F ] ε proviamo a semplificare: - rinominiamo ciascun non terminale al modo: [q i Aq j ] = A ij - l intera grammatica si riscrive dunque come segue: Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 33 S Z 00 Z 01 Z 0F Z 00 aa 00 Z 00 aa 01 Z 10 aa 0F Z F0 Z 01 aa 00 Z 01 aa 01 Z 11 aa 0F Z F1 Z 0F aa 00 Z 0F aa 01 Z 1F aa 0F Z FF A 00 aa 00 A 00 aa 01 A 10 aa 0F A F0 aa 00 A 01 aa 00 A 01 aa 01 A 11 aa 0F A F1 aa 01 b A 0F aa 00 A 0F aa 01 A 1F aa 0F A FF aa 0F A 11 b Z 1F ε i simboli fecondi sono: A 01,A 11,Z 1F,Z 0F,S eliminando dunque i simboli: Z 00, Z 01,A 00,A 0F la grammatica diventa Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 34
18 S Z 0F Z 0F aa 01 Z 1F A 01 aa 01 A 11 aa 01 b A 11 b Z 1F ε eliminando le ε-produzioni e poi le produzioni unitarie si ha: S aa 01 A 01 aa 01 A 11 aa 01 b A 11 b rinominiamo i non terminali al modo: A 01 =A, A 11 = B S aa A aab aa b B b Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 35
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
Dettagliacuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1
acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 richiami teorici sulle grammatiche di Chomsky esercizivari esercizi su grammatiche ed espressioni regolari
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)
Dettagliacuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1
acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 proprietà delle grammatiche non contestuali pumping lemma forme normali notazioni sul livello degli
DettagliQuiz sui linguaggi CF
Fondamenti dell Informatica 1 semestre Quiz sui linguaggi CF Prof. Giorgio Gambosi a.a. 2014-2015 Problema 1: Si consideri la seguente grammatica context free G, dove S, NP, V P, P P, A sono i simboli
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.
DettagliAutomi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto
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
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
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
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
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
DettagliInformatica Teorica. linguaggi non contestuali
Informatica Teorica linguaggi non contestuali di tipo 2 context free (CF) 1 linguaggi non contestuali molte frasi in linguaggio naturale hanno una struttura sintattica non contestuale esempio: soggetto
DettagliFondamenti d Informatica: lavoriamo con le grammatiche. Barbara Re, Phd
Fondamenti d Informatica: lavoriamo con le grammatiche Barbara Re, Phd Esercizio Grammatica e generazione stringhe Data una Grammatica ed una Stringa, verificare che la Stringa sia generata dalla Grammatica:
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
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.
DettagliDefinizione di Grammatica
Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla ( VN, VT, P, S ) dove: V N e l insieme dei simboli non
DettagliCorso di Linguaggi e Traduttori 1 AA GRAMMATICHE
Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla V, V, P S ( ) N T, dove: V N e l insieme dei simboli non
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 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
DettagliVerificare se una grammatica e LL(1) e costruirne la tabella di parsing. Verificare se una grammatica e LR(0) e costruirne la tabele ACTION e GOTO
ANALISI SINTATTICA TIPO 1: Data un linguaggio scrivere una grammatica che lo generi TIPO 2: Verificare se una grammatica non contestuale è ambigua TiPO 3: Verificare se una grammatica e LL(1) e costruirne
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
Dettagliacuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1
acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 macchine di Turing a nastro singolo macchine di Turing multinastro macchine di Turing trasduttrici
DettagliCorso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis
Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Capitolo 2 Grammatiche e Linguaggi Si ringraziano il Prof. Giovanni Semeraro e il Dott. Pasquale Lops per la concessione del
DettagliRICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI
PARTE I RICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI Linguaggi regolari Linguaggi non contestuali Automi 1 1.1 I LINGUAGGI IN INFORMATICA @ Presenti a vari livelli di applicazione linguaggi di
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.................................
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
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
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
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.
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
DettagliParte n.4 Linguaggi: Gerarchia ed Operazioni
Linguaggi di Programmazione Corso C Parte n.4 Linguaggi: Gerarchia ed Operazioni Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Gerarchia di Chomsky Sia
DettagliDefinire tramite una grammatica ad attributi il
1 ESERCIZI ESERCIZIO 1 Definire tramite una grammatica ad attributi il linguaggio L = {a n b n c n n 0} Implementare un analizzatore sintattico/ semantico a discesa ricorsiva Costruire le tabelle di analisi
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
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
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,
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?
DettagliEspressività e limitazioni delle grammatiche regolari
Espressività e limitazioni delle grammatiche regolari Vantaggi: Le grammatiche regolari consentono di esprimere una significativa classe di linguaggi: linguaggi con un numero di sequenze infinito grazie
DettagliFondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari
Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2004 2005 docente: tefano Ferrari 14.01.2005 del secondo compitino vers. D valutazioni
DettagliMODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI
MODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI Un linguaggio di programmazione è uno strumento per esprimere algoritmi in una forma adatta allo loro esecuzione da parte di un elaboratore La formulazione
DettagliNozioni Preliminari e Terminologia. Alfabeti Stringhe Linguaggi
Nozioni Preliminari e Terminologia Alfabeti Stringhe Linguaggi Insiemi Def. Un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { } Gli elementi sono inseriti tra
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
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
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,
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.
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
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=
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
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
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
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
DettagliGRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve
GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE Cosimo Laneve 1 argomenti 1. linguaggi di programmazione 2. definizione formale di insiemi infiniti 3. la grammatica e la notazione BNF 4. notazioni alternative
DettagliGrammatiche. Rosario Culmone, Luca Tesei. 20/11/2006 UNICAM - p. 1/49
Grammatiche Rosario Culmone, Luca Tesei 20/11/2006 UNICAM - p. 1/49 Grammatiche libere dal contesto Ogni linguaggio di programmazione ha delle regole che prescrivono la struttura sintattica dei programmi
Dettagli(2) se A A, allora A c A; (3) se {A n } A, allora +
1. Spazi di misura In questo paragrafo accenneremo alla nozione di spazio di misura. Definizione 1. Sia X un insieme non vuoto. Una famiglia A di sottoinsiemi di X è una σ-algebra se : (1) A; (2) se A
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
DettagliDispense del corso di Linguaggi Formali e Automi
Dispense del corso di Linguaggi Formali e Automi Marco Alfieri, Matteo Bianchi, Grazia D Aversa, Andrea Fumagalli, Emanuele Mornini, Dario Villa, Massimo Vitali 8 settembre 2002 Appunti tratti dalle lezioni
DettagliEspressioni regolari descrivono i linguaggi regolari. Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari.
Espressioni regolari descrivono i linguaggi regolari Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere
Dettagli3/10/ Divisibilità e massimo comun divisore
MCD in N e Polinomi 3/10/2013 1 Divisibilità e massimo comun divisore 1.1 Divisibilità in N In questa sezione introdurremo il concetto di divisibilità e di massimo comun divisore di due numeri naturali
DettagliCAPITOLO SECONDO APPLICAZIONI TRA INSIEMI E RELAZIONI DI EQUIVALENZA
CAPITOLO SECONDO APPLICAZIONI TRA INSIEMI E RELAZIONI DI EQUIVALENZA 1 Applicazioni tra insiemi Siano A, insiemi. Una corrispondenza tra A e è un qualsiasi sottoinsieme del prodotto cartesiano A ; Se D
DettagliLINGUAGGI E GRAMMATICHE FORMALI
LINGUAGGI E GRAMMATICHE FORMALI I LINGUAGGI IN INFORMATICA Presenti in tutte le applicazioni Fondamentali nel software di sistema Paradigmatici nella teoria molti importanti problemi teorici son riconducibili
DettagliL intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.
ANALISI SINTATTICA Data un linguaggio scrivere una grammatica che lo generi ESERCIZIO 1 Definire una grammatica per il linguaggio L = {ww w appartiene a (a, b)*} ESERCIZIO 2 Dato l alfabeto T=[0,1,2,3,4,5,6,7,8,9,/}
DettagliI metodi formali dell Analisi Lessicale: Le Espressioni Regolar
I metodi formali dell Analisi Lessicale: Le Espressioni Regolari (ER) N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Introduzione 2 3 4 5 Espressioni Regolari Dato un alfabeto finito X, una espressione regolare
DettagliReti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori
Reti Sequenziali Reti Sequenziali Corso di Architetture degli Elaboratori Caratteristiche 1 Caratteristiche delle reti sequenziali Reti combinatorie: il valore in uscita è funzione (con il ritardo indotto
DettagliPresentazioni di gruppi: generatori e relazioni
Presentazioni di gruppi: generatori e relazioni Note per il corso di Geometria 4 (relative alla parte dei 6 crediti) Milano, 2011-2012, M.Dedò N.B. Quanto segue si appoggia fortemente al testo [M] consigliato
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
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
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
DettagliPARALLELISMO TRA RETTA E PIANO SVILUPPATO SUL PARALLELISMO TRA PIANI
04.01.02. PARALLELISMO TRA RETTA E PIANO SVILUPPATO SUL PARALLELISMO TRA PIANI In aggiunta alla procedura già discussa ai punti precedenti e basata sul parallelismo tra la retta data ed una retta del piano,
DettagliGRAMMATICHE LIBERE DAL CONTESTO
GRAMMATICHE LIBERE DAL CONTESTO Una grammatica è, intuitivamente, un insieme di regole che permettono di generare un linguaggio. Un ruolo fondamentale tra le grammatiche è costituito dalle grammatiche
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:
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.
DettagliESERCIZI SULLE DISEQUAZIONI I
ESERCIZI SULLE DISEQUAZIONI I Risolvere le seguenti disequazioni: 1 1) { x < x + 1 4x + 4 x ) { x + 1 > x 4x x 10 ) x 4 x 5 4x + > ; 4) ; 5) x 1 x + 1 x + 1 0 ) x > x 0 7) x > 4x + 1; 8) 4 5 x 1 < 1 x
DettagliGrammatiche e Linguaggi Context-Free
rammatiche e Linguaggi Context-Free Def.: Una rammatica =(N,Σ,P,S) e detta context-free se ogni produzione in P e del ( ). tipo A α, con A N ed " # N $ % I linguaggi generati da una grammatica context-free
DettagliAppunti sulla teoria degli automi, dei linguaggi e della calcolabilità
Appunti sulla teoria degli automi, dei linguaggi e della calcolabilità Marco Liverani Ottobre 2005 1 Introduzione Alla base dell Informatica, a fondamento della teoria su cui viene costruita la cosiddetta
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:
DettagliCorso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. I linguaggi formali. Giacomo PISCITELLI
Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori I linguaggi formali Giacomo PISCITELLI Traduttori Un traduttore è un programma che effettua la traduzione
DettagliMacchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD
Macchine RAM API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD 2 Macchina RAM 3 Esercizio Si consideri il linguaggio definito da: L = wcw R w a, b } 1. Codificare un programma RAM per il riconoscimento
DettagliLA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE. Ivan Lanese
LA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE Ivan Lanese argomenti Grammatiche BNF Varianti: BNF + ε EBNF Remind: cos è una grammatica Una grammatica è uno strumento linguistico per definire insiemi di
DettagliGrammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione
Grammatiche Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Esempio dei numeri interi Si consideri il linguaggio
DettagliFondamenti di informatica Esercizi Svolti Macchine di Turing. Realizzati da: Roberto Quaranta Matr
Fondamenti di informatica Esercizi Svolti Macchine di Turing Realizzati da: Roberto Quaranta Matr. 449028 Macchina di Turing che calcola la funzione Max(x, y) Q= {q 0, q 1, q 2, q 3, q 4, q 5, q 6,q F
Dettagli10.2 EQUIVALENZA TRA ESPRESSIONI REGOLARI, GRAMMATICHE REGOLARI E AUTOMI
10.2 EQUIVALENZA TRA ESPRESSIONI REGOLARI, GRAMMATICHE REGOLARI E AUTOMI Sono computazionalmente più potenti gli ASF o gli ASFND? In altre parole, se con L(ASF) indichiamo la classe dei linguaggi riconoscibili
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,
DettagliGiovanna Carnovale. October 18, Divisibilità e massimo comun divisore
MCD in N e Polinomi Giovanna Carnovale October 18, 2011 1 Divisibilità e massimo comun divisore 1.1 Divisibilità in N In questa sezione introdurremo il concetto di divisibilità e di massimo comun divisore
DettagliElaborazione di File di Dati. Uso di semplici comandi Espressioni regolari AWK
Elaborazione di File di Dati Uso di semplici comandi Espressioni regolari AWK Sort sort [option] file1... filen Consente di ordinare, fondere o confrontare le linee dei file in input Ha tre modalità di
DettagliSTRUMENTI FORMALI PER L ANALISI LESSICALE SINTATTICA
Universtità degli Studi G. D Annunzio Chieti Pescara Facoltà di Economia Corso di Laurea in Economia Informatica Pescara TESINA DI LAUREA STRUMENTI FORMALI PER L ANALISI LESSICALE SINTATTICA DEI COMPILATORI
DettagliFondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a.
Fondamenti di Informatica Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. 2011-2012 Algoritmo L algoritmo è una sequenza finita di istruzioni, mediante le quali un qualunque operatore
DettagliAlgoritmi e Principi dell Informatica
Algoritmi e Principi dell Informatica Appello del 20 Febbraio 2012 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2h e 30 Chi deve sostenere solo il modulo di Informatica
DettagliPROLOG E ANALISI SINTATTICA DEI LINGUAGGI
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
DettagliANALISI MATEMATICA PER IL CdL IN INFORMATICA ESERCIZI SULLE DISEQUAZIONI
ANALISI MATEMATICA PER IL CdL IN INFORMATICA ESERCIZI SULLE DISEQUAZIONI Risolvere le seguenti disequazioni: ( 1 ) x < x + 1 1) 4x + 4 x ) x + 1 > x 4x x 10 ) x 4 x 5 4x + > ; 4) ; 5) 0; ) x 1 x + 1 x
DettagliSipser, Capitolo 0. Alfabeti, Stringhe, Linguaggi
Sipser, Capitolo 0 Alfabeti, Stringhe, Linguaggi Def. Un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { } Gli elementi sono inseriti tra le parentesi Insiemi
DettagliAutomi per il riconoscimento di linguaggi.
Automi per il riconoscimento di linguaggi. Un altro modo di caratterizzare un linguaggio formale e' quello di identificare l'automa di riconoscimento corrispondente. Un automa e', in generale, una macchina
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
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
Dettagli1 Relazione di congruenza in Z
1 Relazione di congruenza in Z Diamo ora un esempio importante di relazione di equivalenza: la relazione di congruenza modn in Z. Definizione 1 Sia X = Z, a,b Z ed n un intero n > 1. Si dice a congruo
DettagliALGEBRE DI BOOLE. (d) x, y X x y oppure y x.
ALGEBRE DI BOOLE Un insieme parzialmente ordinato è una coppia ordinata (X, ) dove X è un insieme non vuoto e " " è una relazione binaria definita su X tale che (a) x X x x (riflessività) (b) x, y, X se
DettagliMacchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F
Macchina di Turing Nastro di Input...!!! a b b! b a! testina!!... s r s t q i Unità di Controllo q j Q S / D / F P Definizione Formale Una macchina di Turing deterministica è una sestupla
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)
DettagliCorso di ALGEBRA (M-Z) INSIEMI PARZIALMENTE ORDINATI E RETICOLI
Corso di ALGEBRA (M-Z) 2013-14 INSIEMI PARZIALMENTE ORDINATI E RETICOLI Sia P un insieme non vuoto. Una relazione d ordine su P è una relazione riflessiva, antisimmetrica e transitiva. La coppia (P,) si
DettagliPrecorsi di matematica
Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono
DettagliIntorno al Lemma d Iterazione per Linguaggi Liberi dal Contesto
Intorno al Lemma d Iterazione per Linguaggi Liberi dal Contesto Gabriele Gullà Introduzione Nelle pagine che seguono tratterò, in forma sintetica e il più possibile autocontenuta, le principali proprietà
Dettagli