Grammatiche e Linguaggi Context-Free

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Grammatiche e Linguaggi Context-Free"

Transcript

1 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 si dicono linguaggi contextfree. Le grammatiche context-free si prestano bene a descrivere costrutti ricorsivi, come le strutture a blocchi dei linguaggi di programmazione. Esempio: <statement> <block> <block> begin <list_of_statements> end <list_of_statements> <statement>; <list_of_statements> ε. Esempio: E E + E E E E E E E \ E E (E) E id Def. : Una derivazione S " # 1 " # 2 "..." # n$1 " # n si dice leftmost (sinistra) se: "i =1,...,n #1 si ha $ i = ux% i e $ i+1 = u&% i, con u ' (,X ' N, X ) & Si dice rightmost (destra) se : "i =1,...,n #1 si ha $ i = % i Xu e $ i+1 = % i &u, con u ' (, X ' N, X ) & Nel primo caso si scrive : " i # " j (i < j). Nel secondo caso si scrive : " i # " j (i < j). L R ( ) in P ( ) in P Def. : Data una grammatica context-free =(N,Σ,P,S), un albero di derivazione Γ ( o di parsing) per e un albero Γ tale che: 1. ogni vertice e etichettato da un simbolo in N " #"{ $ }; 2. la radice e etichettata con S ; 3. ogni vertice interno e etichettato con A e se " 1,...," k sono I discendenti diretti di ν, in ordine da sinistra a destra, con etichette X 1,..., X k rispettivamente ( X i " N # $# {%}) allora A " X 1...X k deve essere una produzione in P; 4. se il vertice ν ha etichetta ε, allora ν e una foglia, ed e l unico discendente del proprio genitore. La parola che si ottiene leggendo le etichette delle foglie di un albero di derivazione Γ (da sinistra a destra) si dice prodotto di Γ.

2 Teorema: Sia =(N,Σ,P,S) una grammatica context-free. Allora S " # se e solo se c e un albero di derivazione per con prodotto α.in particolare c e una corrispondenza biunivoca tra gli alberi di derivazione e le derivazioni sinistre (derivazioni destre). Dim: (per induzione). Esempio: = { S, A}, { a,b},p,s S aas a A SbA SS ba ( ) S a 1 A S S b A a a 9 b a La derivazione leftmost corrispondente a quest albero e : S " aas " asbas " aabas " aabbas " aabbaa La derivazione rightmost corrispondente e : S " aas " aaa " asbaa " asbbaa " aabbaa

3 Semplificazione delle rammatiche Context-Free Ad ogni grammatica context-free corrisponde esattamente un linguaggio context-free. Viceversa un linguaggio context-free puo essere generato da infinite grammatiche context-free. Risulta quindi importante, per vari propositi, canonizzare una data grammatica contextfree. Alcune proprieta che possono essere imposte attraverso alcune semplici trasformazioni cono le seguenti: 1. Ogni variabile ed ogni terminale in compaiono effettivamente in qualche derivazione di una parola fatta solo di simboli terminali. 2. Non ci sono produzioni del tipo A B, con A e B variabili (produzioni unitarie). 3. Se la parola vuota ε non e derivabile, allora non c e alcuna produzione del tipo A ε (produzioni nulle). In particolare in questo caso si puo forzare che: a. Tutte le produzioni abbiano una delle due forme A BC, oppure A a, (con A,B,C N, a Σ) (Forma Normale di Chomsky) b. Tutte le produzioni abbiano la forma A aα, (con a Σ, A N, α N ) (Forma Normale di reibach). Eliminazione dei simboli inutili: Def.: Data una grammatica =(N,Σ,P,S), un simbolo X N Σ e detto utile se esiste una derivazione della forma: S " #X$ " w con #,$ % N & ' Altrimenti il simbolo X e detto inutile. ( ),w % ' Nota: Perche un simbolo X sia inutile non basta che valgano le due condizioni: 1. S " #X$ 2. X " w separatamente. La derivazione deve essere unica cioe S " #X$ " w con #,$ % ( N & '),w % '. Un simbolo X puo essere inutile per due ragioni: non esiste alcuna derivazione X " u,u # $ non esiste alcuna derivazione S " #X$ (cioe X e inaccessibile).

4 Lemma1: Data una grammatica =(N,Σ,P,S), con L una grammatica equivalente ' = ( N ',",P ',S)(cioe tale che L ' "A # N ' c e una parola w " # per cui A " w. Dim: Si consideri il seguente programma: 1. OLDN 2. NEWN {A : A w e in P per qualche w " # } 3. while OLDN NEWN do begin 4. OLDN NEWN ( ) " #, c e un metodo effettivo per trovare ( ) = L ( )) tale che ( ) } 5. NEWN OLDN {A : A α e in P per qualche " # $% OLDN End 6. N NEWN ( ) } 7. P { A : A α e in P e A N, " # $% N' ( ) 8. ' = N ',",P ',S L idea che sta sotto quest algoritmo e la seguente: ogni variabile A con produzione A w in P chiaramente appartiene ad N. Se A " X 1...X n e una produzione e per ogni i X i ho e un terminale oppure e gia stato piazzato in N, allora da A si puo ricavare certamente una stringa di terminali e quindi A N. Chiaramente (per induzione) se una variabile A e inserita in NEWN al passo 2 oppure al passo 5, allora A" w ( w # $ ). Viceversa, supponiamo che A" w w # $ ( ) e facciamo vedere che A viene introdotto in NEWN durante la computazione dell algoritmo precedente. Per induzione sulla lunghezza k della derivazione A" w ( w # $ ): Se k=1, allora A w e in P e quindi A e inserito in NEWN al passo2. Sia A " X...X 1 n " w una derivazione in k passi. Allora possiamo scrivere w = w 1...w n ove X i " w i (in meno di k passi). Per ipotesi induttiva, tutti I simboli X i che sono variabili verranno inseriti in NEWN. Quindi, non appena l ultima delle variabili X i e inserita in NEWN, si ha NEWN OLDN e quindi A puo essere inserita in NEWN al successivo passo 5 (se gia non e presente in NEWN). Poiche e sottogrammatica di, chiaramente L ' ( ). ( ) " L

5 Viceversa, sia w " L( ). Se per assurdo w " L ' ( ) allora nella derivazione S " w vi sarebbe una produzione con qualche variabile in N\N derivante una stringa di terminali, il che contraddice la dimostrazione precedente. Lemma2: Data una grammatica context-free =(N,Σ,P,S) si puo effettivamente trovare una grammatica equivalente '' = (N ''," '',P '',S) tale che "X # N '' $ % '' S" #X$ con #,$ % N '' & ' '' '' ( ). ( ) &una derivazione Dim: L insieme N '' " # '' dei simboli che possono comparire in una forma sentenziale di puo essere costruito nella seguente maniera iterativa: Si ponga S in N ''. Se A e in N '' e A " # 1 # 2... # n, allora aggiungo a N '' tutte le variabili occorrenti in " 1," 2,...," n e si aggiungano a " '' tutti I terminali di " 1," 2,...," n.si prenda come P '' il sottoinsieme di tutte le produzioni di P contente soltanto simboli in N '' " # ''. Teorema: Ogni linguaggio context-free e generato da una grammatica context-free priva di simboli inutili. Dim: Sia L=L(), con =(N,Σ,P,S). Se applichino a le trasformazioni descritte nei lemmi 1 e 2 (nell ordine dato!). Sia '' la grammatica cosi ottenuta e sia ' la grammatica intermedia. Chiaramente L '' ( ). ( ) = L Rimane solo da verificare che '' non abbia simboli inutili: Sia X per assurdo un simbolo inutile di ''. Per il lemma 2, c e una derivazione S" #X$. Poiche tutti I simboli di '' sono anche simboli di ' si ha '' S" #X$ ' ' " w con w % &' Per il lemma 1 poiche X e un simbolo di '. Quindi nessun simbolo della derivazione "X# $ w sara eliminato dal lemma 2. Cosi X deriva una stringa di terminali anche in '' ed X non e simbolo inutile.

6 Esempio: Si consideri la grammatica = { S, A,B}, { a,b},p,s P: S a A A AB B b Si ha : ' = ({S,B},{a,b},{S a, B b},s) '' = ({S},{a},{S a},s). ( ) con Esempio: Consideriamo la grammatica S AB a A a Applichiamo il lemma 1, otteniamo ' =({S,A},{a},{S a; A a},s). Applichiamo il lemma 2, otteniamo '' =({S},{a},{S a},s). Se avessimo applicato prima il lemma 2 e poi il lemma 1, avremmo ottenuto sempre la grammatica ' che contiene il simbolo inutile A. ε-produzioni Def.: Una ε-produzione e una produzione del tipo A ε. Se A " #, A si dice annullabile. Teorema: Se L=L() con context-free, allora L\{ε}=L( ' ) per qualche grammatica ' priva di simboli inutili ed ε-produzioni. Dim: Il seguente algoritmo consente di calcolare l insieme N " dei simboli non terminali annullabili. Si tratta di un algoritmo iterativo. Per cominciare se A ε e una produzione, allora A e annullabile. Allora se B α e una produzione e tutti I simboli di α sono stati gia determinati come simboli annullabili, allora B e annullabile. Il processo deve essere ripetuto finche non possono piu essere trovati altri simboli annullabili. OLD N " NEW N " {A: A ε in P} while OLD N " NEW N " do begin OLD N " NEW N " ( ) } NEW N " {A: A α in P, α OLDN " end N " NEW N "

7 Costruiamo come segue l insieme P '' di una grammatica intermedia '' equivalente a (a meno della parola vuota ε) ma priva di ε-produzioni. Se A " # 1 # 2...# n dove: 1. se X i non e annullabile, allora " i = X i, 2. se X i e annullabile, allora " i # { X i,$}, 3. " 1 " 2..." n ε. Esempio: Supponiamo che in P ci sia la regola di produzione A " X 1 X 2 X 3 X 4 e supponiamo di aver individuato X 1,X 3 come simboli annullabili. Allora in P '' aggiungo queste produzioni: A " X 1 X 2 X 3 X 4 A " X 2 X 3 X 4 A " X 1 X 2 X 4 A " X 2 X 4 in pratica in P '' aggiungo tutte le produzioni che si possono ottenere cancellando qualche sottoinsieme di quegli X i che sono annullabili, ma senza aggiungere mai una ε- produzione anche se tutti gli X i sono annullabili. Sia '' =(N,Σ, P '',S). Si puo dimostrare che L()=L( '' ). Nota: nella grammatica '' compaiono esattamente gli stessi simboli di (non ne abbiamo eliminato nessuno), ma, eliminando le ε-produzioni ed aggiungendo altre produzioni, abbiamo fatto si che i simboli che in erano annullabili non lo siano in '' pur essendo le due grammatiche equivalenti. Sia ' la grammatica ottenuta applicando il lemma 1 ed il lemma 2 (per l eliminazione dei simboli inutili) alla grammatica ''. Per completare la dimostrazione e sufficiente osservare che le trasformazioni dei lemmi 1 e 2 non introducono alcuna ε-produzione. Teorema: Ogni linguaggio context-free senza ε puo essere generato da una grammatica contextfree priva di simboli inutili, di ε-produzioni e di produzioni unitarie (dove una produzione si dice unitaria se e del tipo A B, con A,B variabili). Dim: Per il teorema precedente, dato un linguaggio context-free L privo di ε si ha L=L() con =(N,Σ,P,S) ove P non contiene alcuna ε-produzione. Se contiene produzioni del tipo: A 1 " A 2 A 2 " A 3... A k#1 " A k A k " A 1 (k $1),

8 tali produzioni possono essere eliminate sostituendo al posto di A i la variabile A 1 (questa diventera il nuovo simbolo iniziale se S occorre tra A 1,A 2,...,A k ). Chiaramente questa trasformazione lascia invariato il linguaggio generato. Possiamo quindi supporre che tra le produzioni unitarie non vi siano cicli. Se tuttavia vi sono ancora produzioni unitarie, vi sara almeno una produzione unitaria A B tale che non contiene alcuna produzione del tipo B C, con C in N. In tal caso si elimina la produzione A B aggiungendo a nel contempo tutte le produzioni A β per ogni produzione B β gia presente in. Chiaramente se in ho produzioni del tipo A B e B C allora scelgo B C come produzione su cui lavorare. Si osservi che tale cambiamento lascia invariato il linguaggio generato e inoltre il numero di produzioni unitarie e diminuito. Iterando questo processo finche vi sono produzioni unitarie si produrra una grammatica ' = N,",P ',S ( ) priva di ε-produzioni e di produzioni unitarie. Per eliminare le produzioni unitarie si puo procedere in modo diverso: Data =(N,Σ,P,S), che al solito possiamo gia supporre senza ε-produzioni, si costruisce un nuovo insieme di produzioni P ' da P inserendo in P ' dapprima tutte le produzioni non unitarie di P. Poi, supponiamo che A" B con A,B N. Allora aggiungiamo a P' tutte le produzioni della forma A α, dove B α e una produzione non unitaria di P. Osserviamo che si puo testare facilmente se A A " B 1 " B 2 "... " B m " B, poiche non ha ε-produzioni e se B e qualche variabile compare due volte nella sequenza, " noi possiamo trovare una sequenza piu corta da cui risulta A " B. Cosi e sufficiente considerare soltanto quelle successioni di produzioni unitarie in cui non compaiono ripetizioni di variabili. Consideriamo la nuova grammatica ' = N,",P ',S ( ). ( ) " L ( ) " L L ' L ' S ( ) banale. ( ) e facciamo vedere che L( ' ) = L ( ): sia w L(), e consideriamo la derivazione sinistra di w in. Sia essa " # 0 " # 1 "... " # n = w () Se, per 0 " i < n, # i $ # i+1 con una produzione non unitaria, allora " i ' abbiamo terminato. In caso contrario, supponiamo che " i # " i+1 e # " i+1 sia la prima derivazione di () in cui si utilizza una produzione unitaria. Supponiamo anche che " i+1 # " i+2 #... # " j, tutto con produzioni unitarie e che " j # " j +1 con una produzione non unitaria. Allora gli " i," i+1,...," j sono tutti della stessa lunghezza, e poiche la derivazione e sinistra, il simbolo rimpiazzato in ciascun " k e nella stessa posizione. Ma allora # " j +1 con una delle produzioni di P '. Quindi w " L( ' ). " i '

9 Una successiva applicazione delle trasformazioni contenute nei lemmi 1 e 2 consente l eliminazione delle variabili inutili, senza introdurre nuove ε-produzioni o produzioni unitarie.

10 Def.: Una grammatica context-free =(N,Σ,P,S) e detta in forma normale di Chomsky se ciascuna delle sue produzioni ha una delle due forme: A BC oppure A a con A,B,C N e a Σ. Teorema: C e un algoritmo che trasforma una data grammatica context-free priva di ε-produzioni in una grammatica context-free equivalente in forma normale di Chomsky. Dim: Utilizzando il precedente teorema, possiamo supporre che la data grammatica =(N,Σ,P,S) non contenga produzioni unitarie. Per ogni simbolo terminale a Σ introduciamo una nuova variabile X a. Quindi sostituiamo ogni produzione A α per cui α Σ (α non e un singolo terminale) con la produzione A " # ' in cui " ' e ottenuto sostituendo in α ogni terminale a con la corrispondente variabile X a. Inoltre aggiungiamo tutte le produzioni X a " a. Chiaramente la grammatica ottenuta e equivalente a quella data. Sia = ( N,",P,S) e facciamo vedere che L( ) = L( ). Banalmente L( ) " L( ). Per dimostrare l inclusione inversa facciamo vedere che se A" w con A " N, w " #, allora A " w. La dimostrazione per induzione nel numero di passi della derivazione in. Il risultato e banale per derivazioni di un solo passo. Supponiamolo vero per derivazioni fino a k passi e sia A " deve essere della forma A " B 1 B 2...B m w una derivazione di (k+1) passi. Il primo passo con m > 2. Noi allora possiamo scrivere w = w 1 w 2...w m dove B i " w i 1 # i # m. Se B i e del tipo X ai per qualche terminale a i, allora w i deve essere a i. Allora, per la costruzione di P, c e una produzione A " C 1 C 2...C m in P dove C i = B i se B i e una variabile di N e C i = a i se B i " V #V (cioe se B i e una nuova variabile introdotta). Per quei B i in V, sappiamo che ;a derivazione B i " w i prende meno di k passi e quindi per ipotesi induttiva B i " w i (cioe C i " w i) e quindi banalmente A" w. Inoltre tutte le sue produzioni hanno una delle due forme: X " X 1 X 2...X k,k # 2, X 1 X 2...X k $ N %{ X a : a $ &} X " a,a # $, X # N %{ X a : a # $ } Per ottenere una grammatica in forma normale di Chomsky e sufficiente eliminare le produzioni del tipo X " X 1 X 2...X k,k > 2, introducendo nuove variabili Z 1,Z 2,...,Z k"2 ed aggiungendo le produzioni:

11 X " X 1 Z 1 Z 1 " X 2 Z 2... Z k#3 " X k#2 Z k#2 Z k#2 " X k#1 X k Si ottiene cosi una grammatica context-free ' in forma normale di Chomsky e tale che L ' ( ) = L ( ) (quest ultima affermazione si dimostra analogamente a quanto fatto sopra). Esempio: S axby X ax Z Y by b Z a Passo 1) Eliminazione produzioni unitarie S axby X ax a Y by b Z a (eliminazione di X Z con aggiunta di X a) Passo 2) Introduzione variabili X a e X b con relativa sostituzione S X a X X b Y X X a X a Y X b Y b X a a X b b Z a Passo 3) Eliminazione produzioni A " # con # > 2 ' : S X a Z 1 Z 1 X Z 2 Z 2 X b Y X X a X a Y X b Y b X a a X b b Z a ' e in forma normale di Chomsky.

12 Forma normale di reiback Def. : Un non terminale A in una grammatica context-free =(N,Σ,P,S) e detto ricorsivo se A " + #A$ per qualche α e β. Se α=ε allora A e detto ricorsivo a sinistra; se β=ε, A e detto ricorsivo a destra. Dimostreremo che ogni grammatica context-free priva di ε-produzioni e equivalente ad una grammatica context-free priva di simboli non terminali ricorsivi a sinistra. Def.: Una grammatica context-free e detta in forma normale di reiback se ogni sua produzione e del tipo A " a#, con a simbolo terminale, " # N. Chiaramente una grammatica context-free in forma normale di reiback non e ricorsiva a sinistra. Lemma1: Chiamiamo A-produzione ogni produzione del tipo A α. Sia = (N,Σ,P,S) una grammatica context-free. Sia A " # 1 B# 2 una produzione in P e B " # 1 # 2... # r siano le B-produzioni di. Sia 1 = ( N,",P 1,S) ottenuta da eliminando la produzione A " # 1 B# 2 ed inserendo le nuove produzioni A " # 1 $ 1 # 2 # 1 $ 2 # 2... # 1 $ r # 2. Allora L( 1 ) = L( ). Dim: Ovviamente si ha L( 1 ) " L( ), poiche quando la produzione A " # 1 B# 2 e utilizzata (nota che questa e l unica produzione di che non e in 1 ), la variabile B sara eliminata mediante una B-produzione, diciamo B " # i. Quindi in 1 possiamo utilizzare direttamente la produzione A " # 1 $ i # 2. Lemma 2 (Eliminazione della ricorsivita sinistra diretta): Sia =(N,Σ,P,S) una grammatica context-free. Siano A " A# 1 A# 2... A# n le A- produzioni aventi A come simbolo piu a sinistra nella parte destra della produzione. Siano A " # 1 # 2... # m le rimanenti A-produzioni. Sia 1 = ( N "{ B},#,P 1,S) la grammatica context-free ottenuta da mediante la sostituzione delle A-produzioni del tipo A " A# 1 A# 2... A# n con le seguenti produzioni: A " # i B,1$ i $ m & B " % j ' ( B " % j B,1 $ j $ n Allora L( 1 ) = L( ). Dim: Si osservi che la sequenza di derivazioni, in una derivazione sinistra, A " A# i 1 " A# i 2 # i1 " A# i p # ip$1...# i1 " % j# ip # ip$1...# i1

13 puo essere sostituita in L( 1 ) = L( ) con A" # jb" # j$ ip B" # j$ ip $ ip%1 B" # j$ ip $ ip%1...$ i2 B" # j$ ip $ ip%1...$ i2 $ i1 1 1 (e viceversa). 1 1 A A 1 A B A A... " i2 " i1 " i " ip... B B " ip " i2 " i " i1

14 Teorema: Sia L un linguaggio context-free non contenente la parola ε. Allora L puo essere generato da una grammatica in forma normale di reiback.

15

16 rammatiche Ambigue ed Inerentemente Ambigue Def.: Una grammatica e detta ambigua quando esiste w L() per cui vi sono due distinte derivazioni sinistre (o alberi di derivazione). Esempio: E E+E E-E a Allora : E E+E a+e a+e-e a+a-e a+a-a E E-E E+E-E a+e-e a+a-e a+a-a Esempio: S A; S B; A a; B a. Con accorgimenti ad hoc spesso e possibile eliminare l ambiguita. Def.: Un CFL per cui ogni CF e ambigua e detto un context-free language inerentemente ambiguo. Ma vi sono pure grammatiche inerentemente ambigue che non e possibile disambiguare. Esempio: Sia L = { a n b n c m d m n "1,m "1}# { a n b m c m d n n "1,m "1}. Si dimostra che ogni grammatica generante L e ambigua. Questo esempio, a parte il fatto che e di per se interessante, viene usato per dimostrare che e indecidibile il problema dell inerente ambiguita per linguaggi context-free.

17 Teorema (Pumping Lemma Bar-Hillel): Sia una grammatica in forma normale di Chomsky avente esattamente n variabili e sia L=L(). Allora "x # L, con x $ 2 n, si ha x = r 1 q 1 rq 2 r 2 dove: 1. q 1 rq 2 " 2 n 2. q 1 q 2 " # 3. "i # 0, r 1 q 1 i rq 2 i r 2 $ L Dim: Dimostriamo innanzi tutto che se nel parse-tree di z parola di L() con in CNF, ogni cammino ha lunghezza i, allora z ha lunghezza " 2 i#1. Per induzione su i: Per i=1, l albero sara S a e quindi la tesi, poiche 2 i"1 = 2 0 =1. Per il passo induttivo sia i>1 e supponiamo che l albero sia questo: S A B T 1 T 2 Dove T 1 e il sottoalbero di A e T 2 quello di B. Chiaramente ogni cammino in T 1 ed in T 2 hanno lunghezza i-1 e quindi gli alberi generano parole di lunghezza " 2 i#2 (per ipotesi induttiva). Allora l intero albero genera una parola di lunghezza " 2 i#2 + 2 i#2 =" 2 i#1 come volevamo dimostrare. Ora, poiche x " 2 n > 2 n#1, ogni parse-tree T per x deve avere un cammino di lunghezza >n cioe n+1. Tale cammino avra, quindi almeno n+2 vertici e quindi almeno n+1 vertici interni. Poiche ogni vertice interno e etichettato da variabili e in vi sono solo n variabili distinte, ne segue che qualche variabile appare due volte nel cammino. In effetti si puo dire di piu : qualche variabile deve apparire due volte vicino al bottom dell albero. Infatti sia P un cammino di lunghezza massima in T. Allora in P devono esserci due vertici, diciamo v 1 e v 2 che soddisfano le seguenti condizioni: 1. sia v 1 che v 2 hanno la stessa etichetta, diciamo X 2. il vertice v 1 e piu vicino alla radice del vertice v 2 3. la porzione di cammino P che va dal vertice v 1 alla foglia e di lunghezza al massimo n+1.

18 (Per vedere che v 1 e v 2 possono essere trovati, risaliamo il cammino P dalla foglia verso la radice tenendo presenti le etichette via via incontrate. Dei primi (n+2) vertici solo la foglia ha per etichette un simbolo terminale, i rimanenti (n+1) vertici non possono avere tutti etichette distinte). Ora il sottoalbero T 1 con radice v 1 rappresenta la derivazione di una parola di lunghezza al massimo 2 n (cammino max in T 1 di lunghezza n+1 (ricordiamo che P e di lunghezza massima in T) parole derivabili di lunghezza " 2 ( n +1)#1 = 2 n ). Sia z il prodotto di T 1. Se T 2 e il sottoalbero di radice v 2 ed r e il prodotto di T 2, allora possiamo scrivere z = q 1 rq 2. Inoltre q 1 e q 2 non possono essere entrambi ε perche la prima derivazione in T 1 usata per produrre z deve essere del tipo X BC per qualche B, C variabili. Inoltre il sottoalbero T 2 deve essere interamente contenuto o nel sottoalbero generato da B oppure in quello generato da C. S v 1 X C r 1 r 2 B X v 2 q r 1 q 2 T 2 T 1 Noi sappiamo che X" q Xq 1 2 e X" r, dove q 1rq 2 " 2 n. Allora X" q 1 i Xq 2 i,i # 0 e quindi la tesi.

19 Applicazioni del Pumping Lemma per Linguaggi Context-free Esempio: Sia L = a m b m c m m > 0 { }. Dimostrare che L non e context-free. Se L fosse context-free allora L=L() per qualche grammatica context-free in forma normale di Chomsky con n variabili. Sia k " 2n 3, e si consideri ak b k c k " L. Si ha: a k b k c k " 2 n, quindi per il Pumping Lemma possiamo scrivere a k b k c k = r 1 q 1 rq 2 r 2 con q 1 rq 2 " 2 n, q 1 q 2 " # e r 1 q i 1 rq i 2 r 2 " L per ogni i " N. Si osservi che q 1 q 2 " a # b # c. Questo perche gli elementi di L consistono in blocchi i di a, seguiti da blocchi di b, seguiti da blocchi di c e quindi q 1 deve essere o un blocco di a o un blocco di b o un blocco di c. Conseguentemente ci sara una lettera in {a,b,c} non presente in q 1 q 2. Quindi r 1 q i 1 rq i 2 r 2 " L contro l ipotesi per cui L non e context-free. (Perche rispetto ad r 1 q 1 rq 2 r 2 ho aumentato il numero di a e b (per esempio) e non il numero di c). Esempio: Esistono linguaggi context-free L 1,L 2 tali che L 1 " L 2 non e context-free. Si consideri il linguaggio L 1 = { a n b n c m n,m > 0}. Esso e context-free in quanto generato dalla grammatica: S Sc S Xc X axb X ab. Analogamente si puo far vedere che il linguaggio L 2 = { a m b n c n n,m > 0} e contextfree. D altra parte L 1 " L 2 = { a n b n c n n > 0} non e context-free. Esempio: Sia L = a i b j c i d j j "1,i "1 { }. Anche per questo L, utilizzando il Pumping Lemma, si puo dimostrare che non e context-free. Basta porre k = 2 k z = a k b k c k d k. Ci sono certi linguaggi che non sono context-free per cui pero il Pumping Lemma non e di aiuto. Esempio: L 3 = a i b j c k d l i = 0 oppure j = k = l { } non e context-free. Tuttavia, se noi scegliamo z = b j c k d l e scriviamo z = r 1 q 1 rq 2 r 2 allora e sempre possibile scegliere r 1,q 1,r,q 2,r 2 in modo tale che r 1 q i 1 rq i 2 r 2 " L 3. Basta scegliere ad esempio q 1 rq 2 formata solo da b.

20 Se scegliamo z = a i b j c j d j allora q 1,q 2 possono essere formate solo da a, nel qual caso si ha ancora r 1 q 1 i rq 2 i r 2 " L 3 i 0. Lemma di Ogden: Sia una grammatica in forma normale di Chomsky, avente esattamente n variabili e sia L=L(). Allora per ogni x L in cui sono state contraddistinte un numero di posizioni " 2 n, si ha x = r 1 q 1 rq 2 r 2, dove: 1. q 1 rq 2 contiene al piu 2 n posizioni contraddistinte; 2. q 1 q 2 contiene almeno una posizione contraddistinta; 3. per ogni i " 0 r 1 q 1 i rq 2 i r 2 # L. Nota: il Pumping Lemma di Bar-Hillel e un caso speciale del lemma di Ogden quando si contraddistinguono tutte le posizioni di x. Esempio: Si consideri L = { a i b j c k i " j, j " k,i " k}. Il Pumping Lemma non consente di dimostrare che L non e context-free. Utilizzando il lemma di Ogden otteniamo quanto segue: Supponiamo per assurdo che L sia context-free e sia una grammatica context-free in forma normale di Chomsky tale che L=L(), ove ha n variabili. Sia p " 2 n e si consideri la parola x = a p b p + p! c p +2 p!, chiaramente x L. Si contraddistinguano le posizioni relative a tutte le a in x. Allora per il lemma di Ogden, possiamo scrivere: x = r 1 q 1 rq 2 r 2 con (1),(2),(3) soddisfatte. Si osservi che q 1 q 2 " a # b # c. Inoltre per la (2) q 1 o q 2 deve contenere qualche a (poiche solo le a sono contraddistinte). Se q 2 " b # c, allora q 1 " a +. Inoltre se q 2 " a + allora q 1 " a. Facciamo vedere che in ogni caso si ha una contraddizione. Supponiamo che q 2 " b. In tal caso q 1 " a +. Sia s = q 1. Si osservi che 1" s " p (poiche q 1 " a + ). Pertanto s p! (s divide p!). Sia t tale che st=p!. Allora, 2t z'= r 1 q +1 2t 1 rq +1 2 r 2 e in L (per la (3)). 2t Ma q +1 1 = a 2st +s = a 2 p!+s e poiche r 1 rr 2 contiene solo (p-s) a, ne segue che z ha esattamente (2p!+p) c, per cui z'" L, una contraddizione. Analoga contraddizione viene trovata anche nei casi in cui q 2 " c, oppure q 2 " a +. Cio dimostra che L non e context-free.

21 Alcune Proprieta di Chiusura Teorema: Se L 1,L 2 sono linguaggi context-free, allora L 1 " L 2 e c.f. Corollario: La classe dei linguaggi context-free in un dato alfabeto Σ non e chiusa rispetto alla complementazione. Dim: Se per assurdo lo fosse, allora dati due qualsiasi linguaggi context-free L 1,L 2, il (( ) # (" \ L 2 )) sarebbe c.f.. Ma tale linguaggio per le leggi di De linguaggio " \ " \ L 1 Morgan risulta uguale a L 1 " L 2 e quindi in generale non puo essere context-free. Teorema: Se R e un linguaggio regolare e L e un linguaggio context-free, allora R L e contextfree.

22 Problema dell Appartenenza Problema: Data una grammatica context-free =(N,Σ,P,S) ed una stringa x " #, stabilire se x L(). Algoritmo1 (inefficiente): Se x = ε, utilizzare un algoritmo specifico per stabilire se ε L(). Altrimenti si costruisce una grammatica in forma normale di reibach tale che L( ' ) = L( ) \ {"}. Poiche ad ogni passo di derivazione per una grammatica in forma normale di reibach viene aggiunto un nuovo terminale, ne segue che x " L( ' ) se e solo se c e una derivazione di x di lunghezza uguale a x. Se k e il numero di produzioni in, allora e sufficiente considerare in maniera esaustiva k x derivazioni. Complessita : esponenziale in x. Algoritmo2 (piu efficiente): [Cooke - Younger - Kasami (CYK)] Descrizione informale: Data x ε, con x = n ed una grammatica in forma normale di Chomsky, per ogni i e j e per ogni variabile A si determina se A " x ij, dove x ij e la sottostringa di x di lunghezza j avente inizio in posizione i. Si puo determinare se A " x ij per induzione su j. Infatti, per j=1, A " x ij A " x ij e una produzione di. se e solo se Se j>1, allora A " x ij se e solo se c e in una produzione A BC per cui B " x ik e C " x i+k, j#k. Si noti che per induzione il valore di verita di queste due ultime asserzioni e gia noto. Infine si osservi che x L() se e solo se S " x 1n. Descrizione Formale: Nel seguente algoritmo faremo uso degli insiemi di variabili V ij. In particolare, V ij denota l insieme di tutte le variabili A per cui A " x ij. Si noti che dato 1 " j " n, possiamo supporre che 1 " i " n # j +1

23 begin 1. for i:=1 to n do 2. V i1 := { A A " x i1 e' una produzione in } 3. for j:=2 to n do 4. for i:=1 to n-j+1 do begin 5. V ij := 6. for k:=1 to j-1 do 7. V ij :=V ij {A A BC e una produzione in, B e in V ik, C e in V i+k, j"k } end end Complessita : Poiche e assegnata, i passi (2) e (7) sono eseguibili in tempo costante. Quindi il ciclofor (1) impiega tempo O(n), come pure il ciclo-for (6) (osservando che j n). Ne segue che i cicli-for (1),(2),(3) impiegano rispettivamente tempo O( n 2 ) e O( n 3 ). Pertanto la complessita dell algoritmo CYK e O( n 3 ), dove n= x e la grammatica e fissata. Nota: x L() se e solo se S " V 1n. Esempio: Sia la c.f.g. in CNF S AB BC B CC b A BA a C AB a e sia x la stringa baaba B A,C A,C B A,C 2 S,A B S,C S,A 3 B B 4 S,A,C 5 S,A,C La prima riga e riempita con il passo (1) e (2) dell algoritmo, cioe per le posizioni di x 1 e 4, che sono b, noi poniamo V 11 = V 41 = { B}, perche B e l unica variabile che deriva b. Similmente V 21 = V 31 = V 51 = { A,C} perche solo A e C derivano a. Per calcolare V ij con j>1, dobbiamo eseguire il ciclo for del passi (6) e (7).

24 Nella tabella la traccia che corrisponde a visitare V ik e V i+k, j"k per k=1,2,,j-1, consiste nel muoversi simultaneamente in basso lungo la colonna i e in alto lungo la diagonale che va da V ik verso destra. In particolare dobbiamo trovare una variabile D in V ik ed E in V i+k, j"k, tali che DE sia il lato destro di una o piu produzioni. Per esempio, calcoliamo V 24, assumendo che le prime tre righe della tabella siano gia state riempite. Cominciamo con l esaminare V 21 ={A,C} e V 33 ={B}. I possibili elementi in V 21, V 33 sono AB,CB. Solo AB e un lato destro nelle produzioni di e precisamente S AB, C AB. Quindi raggiungiamo S e C a V 24. In seguito consideriamo V 22 V 42 = {B}{S,A} = {BS,BA}. Solo BA e un lato destro cosi noi aggiungiamo il corrispondente lato sinistro A a V 24. Infine consideriamo V 23 V 51 = {B}{A,C}={BA,BC}. Dovremmo cosi aggiungere a V 24 A ed S che gia gli appartengono: cosi abbiamo in totale V 24 = {S,A,C}. Poiche S V 15, la stringa x appartiene ad L(). Esempio: Sia la grammatica in forma normale di Chomsky: S AA AS b A SA AS a e sia x la stringa abaab A S A A S 2 A,S A S A,S 3 A,S S A,S 4 A,S A,S 5 A,S Poiche S V 15 ={A,S}, ne segue che abaab L(). La tabella degli insiemi V ij si chiama pure tavola di parse.

25 Automi a Pila (Pushdown Automata) Formalmente un automa a pila puo essere cosi descritto. Def.: Un automa a pila (non deterministico) e un sistema M = ( Q,",#,$,q 0,Z 0,F) dove: Q e un insieme finito di stati; Σ e un insieme di simboli detto alfabeto di input; Γ e un insieme di simboli detto alfabeto di stack; δ e una applicazione da Q " # $ {%} (detta funzione di transizione); q 0 " Q e lo stato iniziale; Z 0 " # e il simbolo di stack iniziale; F Q e l insieme degli stati iniziali. ( ) " & su sottoinsiemi finiti di Q " # Convenzione: le lettere minuscole vicine all inizio dell alfabeto denotano simboli di input, quelle vicine alla fine denotano stringe di ", le lettere stampatello maiuscolo denotano elementi di Γ, quelle greche denotano elementi di ". L interpretazione di "( q,a,z ) = {( p 1,# 1 ),( p 2,# 2 ),...,( p m,# m )} con q, p i $ Q,a $ %,Z $ &,# i $ & ( 1' i ' m) e la seguente: l automa a pila m in stato q, scandendo il simbolo di input a, con Z simbolo in cima allo stack puo per ogni i,1 " i " m: Passare nello stato p i ; Sostituire il simbolo Z in cima allo stack con la stringa " i ; Avanzare la testina di input di una posizione. Analogamente, l interpretazione di "( q,#,z) = {( p 1,$ 1 ),( p 2,$ 2 ),...,( p m,$ m )} e simile alla precedente con l unica eccezione che la testina di input non viene fatta avanzare e che il movimento e del tutto indipendente dal simbolo letto dalla testina di input. (Non Determinismo dei PDA). Descrizione istantanea (DI): Una DI e una tripla q,w," Poniamo ( q,aw,z" ) # p,w,$" ( ) con q " Q,w " #,$ " % ( ) se ( p,$ ) % & ( q,a,z ) con a % '( { ) } M ( ) " denota al solito la chiusura transitiva e riflessiva di " e scriviamo I " M descrizione informale I puo diventare k dopo esattamente i movimenti. k se la

26 ( ) definiamo Dato un automa a pila m = Q,",#,$,q 0,Z 0,F ( L( m) = w " # ) ( q 0,w,Z 0 ) $ p,%,& m & N( m) = w " # ' ( q 0,w,Z 0 ) ( $ p,%,% m ( ) per qualche p " F,& " ' ( ) per qualche p " Q L(m) e il linguaggio accettato da m mediante stato finale; N(m) e il linguaggio accettato da m mediante stack vuoto. Teorema: a) Se L = L( m 2 ), allora L = N( m 1 ) per qualche m 1 ; b) Se L = N( m 1 ), allora L = L( m 2 ) per qualche m 2. Dim: (a) Facciamo vedere che esiste un automa a pila m 1 in grado di simulare m 2 e tale da cancellare lo stack quando m 2 raggiunge uno stato finale. Aggiungiamo agli stati di m 2 i seguenti stati: q l : per cancellare il contenuto dello stack; ' q 0 : nuovo stato iniziale; nonche il nuovo simbolo di stack: X 0 : per contraddistinguere il fondo dello stack. Quindi, se m 2 = ( Q,",#,$,q 0,Z 0,F) con L = L( m 2 ), allora poniamo; ' ' m 1 = ( Q" { q l,q 0 },#,$ "{ X 0 },%',q 0,X 0,&), ove δ e cosi definita: ' 1) "'( q 0,#, X 0 ) = {( q 0,Z 0 X 0 )} 2) "'( q,a,z ) contiene gli elementi di "( q,a,z ), per ogni q " Q a " #${%} Z " & 3) "'( q,#,z) contiene ( q l,"), per ogni q " F Z " # $ { X 0 } 4) "'( q l,#,z) contiene ( q l,"), per ogni Z " # $ { X 0 }. Mediante la regola (1), m 1 simula la configurazione iniziale di m 2. La regola (2) consentono a m 1 di simulare I passi di m 2. La regola (3) consente ad m 1 di entrare nello stato speciale q l non appena m 2 raggiunge uno stato finale. Infine la regola (4) consente ad m 1 di cancellare il contenuto dello stack. La ragione per cui m 1 ha un simbolo proprio per contraddistinguere il fondo dello stack e che m 2 potrebbe vuotare il proprio stack anche per una parola non appartenente ad L. Si dimostra facilmente che x " L( m 2 ) se e solo se x " N( m 1 ). Infatti se x " L( m 2 ), allora q 0, x,z 0 ' ( q 0,x, X 0 ) " q 0, x,z 0 X 0 m 1 ( ) ( ) e ( q 0, x,z 0 ) " q,#,$ m 1 m 2 ) + +, - ( ) per qualche q F. Quindi si ha: " q,#,$ ( ) da cui:

27 ( q 0,x,Z 0 X 0 ) " ( q l,#,$x 0 ), ma dato che q F, ( ) q,",#x 0 m 1 ' ( q 0,x, X 0 ) m 1 m 1 $ q l,"," ( ) e quindi: " ( q l,#,# ), cioe x " N( m 1 ). Viceversa, se x " N( m 1 ), allora: ' ( q 0,x, X 0 ) m 1 " ( q l,#,# ). Si vede facilmente che tale derivazione puo essere decomposta nelle seguenti sottosequenze: ' ( q 0,x, X 0 ) m 1 " q 0, x,z 0 X 0 ( ) ( q 0, x,z 0 X 0 ) " q,#,$x 0 ( ) q,",#x 0 m 1 m 1 $ ( q,",") l & ( ) ( ) ( con q % F, q 0, x,z 0 ' m 2 " ( q,#,$ ) ) + % e per l osservazione di sopra ( q 0, x,z 0 ) " ( q,#,$ ) ( ' si ha che x " L( m 2 ). & ) (b) Supponiamo adesso che x " N m 1 ' ' Poniamo m 2 = ( Q" { q 0,q f },#,$ "{ X 0 },%',q 0,X 0,{ q f }), ove δ e definita come segue: ' 1) "'( q 0,#, X 0 ) = {( q 0,Z 0 X 0 )}; 2) "'( q,a,z ) = "( q,a,z ), per ogni q " Q,a " #${%},Z " & ; 3) q f," ( ), per ogni q " Q. ( ) # $' q,", X 0 m 1 ( ) per qualche automa a pila m 1 = ( Q,",#,$,q 0,Z 0,%). Si osservi che: la regola (1) consente ad m 2 di entrare nella configurazione iniziale per m 1, con l eccezione di un simbolo di stack in piu al fondo; la regola (2) consentono ad m 2 di simulare m 1 ; la regola (3) consente ad m 2 di entrare nello stato finale q f non appena m 1 vuota il proprio stack. Si dimostra facilmente che L( m 2 ) = N( m 1 ).

28 Esempio: m = { q 1,q 2 },{ 0,1,c },{ R,B,},",R,# " q 1,0,R ( ) {( )} "( q 1,1,R ) = {( q 1,R)} {( )} "( q 1,1,B ) = {( q 1,B)} {( )} "( q 1,1, ) = {( q 1,)} {( )} "( q 2,0,B) = {( q 2,#)} {( )} "( q 2,1, ) = {( q 2,#)} {( )} "( q 2,#,R) = {( q 2,#)} ( ) = q 1,BR ( ) = q 1,BB ( ) = q 1,B ( ) = q 2,R ( ) = q 2,B ( ) = q 2, ( ) = wcw R w " { 0,1} " q 1,0,B " q 1,0, " q 1,c,R " q 1,c,B " q 1,c, Si ha: N m { } Si puo dimostrare, utilizzando il Pumping Lemma che questo linguaggio non e regolare. Vediamo un po meglio come agisce questo automa a pila, immaginando che il suo stack sia costituito da piatti blu, gialli e rossi. L idea e di partire con un piatto rosso al fondo dello stack e di aggiungere un piatto blu se si legge uno 0 dall input e un piatto giallo se si legge un 1 dall input fino a quando non si legge il simbolo c che mi rappresenta la meta della stringa in input. A questo punto il controllo finito passera nello stato q 2 e la parte rimanente dell input e confrontata con lo stack eliminando un piatto blu dal top dello stack ogni volta che il simbolo di input e 0 e un piatto giallo ogni volta che il simbolo di input e un 1. Se il piatto in cima allo stack fosse di colore sbagliato, il controllo si ferma e l input chiaramente non viene accettato. Se tutti I piatti corrispondono all input, il piatto rosso, messo al fondo dello stack, sara al top dello stack: il piatto rosso viene immediatamente tolto, cosi lo stack e svuotato e l input viene accettato. Nota che tutti I piatti possono essere rimossi soltanto se la parte della stringa in input che segue c e esattamente l inversa della parte della stringa in input che precede c. N.B. La DI ( q 1,c,R) corrisponde all input c. In questo caso m passa nello stato q 2 e da q 2 con R sullo stack, indipendentemente dall input, cancella lo stack. ( ) e deterministico se: ( ) $ % allora "( q,a,z ) = # $a % & ( ) #1 per ogni q Q, Z Γ, a Σ {ε}. Def.: Un automa a pila m = Q,",#,$,q 0,Z 0,F 1) Per ogni q Q, Z Γ, se " q,#,z 2) " q,a,z Nota: la (1) e la (2) non sono sovrabbondanti. L automa precedente e deterministico.

29 Esempio di automa a pila non deterministico: m = ({ q 1,q 2 },{ 0,1}, { R,B,},",q 1,R,#) 1) " q 1,0,R N m ( ) = {( q 1,BR)} ( ) = {( q 1,R)} ( ) = {( q 1,BB),( q 2,#)} ( ) = {( q 1,B)} ( ) = {( q 1,B)} ( ) = {( q 1,),( q 2,#)} ( ) = {( q 2,#)} ( ) = {( q 2,#)} ( ) = {( q 2,#)} ( ) = {( q 2,#)} 2) " q 1,1,R 3) " q 1,0,B 4) " q 1,1,B 5) " q 1,0, 6) " q 1,1, 7) " q 1,#,R 8) " q 2,#,B 9) " q 2,1, 10) " q 2,#,R { } ( ) = ww R : w " { 0,1} Nota: Le regole da (1) a (6) permettono ad m di conservare l input nello stack. Nelle regole (3) e (6), m ha la possibilita di scegliere fra due movimenti: puo decidere se andare avanti nel leggere l input oppure se e arrivato a meta della stringa (e quindi comportarsi di conseguenza). Chiaramente questa possibilita di scelta per m c e soltanto se ha appena letto uno 0 (cioe nello stack al top e presente una B) e attualmente sta leggendo un altro 0, oppure se ha appena letto un 1 (cioe al top dello stack c e una ) e attualmente sta leggendo un altro 1. Puo essere utile a questo proposito vedere tutte le possibili DI accessibili per m nell input Iniziale ( q 1,001100,R) - -> (q 2,001100,ε) ( q 1,01100,BR) ( q 1,1100,BBR) ( q 2,1100,R) - -> (q 2,1100,ε) ( q 1,100,BBR) ( q 1,00,BBR) ( q 2,00,BR) ( q 1,0,BBBR) ( q 2,0,BR) ( q 1,ε,BBBBR) ( q 2,ε,BBR) ( q 2,ε,R) ( q 2,ε,ε) - -> Accettazione

30 Nota: si dimostra che non esiste alcun automa a pila deterministico accettante il linguaggio { ww R : w " { 0,1} }. Nel caso degli automi a pila il non determinismo aggiunge maggiore potere espressivo.

31 Equivalenza tra Automi a Pila e Linguaggi Context-Free Teorema: Se L e un linguaggio context-free, allora esiste un automa a pila m tale che L=N(m). Dim: Consideriamo per semplicita il caso in cui ε L(). Allora senza perdita di generalita possiamo supporre che sia in forma normale di reibach. Sia =(N,Σ,P,S). Poniamo: m = ({q}, Σ, N, δ, q, S, ), ove "( q,a,a) = {( q,# ) A $ a# in P}. Si puo dimostrare che N(m)=L(). Teorema: Se L=N(m) per qualche automa a pila m, allora L e un linguaggio context-free.

32

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

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

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

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

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

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

(2) se A A, allora A c A; (3) se {A n } A, allora +

(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

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 Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere

Dettagli

Quiz sui linguaggi CF

Quiz 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

Dettagli

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011 Gara Matematica Dipartimento di Matematica Ulisse Dini Viale Morgagni 67/a - 50134 Firenze Soluzioni edizione 011 Esercizio 1. Determinare tutti gli interi positivi non nulli n che sono uguali alla somma

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

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

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema

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

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria. Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo

Dettagli

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

Dettagli

Sviluppi e derivate delle funzioni elementari

Sviluppi e derivate delle funzioni elementari Sviluppi e derivate delle funzioni elementari In queste pagine dimostriamo gli sviluppi del prim ordine e le formule di derivazioni delle principali funzioni elementari. Utilizzeremo le uguaglianze lim

Dettagli

IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE.

IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE. IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE. PH. ELLIA Indice Introduzione 1 1. Divisori di un numero. 1 2. Il Teorema Fondamentale dell Aritmetica. 2 3. L insieme dei numeri primi è

Dettagli

Precorsi di matematica

Precorsi 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

Dettagli

Informatica Teorica. linguaggi non contestuali

Informatica 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

Dettagli

Insiemi, Numeri, Terminologia. Prof. Simone Sbaraglia

Insiemi, Numeri, Terminologia. Prof. Simone Sbaraglia Insiemi, Numeri, Terminologia Prof. Simone Sbaraglia Corso Rapido di Logica Matematica La logica formale definisce le regole cui deve obbedire qualsiasi teoria deduttiva. Una proposizione e` una affermazione

Dettagli

TEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2.

TEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2. TEN 2008. Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2. Lemma 1. Sia n Z. Sia p > 2 un numero primo. (a) n è un quadrato modulo p se e solo se n p 1 2 1 mod p; (b) Sia n 0

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

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5. A.A. 2015-2016. CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5. Esercizio 5.1. Determinare le ultime tre cifre di n = 13 1625. (Suggerimento. Sfruttare il Teorema di Eulero-Fermat)

Dettagli

Prodotto scalare e ortogonalità

Prodotto scalare e ortogonalità Prodotto scalare e ortogonalità 12 Novembre 1 Il prodotto scalare 1.1 Definizione Possiamo estendere la definizione di prodotto scalare, già data per i vettori del piano, ai vettori dello spazio. Siano

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

Appunti su Indipendenza Lineare di Vettori

Appunti su Indipendenza Lineare di Vettori Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo

Dettagli

1 Relazione di congruenza in Z

1 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

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

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

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la 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

8. Completamento di uno spazio di misura.

8. Completamento di uno spazio di misura. 8. Completamento di uno spazio di misura. 8.1. Spazi di misura. Spazi di misura completi. Definizione 8.1.1. (Spazio misurabile). Si chiama spazio misurabile ogni coppia ordinata (Ω, A), dove Ω è un insieme

Dettagli

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R): . equivalenze e implicazioni logiche Esercizio.. Trovare le implicazioni che legano i seguenti enunciati (x, y R): () x < y, () x = y, () x y, () x y, () (x y) > 0. Osserviamo subito che (x y) > 0 equivale

Dettagli

Corso di Geometria BIAR, BSIR Esercizi 10: soluzioni

Corso di Geometria BIAR, BSIR Esercizi 10: soluzioni Corso di Geometria 2010-11 BIAR, BSIR Esercizi 10: soluzioni 1 Geometria dello spazio Esercizio 1. Dato il punto P 0 = ( 1, 0, 1) e il piano π : x + y + z 2 = 0, determinare: a) Le equazioni parametriche

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

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE ROBERTO GIAMBÒ 1. DEFINIZIONI E PRIME PROPRIETÀ In queste note saranno presentate alcune proprietà principali delle funzioni convesse di una variabile

Dettagli

Introduzione alla TEORIA DEI NUMERI

Introduzione alla TEORIA DEI NUMERI Renato Migliorato Introduzione alla teoria dei numeri Introduzione alla TEORIA DEI NUMERI Avvertenza: questo è l inizio di un testo pensato come supporto al corso di Matematiche Complementari I ed ancora

Dettagli

Seconda gara matematica ( ) Soluzioni

Seconda gara matematica ( ) Soluzioni Seconda gara matematica (9..00) Soluzioni 1. Dato un parallelepipedo solido cioè senza buchi al suo interno formato da 180 cubetti e avente spigoli di lunghezza a, b, c, il numero N di cubetti visibili

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

Espressività e limitazioni delle grammatiche regolari

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

Dettagli

Introduciamo ora un altro campo, formato da un numero finito di elementi; il campo delle classi resto modulo n, con n numero primo.

Introduciamo ora un altro campo, formato da un numero finito di elementi; il campo delle classi resto modulo n, con n numero primo. Capitolo 3 Il campo Z n 31 Introduzione Introduciamo ora un altro campo, formato da un numero finito di elementi; il campo delle classi resto modulo n, con n numero primo 32 Le classi resto Definizione

Dettagli

CORSO DI LAUREA IN FISICA

CORSO DI LAUREA IN FISICA CORSO DI LAUREA IN FISICA ANALISI MATEMATICA I BREVI RICHIAMI DELLA TEORIA DEI LIMITI. Confronto di infinitesimi. Sia A sottoinsieme di R, sia 0 punto di accumulazione di A nella topologia di R quindi

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

Anno 1. Divisione fra polinomi

Anno 1. Divisione fra polinomi Anno 1 Divisione fra polinomi 1 Introduzione In questa lezione impareremo a eseguire la divisione fra polinomi. In questo modo completiamo il quadro delle 4 operazioni con i polinomi. Al termine di questa

Dettagli

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3 SISTEMI LINEARI. Esercizi Esercizio. Verificare se (,, ) è soluzione del sistema x y + z = x + y z = 3. Trovare poi tutte le soluzioni del sistema. Esercizio. Scrivere un sistema lineare di 3 equazioni

Dettagli

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica Università degli Studi di Roma Tor Vergata. Principio di induzione matematica Il Principio di induzione matematica è una tecnica di dimostrazione che permette la dimostrazione simultanea di infinite affermazioni.

Dettagli

04 - Logica delle dimostrazioni

04 - Logica delle dimostrazioni Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 04 - Logica delle dimostrazioni Anno Accademico 013/014 D. Provenzano,

Dettagli

ESERCIZI SUI PUNTI DI NON DERIVABILITÀ TRATTI DA TEMI D ESAME

ESERCIZI SUI PUNTI DI NON DERIVABILITÀ TRATTI DA TEMI D ESAME ESERCIZI SUI PUNTI DI NON DERIVABILITÀ TRATTI DA TEMI D ESAME a cura di Michele Scaglia FUNZIONI DERIVABILI Sia f : domf R una funzione e sia 0 domf di accumulazione per domf Chiamiamo derivata prima di

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

Corso di Linguaggi e Traduttori 1 AA GRAMMATICHE

Corso 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

Dettagli

Esercizi sui sistemi di equazioni lineari.

Esercizi sui sistemi di equazioni lineari. Esercizi sui sistemi di equazioni lineari Risolvere il sistema di equazioni lineari x y + z 6 x + y z x y z Si tratta di un sistema di tre equazioni lineari nelle tre incognite x, y e z Poichè m n, la

Dettagli

Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis

Corso 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

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Laurea in Ingegneria Gestionale Sede di Fermo Corso di 7 - CALCOLO NUMERICO CON MATRICI Richiami teorici Operazioni fondamentali Siano A = {a ij } e B = {b ij }, i = 1,..., m, j = 1,..., n due

Dettagli

CORSO DI LAUREA IN MATEMATICA

CORSO DI LAUREA IN MATEMATICA CORSO DI LAUREA IN MATEMATICA ESERCITAZIONI DI ANALISI MATEMATICA I BREVI RICHIAMI DELLA TEORIA DEI LIMITI. Confronto di infinitesimi. Sia A sottoinsieme di R, sia 0 punto di accumulazione di A nella topologia

Dettagli

SPAZI VETTORIALI. Esercizi Esercizio 1. Sia V := R 3. Stabilire quale dei seguenti sottoinsiemi di V sono suoi sottospazi:

SPAZI VETTORIALI. Esercizi Esercizio 1. Sia V := R 3. Stabilire quale dei seguenti sottoinsiemi di V sono suoi sottospazi: SPAZI VETTORIALI Esercizi Esercizio. Sia V := R 3. Stabilire quale dei seguenti sottoinsiemi di V sono suoi sottospazi: V := { (a, a, a) V a R }, V 2 := { (a, b, a) V a, b R }, V 3 := { (a, 2a, a + b)

Dettagli

LEZIONE 8. k e w = wx ı + w y j + w z. k di R 3 definiamo prodotto scalare di v e w il numero

LEZIONE 8. k e w = wx ı + w y j + w z. k di R 3 definiamo prodotto scalare di v e w il numero LEZINE 8 8.1. Prodotto scalare. Dati i vettori geometrici v = v x ı + v y j + v z k e w = wx ı + j + k di R 3 definiamo prodotto scalare di v e w il numero v, w = ( v x v y v z ) w x = v x + v y + v z.

Dettagli

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite 3 Sistemi lineari 3 Generalità Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite ovvero, in forma matriciale, a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x

Dettagli

Lezione 7: Il Teorema di Rouché-Capelli

Lezione 7: Il Teorema di Rouché-Capelli Lezione 7: Il Teorema di Rouché-Capelli In questa lezione vogliamo rivisitare i sistemi lineari e dare alcuni risultati che ci permettono di determinare dato un sistema lineare se ammette soluzioni e da

Dettagli

Decomposizione LU di una matrice quadrata

Decomposizione LU di una matrice quadrata Appendice al Cap. 5 Decomposizione LU di una matrice quadrata Una qualunque matrice quadrata M = {m ij } di ordine N, reale, invertibile, i cui minori principali siano tutti non nulli, si può sempre decomporre

Dettagli

Definizione di Grammatica

Definizione 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

Dettagli

3. Successioni di insiemi.

3. Successioni di insiemi. 3. Successioni di insiemi. Per evitare incongruenze supponiamo, in questo capitolo, che tutti gli insiemi considerati siano sottoinsiemi di un dato insieme S (l insieme ambiente ). Quando occorrerà considerare

Dettagli

Complementi di Analisi Matematica Ia. Carlo Bardaro

Complementi di Analisi Matematica Ia. Carlo Bardaro Complementi di Analisi Matematica Ia Carlo Bardaro Capitolo 1 Elementi di topologia della retta reale 1.1 Intorni, punti di accumulazione e insiemi chiusi Sia x 0 IR un fissato punto di IR. Chiameremo

Dettagli

Funzioni derivabili (V. Casarino)

Funzioni derivabili (V. Casarino) Funzioni derivabili (V. Casarino) Esercizi svolti 1) Applicando la definizione di derivata, calcolare la derivata in = 0 delle funzioni: a) 5 b) 3 4 c) + 1 d) sin. ) Scrivere l equazione della retta tangente

Dettagli

1 Il polinomio minimo.

1 Il polinomio minimo. Abstract Il polinomio minimo, così come il polinomio caratterisico, è un importante invariante per le matrici quadrate. La forma canonica di Jordan è un approssimazione della diagonalizzazione, e viene

Dettagli

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Nome..Cognome.Matr. Laureando Avvisi importanti Il tempo a disposizione è di 1 ora e 30 minuti. Se non verranno risolti

Dettagli

LEZIONE Equazioni matriciali. Negli Esempi e si sono studiati più sistemi diversi AX 1 = B 1, AX 2 = R m,n, B = (b i,h ) 1 i m

LEZIONE Equazioni matriciali. Negli Esempi e si sono studiati più sistemi diversi AX 1 = B 1, AX 2 = R m,n, B = (b i,h ) 1 i m LEZIONE 4 41 Equazioni matriciali Negli Esempi 336 e 337 si sono studiati più sistemi diversi AX 1 = B 1, AX 2 = B 2,, AX p = B p aventi la stessa matrice incompleta A Tale tipo di problema si presenta

Dettagli

Precorso di Matematica

Precorso di Matematica UNIVERSITÀ DEGLI STUDI ROMA TRE FACOLTA DI ARCHITETTURA Precorso di Matematica Anna Scaramuzza Anno Accademico 2005-2006 4-10 Ottobre 2005 INDICE 1. ALGEBRA................................. 3 1.1 Equazioni

Dettagli

1 Ampliamento del piano e coordinate omogenee

1 Ampliamento del piano e coordinate omogenee 1 Ampliamento del piano e coordinate omogenee Vogliamo dare una idea, senza molte pretese, dei concetti che stanno alla base di alcuni calcoli svolti nella classificazione delle coniche. Supponiamo di

Dettagli

Anno 4 Matrice inversa

Anno 4 Matrice inversa Anno 4 Matrice inversa 1 Introduzione In questa lezione parleremo della matrice inversa di una matrice quadrata: definizione metodo per individuarla Al termine della lezione sarai in grado di: descrivere

Dettagli

m = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica

m = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica G. Pareschi COMPLEMENTI ED ESEMPI SUI NUMERI INTERI. 1. Divisione con resto di numeri interi 1.1. Divisione con resto. Per evitare fraintendimenti nel caso in cui il numero a del Teorema 0.4 sia negativo,

Dettagli

ELEMENTI di TEORIA degli INSIEMI

ELEMENTI di TEORIA degli INSIEMI ELEMENTI di TEORI degli INSIEMI & 1. Nozioni fondamentali. ssumeremo come primitivi il concetto di insieme e di elementi di un insieme. Nel seguito gli insiemi saranno indicati con lettere maiuscole (,,C,...)

Dettagli

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

Dettagli

Successioni, massimo e minimo limite e compattezza in R

Successioni, massimo e minimo limite e compattezza in R Università di Roma Tor Vergata Corso di Laurea in Scienze e Tecnologie per i Media Successioni, massimo e minimo limite e compattezza in R Massimo A. Picardello BOZZA 10.11.2011 21:24 i CAPITOLO 1 Successioni

Dettagli

Il Teorema di Kakutani

Il Teorema di Kakutani Il Teorema di Kakutani Abbiamo visto, precedentemente, il seguente risultato: 1 Sia X uno spazio di Banach. Se X è separabile, la palla è debolmente compatta. B X = {x X x 1} Il Teorema di Kakutani è un

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

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27 Lunghezza media Teorema Codice D-ario prefisso per v.c. X soddisfa L H D (X). Uguaglianza vale sse D l i = p i.. p.1/27 Lunghezza media Teorema Codice D-ario prefisso per v.c. X soddisfa L H D (X). Uguaglianza

Dettagli

Geometria analitica del piano pag 12 Adolfo Scimone

Geometria analitica del piano pag 12 Adolfo Scimone Geometria analitica del piano pag 12 Adolfo Scimone Fasci di rette Siano r e r' due rette distinte di equazioni r: ax + by + c r': a' x + b' y + c' Consideriamo la retta combinazione lineare delle due

Dettagli

Lezione 3 - Teoria dei Numeri

Lezione 3 - Teoria dei Numeri Lezione 3 - Teoria dei Numeri Problema 1 Trovare il più piccolo multiplo di 15 formato dalle sole cifre 0 e 8 (in base 10). Il numero cercato dev'essere divisibile per 3 e per 5 quindi l'ultima cifra deve

Dettagli

Esercizi sul Principio d Induzione

Esercizi sul Principio d Induzione AM110 - ESERCITAZIONI I - II - 4 OTTOBRE 01 Esercizi sul Principio d Induzione Esercizio svolto 1. Dimostrare che per ogni n 1, il numero α(n) := n 3 + 5n è divisibile per 6. Soluzione. Dimostriamolo usando

Dettagli

Studio delle successioni con il software

Studio delle successioni con il software Studio delle successioni con il software Abbiamo visto due possibili definizioni per alcune successioni: diretta e per ricorrenza (o ricorsiva). Ricordiamo che la successione delle somme dei primi n numeri

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

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione

Dettagli

Gli insiemi N, Z e Q. I numeri naturali

Gli insiemi N, Z e Q. I numeri naturali Università Roma Tre L. Chierchia 1 Gli insiemi N, Z e Q Il sistema dei numeri reali (R, +,, ) può essere definito tramite sedici assiomi: quindici assiomi algebrici (si veda ad esempio 2.3 in [Giusti,

Dettagli

SISTEMI LINEARI MATRICI E SISTEMI 1

SISTEMI LINEARI MATRICI E SISTEMI 1 MATRICI E SISTEMI SISTEMI LINEARI Sistemi lineari e forma matriciale (definizioni e risoluzione). Teorema di Rouché-Capelli. Sistemi lineari parametrici. Esercizio Risolvere il sistema omogeneo la cui

Dettagli

Presentazioni di gruppi: generatori e relazioni

Presentazioni 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

Dettagli

APPLICAZIONI LINEARI

APPLICAZIONI LINEARI APPLICAZIONI LINEARI Esercizi Esercizio Date le seguenti applicazioni lineari f : R 2 R 3 definita da fx y = x 2y x + y x + y; 2 g : R 3 R 2 definita da gx y z = x + y x y; 3 h : Rx] 2 R 2 definita da

Dettagli

Piccolo teorema di Fermat

Piccolo teorema di Fermat Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod p). Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod

Dettagli

ax 1 + bx 2 + c = 0, r : 2x 1 3x 2 + 1 = 0.

ax 1 + bx 2 + c = 0, r : 2x 1 3x 2 + 1 = 0. . Rette in R ; circonferenze. In questo paragrafo studiamo le rette e le circonferenze in R. Ci sono due modi per descrivere una retta in R : mediante una equazione cartesiana oppure mediante una equazione

Dettagli

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare

Dettagli

Due numeri naturali non nulli a, b tali che MCD(a,b) = 1 si dicono coprimi o relativamente primi.

Due numeri naturali non nulli a, b tali che MCD(a,b) = 1 si dicono coprimi o relativamente primi. MASSIMO COMUNE DIVISORE E ALGORITMO DI EUCLIDE L algoritmo di Euclide permette di calcolare il massimo comun divisore tra due numeri, anche se questi sono molto grandi, senza aver bisogno di fattorizzarli

Dettagli

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI 1. GLI ASSIOMI DI PEANO Come puro esercizio di stile voglio offrire una derivazione delle proprietà elementari dei numeri naturali e delle operazioni

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

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

Grafi e gruppo fondamentale di un grafo

Grafi e gruppo fondamentale di un grafo Grafi e gruppo fondamentale di un grafo Note per il corso di Geometria IV (relative alla parte dei 6 crediti) Milano, 2010-2011, M.Dedò Come trovare un grafo omotopicamente equivalente all'oggetto 3d raffigurato

Dettagli

Macchine di Turing. a n B B. Controllo Finito

Macchine di Turing. a n B B. Controllo Finito Macchine di Turing Il modello standard di macchina di Turing era un controllo finito, un nastro di input, diviso in celle, e una testina che prende in considerazione una cella del nastro alla volta. Il

Dettagli

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti su m righe e n colonne. I numeri che compaiono nella tabella si dicono elementi della matrice. La loro individuazione

Dettagli