LINGUAGGI E GRAMMATICHE FORMALI
|
|
- Lorenzo Carboni
- 7 anni fa
- Visualizzazioni
Transcript
1 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 al problema dell'appartenenza di una stringa a un linguaggio GRAMMATICHE FORMALI Metodo di costruzione delle stringhe del linguaggio basato sulla riscrittura. Approccio generativo alla descrizione dei linguaggi Axel Thue studia i primi problemi di riscrittura Emil Post definisce sistemi di produzione (lavori del 1920) Markov definisce algoritmi basati su regole di riscrittura N. Chomsky introduce le grammatiche formali nell'ambito degli studi sul linguaggio naturale J. W. Backus e P. Naur introducono la BNF per descrivere la sintassi del linguaggio Algol. tipo 0 tipo 1 - Context Sensitive tipo 2 Context Free lineari tipo 3 - Regolari
2 Le Grammatiche di Chomsky Def. Una grammatica formale è un sistema G = <V T,V N, P, S> caratterizzato da: V T alfabeto finito di simboli detti terminali V N alfabeto finito di simboli detti non terminali (categorie sintattiche) Se indichiamo con V l insieme V T V N P detto insieme di produzioni, e un sottoinsieme finito del prodotto cartesiano: (V * V N V * ) x V * Un elemento < α, β > P si indica con α β S V N è detto assioma. Il linguaggio generato da una grammatica è l'insieme delle stringhe di terminali ottenibili, a partire dall assioma, con una sequenza finita di passi di riscrittura consistenti nell'applicazione delle regole di produzione. Es. La grammatica G = <{a, b, c},{s, B, C}, P, S> con P insieme delle seguenti produzioni: S as S B B bb B bc C cc C c genera il linguaggio: L(G) = {a n b m c h n 0, m, h 1} In forma più sintetica (derivata dalla BNF) si usa indicare: α β 1 con... α β n α β 1... β n Le produzioni precedenti si indicano allora con: S as B B bb bc C cc c
3 Def. Sia <φ, ψ> un elemento in (V * V N V * ) x V *. Si dice che ψ è derivabile direttamente (in un solo passo) da φ (e si scrive φ ψ ) se esistono in V * parole α, β, γ, δ tali che φ = γαδ, ψ = γβδ e si ha che α β P. Si parla di derivazione diretta (in un solo passo). Def. Sia <φ, ψ> un elemento in (V * V N V * ) V *. Si dice che ψ è derivabile da φ (e si scrive φ * ψ ) se esiste una sequenza di stringhe φ 1,..., φ n V * tali φ i φ i+1, i=1,..,n-1, con φ 1 = φ e φ n = ψ. Si parla di derivazione di ψ da φ. Inoltre per qualsiasi stringa φ V *, φ * φ. Def. Una stringa x V * tale che S *x è detta forma di frase. Def. Il linguaggio generato da G è l'insieme delle forme di frase costituite di soli terminali cioè: L(G) = {x x V T * e S *x }. N. B. Non è detto che una derivazione porti ad una stringa del linguaggio; essa può portare ad una forma di frase in cui non si può più applicare alcuna produzione. Def. Due grammatiche G1 e G2 si dicono equivalenti se L(G1 ) = L(G2). Es. La grammatica G = < {a, b},{s, A}, P, S > con le produzioni: S aa b A as e la grammatica G = < {a, b},{s, A}, P, S > con le produzioni: S Ab b A aaa aa e la grammatica G = < {a, b},{s, A}, P, S > con le produzioni: S Ab A Aaa ε generano lo stesso linguaggi {an b n 0 e pari} e quindi sono equivalenti. Es. G = <{a, b, c},{s, A, B, C}, P, S> con le produzioni: 1 S asbc 2 S abc 3 CB BC 4 ab ab 5 bb bb 6 bc bc 7 cc cc genera il linguaggio {a n b n c n n 1}.
4 La seguente derivazione genera 'aaabbbccc' : S (1) asbc (1) aasbcbc (2) aaabcbcbc (3) aaabcbbcc (3) aaabbcbcc (3) aaabbbccc (4) aaabbbccc (5) aaabbbccc (5) aaabbbccc (6) aaabbbccc (7) aaabbbccc (7) aaabbbccc N.B. se non si completano gli scambi si può arrivare alla forma di frase aaabcbbcc alla quale non si applica alcuna produzione. Es. La grammatica G = <{a, b, c},{s, A}, P, S> con le produzioni: S asc aac A bac ε genera {a n b m c n+m n 1, m 0}. Es. La grammatica G = <{a, b, c},{s, A}, P, S> con con le produzioni: S Ab A Sa genera Λ. CLASSI DI GRAMMATICHE DI CHOMSKY di tipo 0 di tipo 1 contestuali (context sensitive: CS) di tipo 2 non contestuali (context free: CF) di tipo 3 regolari
5 Def. Def. Le grammatiche di Chomsky di tipo 0 sono basate sulle produzioni più generali, del tipo: α β con α V * V N V * β V * N.B. Le produzioni di tipo 0 possono accorciare le forme di frase. Def. I linguaggi di tipo 0 sono i linguaggi generati da grammatiche di tipo 0. Def. Le grammatiche di Chomsky di tipo 1 sono basate su produzioni del tipo: α β con α V * V N V * β V + e con α β N.B. Le produzioni di tipo 1 non riducono la lunghezza delle forme di frase. Def. I linguaggi di tipo 1 (contestuali) sono i linguaggi generati da grammatiche di tipo 1. - Es. Il linguaggio appena generato {a n b n c n n 1} con una grammatica di tipo 1può anche essere generato dalla seguente grammatica di tipo 0 con produzioni: S asbc CB BC SB bf FB bf FC cg GC cg G ε Il linguaggio è anche di tipo 1 perchè la precedente grammatica è di tipo 1. Non è invece generabile con grammatiche di tipo 2 (ma non lo dimostremo). Def. Le grammatiche di Chomsky di tipo 2 sono basate su produzioni del tipo: A β con A V N β V + Def. I linguaggi di tipo 2 (context free o non contestuali) sono i linguaggi generati da grammatiche di tipo 2. Una derivazione in questo tipo di grammatiche è rappresentabile con un albero di derivazione.
6 Es. Il linguaggio {a n b n n 1} è di tipo 2 in quanto può essere generato dalla grammatica con le produzioni: S asb ab Es. Grammatica CF che genera il linguaggio delle parentesi ben bilanciate: B () BB (B) Dare una derivazione per la stringa di parentesi: ()((()())). Es. Grammatica CF che genera tutte le stringhe palindrome sull'alfabeto {0, 1}. P P0 1P1 Es. Grammatica che genera semplici espressioni aritmetiche, con operatori in {+, }, parentesi tonde, ed operandi scritti con caratteri in {a,b,0,1} e che iniziano con la lettera a oppure b: E I E+E E E (E) I a b Ia Ib I0 I1 Bastano due variabili (E per rappresenta le espressioni, I gli identificatori). Il linguaggio di I è il linguaggio definito dalll espressione regolare: (a+b)(a+b+0+1)* Derivazione ( a sinistra ) della stringa a (a + b00): E E E I E a E a (E) a (E+E) a (I+E) a (a+e) a (a+i) a (a+i0) a (a+i00) ) a (a+b00) Esiste anche una derivazione a destra, che è la seguente: E E E E (E) E (E+E) E (E+I) E (E+I0) E (E+I00) E (E+b00) E (I+b00) E (a+b00) I (a+b00) a (a+b00) Una derivazione individua un albero sintattico. Le due precedenti individuano lo stesso albero. L esistenza di derivazioni distinte per una stessa stringa non comporta di per sè un male per la grammatica se gli alberi sintattici sono identici. Ma se in una grammatica esistono alberi sintattici distinti con lo stesso prodotto (la grammatica viene detta ambigua) questo è problematico. Ad es. la forma sentenziale E +E E ha due alberi sintattici distinti: E E + E E + E E E E E E + E E
7 Una grammatica non ambigua (e non è affatto evidente che lo sia) che genera le espressioni di quest'ultimo esempio ha le prime produzioni sostituite dalle seguenti: E E+T T T T F F F (E) I (T non è più scomponibile per il +, F non lo è per il * ed il +, Vedi HMU). Non esiste un algoritmo che dice se una grammatica CF è ambigua. Esistono linguaggi CF che sono inerentemente ambigui, cioè ogni grammatica CF che li genera è ambigua. In grammatiche non ambigue le derivazioni non sono necessariamente uniche ma si può dimostrare che le derivazioni sinistre ( e quelle destre) sono uniche. Prima di definire le grammatiche di tipo 3 riconsideriamo quelle di tipo 1. Nell'originaria formulazione data da Chomsky le grammatiche di tipo 1 sono definite con produzioni della forma più restrittiva (contestuale secondo Chomsky): α β con α = φ1α φ2, β = φ1γφ2, Α V N, φ1, φ2 V *, γ V + Quindi, se φ1 1 o φ2 1, la produzione esprime il fatto che il non terminale A viene rimpiazzato dalla stringa γ solo se appare nel contesto delle stringhe φ1 e φ2. Da qui l origine del nome. Oss. Nella grammatica di tipo 1 che genera il linguaggio {a n b n c n n 1} le produzioni: ab ab, bb bb, bc bc, cc cc e le produzioni: S asbc abc sono contestuali secondo Chomsky, mentre CB BC non lo è. Teorema. Le grammatiche di tipo 1 e le grammatiche con produzioni contestuali secondo Chomsky generano la stessa classe di linguaggi. Dim. i) Le produzioni contestuali di Chomsky sono di tipo 1. ii) Le produzioni di tipo 1 possono essere trasformate in produzioni contestuali di Chomsky. Prima occorre ridursi ad una grammatica con produzioni senza simboli terminali a sinistra (sostituendo simboli terminali con non terminali ed opportune produzioni, come ad es. sostituendo a con A e poi aa b con AA b e A a).
8 Poi si procede come illustrato nel seguente esempio dove la produzione: CBA EFGHT puo' essere trasformata nella sequenza: CBA CBX CBX EBX EBX EFX EFX EFGHT Def. Le grammatiche di Chomsky di tipo 3 sono basate su produzioni del tipo: con a VT, A, B VN. A ab oppure A a Def. I linguaggi di tipo 3 (regolari) sono quelli generati da grammatiche di tipo 3. Le grammatiche di tipo 3 sono lineari destre (LD). Lineari perchè nel lato destro di ogni produzione compare al più un solo metasimbolo; destre perchè il metasimbolo compare a destra dell'unico simbolo terminale. Si possono anche definire grammatiche di tipo 3 lineari sinistre (LS) con produzioni del tipo: A Ba oppure A a con a VT, A, B VN. Es. Il linguaggio {a n b n 0} è di tipo 3 in quanto è generato dalla grammatica (LD) con le produzioni: S as b Es. Il linguaggio {a n b n 0} puo' essere anche generato da una grammatica lineare sinistra con le seguenti produzioni: S Tb b T Ta a Teorema. I linguaggi generabili con grammatiche LD e LS coincidono con la classe dei linguaggi regolari.
9 LINGUAGGI LINEARI I linguaggi lineari sono linguaggi CF generati da grammatiche lineari, cioè grammatiche dove la parte destra di ogni produzione contiene al più un metasimbolo. Es. La grammatica S asb c che genera {a n cb n n 0} è lineare. I linguaggi lineari sono un sottoinsieme di quelli CF e un soprainsieme di quelli regolari. Def. Un linguaggio è strettamente di Tipo n se esiste una grammatica di tipo n che lo genera e non esiste nessuna grammatica di tipo m>n che lo genera. Es. Il linguaggio {a n b n c n n 1} è strettamente di tipo 1. Il linguaggio {a n b n n 1} è strettamente di tipo 2. N.B.. La dimostrazione dei suddetti risultati richiede tecniche che discuteremo più avanti. Anche per mostrare linguaggi strettamente di tipo 0 abbiamo bisogno di introdurre ulteriori concetti. Vedremo anche che se L è un linguaggio generato da una grammatica ambigua di tipo 3, esiste una grammatica di tipo 3 non ambigua che genera L. Basterà costruire l'automa deterministico che riconosce L; la relativa grammatica non è ambigua.
10 FORMA NORMALE DI BACKUS-NAUR (BNF) (introdotta da Backus e Naur per dare la definizione sintattica dell Algol) La BNF è una notazione per grammatiche CF resa più espressiva e succinta con alcuni accorgimenti, vagamente ispirati alle espressioni regolari. Le seguenti produzioni con la notazione delle grammatiche CF: <sequenza istruzioni> <istruzione> <istruzione> ; <sequenza istruzioni> <istruzione if> if <predicato> then <proposizione> else <proposizione> if <predicato> then <proposizione> sarebbero scritte in BNF così: <sequenza istruzioni> ::= <istruzione> {; <istruzione>} <istruzione if> ::= if <predicato> then <proposizione> [ else <proposizione> ] Altre produzioni con la notazione delle grammatiche CF: A ba a A x xy xyy xyyyy A xy y a xu xv xy sarebbero scritte in BNF così: A::= {b}a * A::= x{y} 4 <= 4 A::= [x]y A::= x (u,v,y) (Esaminare i cinque accorgimenti sul libro). 1. A <espressione_per_a> 2. ::= 3. {. } indica iterazione illimitata ( 0 o più volte) {.} n indica iterazione per al più n volte 4. [.] indica la possibilità o meno 5. (... ) indica la scelta
11 Es. Identificatori del Pascal <identificatore>::=<alfabetico> {<alfanumerico>} n-1 <alfanumerico>::=<alfabetico> <cifra> <cifra>::= <alfabetico>::=a B... Z a... z Es. Frammenti del linguaggio Pascal 1. <programma_pascal> ::= <intestazione> ; <blocco> 2. <intestazione> ::= program <identificatore> [<lista par>] 3. <lista par> ::= <lista identif> 4. <lista identif> ::= <identificatore> {;<identificatore>} 5. <blocco> ::= [<sezione dichiarazione etichette>] [<sezione definizione costanti>] [<sezione definizione tipi>] [<sezione dichiarazione variabili>] [<sezione dichiarazione procedure e funzioni>] [<sezione istruzioni>]... <sezione definizione tipi>::= type <identificatore> =<tipo> {;<identificatore> = <tipo>} <proposizione-while> ::= while <predicato> do <proposizione> <proposizione-if> ::= if <predicato> then <proposizione> else <proposizione>... <predicato>::=<espressione-booleana> <proposizione>::=<proposizione-semplice> <proposizione-composta> <proposizione-composta>::= begin <proposizione>{;<proposizione>} end <proposizione-semplice>::= <assegnazione> <proposizione-while> <proposizione-if> <assegnazione>::= <identificatore> := <espressione>
12 ε-produzioni Con grammatiche di tipo 1, 2, 3 non è possibile generare la parola vuota ε. Come possiamo generare ε, se necessario? Basta aggiungere S ε, ma solo se S non compare a destra di alcuna produzione. Se invece S compare a destra di qualche produzione bisogna essere più accorti perchè potrebbero venir generate parole nuove. Ad es. le produzioni seguenti generano stringhe del tipo ab*bb. S Ub U ab S Se aggiungessimo S ε genereremmo, oltre alla stringa vuota, anche quelle del tipo bb*. Vedremo che possiamo adottare una classifica delle grammatiche di Chomsky così modificata: nelle grammatiche di tipo 1 la presenza di ε-produzioni è consentita solo sull assioma, a patto che non appaia a destra di una produzione. nelle grammatiche di tipo 2 e 3 è consentita la presenza di ε-produzioni su qualunque metasimbolo. Th. Se L(G) è di tipo 1, 2 o 3 è possibile modificare G in modo che: ci sia un'unica ε-produzione applicabile all'assioma S generi L {ε} le altre produzioni rimangano rispettivamente di tipo 1, 2 o 3. Dim. Se G è di tipo 1 o 2 basta aggiungere alle sue produzioni le produzioni S' ε, S' S e considerare S' come nuovo assioma di G. Se G è di tipo 3 basta aggiungere la produzione S' ε, considerare S' come nuovo assioma di G ed aggiungere per ogni produzione del tipo S ab la produzione S' ab. Es. - Data la grammatica di tipo 2 G = <VT, V N, P, S> S asb ab abbiamo G' = <V T, V N {S'}, P', S'> S' ε S S asb ab
13 - Data la grammatica di tipo 3 G = <V T, V N, P, S> S as b abbiamo G '= <V T, V N {S'}, P', S'> S' ε as b S as b Cosa accade se le ε-produzioni sono ammesse non solo sull assioma ma anche in posizione più generale? Nel caso di grammatiche di tipo 1 esse diventano strettamente più potenti, equivalenti alle grammatiche di tipo 0. Esempio. Sia G di tipo 0 con una sola produzione α β con α > β, ad esempio la produzione AB C; usando un nuovo simbolo non terminale X si può sostituire la produzione con AB CX, X ε ottenendo una grammatica G' di tipo 1 con una ε-produzione su X, equivalente a G. Teorema. Data una grammatica G di tipo 0 esiste una grammatica G equivalente a G ottenuta estendendo una grammatica di tipo 1 con opportune ε-produzioni. Dim. Da G=<V T, V N, P,S> di tipo 0 ricaviamo una grammatica equivalente G'=<V T,V N {X}, P', S> con X V N e P' uguale a P ma con in più, al posto di ogni produzione α β con α > β, la produzione α βx...x, con X ripetuta α - β volte, ed infine la produzione X ε. Al contrario delle grammatiche di tipo 1, per le grammatiche di tipo 2 e 3 l aggiunta di ε-produzioni non modifica il potere generativo delle grammatiche, cioè non si amplia la classe di linguaggi che possono essere generati con produzioni di tipo 2 e 3, rispettivamente, e l'eventuale uso di ε-produzioni. Il prossimo teorema dimostra infatti che data una grammatica di tipo 2 o 3 estesa con ε-produzioni, ne possiamo costruire una equivalente, dello stesso tipo, che usa ε- produzioni solo a partire dall assioma (nel caso che ε appartenga al linguaggio) o non ne usa affato (in caso contrario). Esempi su cui riflettere. 1- La grammatica regolare S bx ab B cx X ε si può modificare in S b ab B c
14 2- La grammatica regolare S ba A aa ε si può modificare in S ba b A aa a In entrambi i casi il linguaggio non contiene ε. 3- Nella grammatica CF S AB ab B A ab ab B cx X X ε abbiamo S AB ab B A ab ab B c ε e successivamente S AB A ab a B ε A ab ab a B c In questo caso il linguaggio contiene ε. Negli esempi illustratile ε-produzioni migrano verso l'assioma e possono verificarsi due casi: o una ε-produzione sopravvive (ed allora il linguaggio generato contiene ε) oppure ogni ε-produzione scompare (e quindi il linguaggio non contiene ε). Teorema 2.3 (2.2). Se G è grammatica di tipo 3 (risp. 2) estesa con ε produzioni, esiste una grammatica G di tipo 3 (risp. 2) tale che L(G ) = L(G) {ε}. Dim.(completa sul libro a pag 70 (tipo3) e 67 (tipo 2)). Dim. (tipo 3). Osserviamo subito che ε L(G) S ε è una produzione di G (una qualunque altra produzione genererebbe un carattere terminale). Allora le produzioni di G includono tutte le produzioni non vuote di G; poi, per ogni produzione vuota A ε (con A diverso da S) consideriamo tutte le produzioni di G del tipo B aa ed inseriamo nelle produzioni di G la produzione B a. Dim. (tipo 2). - si determina l insieme N di variabili dalle quali si può derivare ε. - si nota che ε L(G) S N - per ogni produzione non vuota A α di G, si inserisce la produzione in quelle di G' e poi si procede così:
15 .. se nessun simbolo di α appartiene ad N non si fa altro;.. se invece α contiene k simboli di N, nelle produzioni di G vanno inserite tutte le produzioni A β, con β ottenuto cancellando in α uno dei sottoinsiemi dei k simboli (tranne quando k = α e si genererebbe A ε). Ad es. se esiste in P la produzione A BCBA ed N ={S, A, B} allora vanno inserite in P' le produzioni : A BCBA CBA BCA BCB CA CB BC C Es G ha produzioni: S A SSa A B Ab ε B S ab aa G ha N = { A, S, B} e produzioni: S A SSa Sa a A B Ab b B S ab aa a. Una grammatica equivalente a G è dunque una con in più le produzioni: T ε S ed assioma T. Le due dimostrazioni precedenti (per induzione sulla lunghezza delle derivazioni) si basano sul fatto che per ogni A V N e ω V + A G * ω A G' ω In conclusione possiamo adottare una classifica delle grammatiche di Chomsky con la seguente modifica: nelle grammatiche di tipo 1 la presenza di ε-produzioni è consentita solo sull assioma, a patto che non appaia a destra di una produzione. nelle grammatiche di tipo 2 e 3 è consentita la presenza di ε-produzioni su qualunque metasimbolo.
16 RICONOSCIMENTO DI LINGUAGGI In generale il problema del riconoscimento di un linguaggio L su un alfabeto è il problema decisionale di riconoscere se data una stringa x * essa appartiene ad L oppure no. I linguaggi di tipo 3 sono riconosciuti in tempo lineare da dispositivi con memoria costante (automi a stati finiti). I linguaggi di tipo 2 (CF) sono riconosciuti in tempo lineare da dispositivi nondeterministici dotati di una memoria gestita come una pila (automi a pila non deterministici). I linguaggi di tipo 1 (CS) sono riconosciuti da dispositivi nondeterministici con memoria che cresce linearmente con la lunghezza della stringa da esaminare (automi "linear bounded" non deterministici ). Per alcuni linguaggi strettamente di tipo 0 è invece possibile che non esista un algoritmo di riconoscimento ma esiste comunque una procedura che riconosce le stringhe del linguaggio ma se una stringa non fa parte del linguaggio non è detto che la procedura termini riconoscendo al non appartenenza. I dispositivi che consentono di riconoscere o di attuare un procedimento di semiriconoscimento per i linguaggi di tipo 0 sono le macchine di Turing. Ricordiamoci che esistono infiniti linguaggi cui non corrisponde alcuna grammatica! Diciamo che un linguaggio è decidibile se ha un algoritmo che lo riconosce, cioè un algoritmo che calcola la sua funzione caratteristica. Diciamo che un linguaggio è semidecidibile se ha una procedura di semiriconoscimento. Proposizione. Un linguaggio di tipo 1 è decidibile. Proposizione. Un linguaggio di tipo 0 è semidecidibile (vale anche l'inverso). DECIDIBILITA DI PROBLEMI Un problema decisionale definito su un insieme di istanze, alcune dotate di una proprietà (istanze yes) altre no (istanze no), è detto decidibile se esiste un algoritmo che per ogni istanza del problema sa decidere correttamente se è una istanza yes oppure una istanza no. In caso contrario il problema è detto indecidibile. E detto semidecidibile se esiste un algoritmo che sulle istanze yes del problema sa rispondere correttamente.
RICHIAMI 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
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
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
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
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
Dettagli9. LINGUAGGI FORMALI E GRAMMATICHE DI CHOMSKY
9. LINGUAGGI FORMALI E GRAMMATICHE DI CHOMSKY Linguaggi e informatica @ Presenti in tutte le applicazioni e in tutte le fasi di uso di un computer: linguaggi di specifica, di programmazione, di scripting
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
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.
DettagliPROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica G=(V n,v t
PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica Una grammatica permette di stabilire se una sequenza di simboli
DettagliLinguaggi 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
DettagliGrammatiche Parse trees Lezione del 17/10/2012
Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,
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,
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
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
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
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=
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,/}
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
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
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
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.
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
DettagliUniversità degli studi Roma Tre. linguaggio Java. A cura di A. Orlandini. Linguaggi: Sintassi e Semantica - Il. Il linguaggio Java
Università degli studi Roma Tre Linguaggi: Sintassi e Semantica Il A cura di A. Orlandini 1 Obiettivi Distinguere la sintassi dalla semantica di un linguaggio Conoscere le convenzioni del meta-linguaggio
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
DettagliLogica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
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
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
DettagliProprietà dei linguaggi regolari
Proprietà dei linguaggi regolari Argomenti della lezione Relazione tra automi, grammatiche ed espressioni regolari Pumping lemma per i linguaggi regolari Equivalenza di automi a stati finiti Le seguenti
DettagliLinguaggi Sintassi e Semantica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 4 Linguaggi Sintassi e Semantica Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Linguaggi - Sintassi
DettagliLOGICA 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
DettagliGrammatiche context-free
Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Grammatiche context-free Giacomo PISCITELLI Politecnico di Bari G. Piscitelli pag. 1 di 28 Grammatiche
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.................................
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
DettagliGRAMMATICA FORMALE. Albero sintattico
GRAMMATICA FORMALE Una quadrupla VT,VN,P,S dove: VT è un insieme finito di simboli terminali VN è un insieme finito di simboli non terminali Pè uninsieme finito di produzioni, ossiadi regole di riscrittura
DettagliLINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
DettagliL elaborazione del linguaggio naturale
L elaborazione del linguaggio naturale fondamenti teorici dell intelligenza artificiale: la capacità di elaborare simboli è alla base del comportamento intelligente. L esempio di elaborazione simbolica
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliPropedeutico di matematica Centro Multimediale Montiferru. Lezione 1. Gli insiemi
Lezione 1 Gli insiemi Definizione: Un insieme è una collezione di oggetti aventi certe caratteristiche in comune. Gli oggetti si definiscono elementi dell insieme. Esempi: Insieme delle lettere dell alfabeto,
DettagliUn po di storia sui linguaggi
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima
DettagliIntroduzione ad alcuni sistemi di logica modale
Introduzione ad alcuni sistemi di logica modale Laura Porro 16 maggio 2008 1 Il calcolo proposizionale Prendiamo come primitivi i simboli del Calcolo Proposizionale (PC) tradizionale a due valori 1 : un
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
DettagliLinguaggi formali e compilatori
POLITECNICO DI MILANO Linguaggi formali e compilatori Appunti Stefano Invernizzi Anno accademico 2010-2011 Corso del prof. Angelo Morzenti Sommario Introduzione ai linguaggi... 5 Terminologia di base...
DettagliNOTE 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
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliLinguaggi di Markup. Violetta Lonati. Dipartimento Scienze dell Informazione Università degli Studi di Milano
Linguaggi di Markup Violetta Lonati a Dipartimento Scienze dell Informazione Università degli Studi di Milano a E garantito il permesso di copiare, distribuire e/o modificare i materiali cont enuti in
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}
DettagliInsiemi, 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
DettagliCorso di Programmazione Linguaggi di Programmazione
Corso di Programmazione Linguaggi di Programmazione Dott. Stefano Ferilli ferilli@di.uniba.it Università degli Studi di Bari Dipartimento di Informatica Linguaggio Insieme di sequenze di simboli appartenenti
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,
DettagliINSIEMI E RELAZIONI. 1. Insiemi e operazioni su di essi
INSIEMI E RELAZIONI 1. Insiemi e operazioni su di essi Il concetto di insieme è primitivo ed è sinonimo di classe, totalità. Sia A un insieme di elementi qualunque. Per indicare che a è un elemento di
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:
DettagliMaiuscole e minuscole
Maiuscole e minuscole Abilità interessate Distinguere tra processi induttivi e processi deduttivi. Comprendere il ruolo e le caratteristiche di un sistema assiomatico. Riconoscere aspetti sintattici e
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?
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
Dettagli3. OPERAZIONI TRA CLASSI 2
INSIEMI 1. Elementi e Classi Lo scopo di questo primo capitolo è di introdurre in maniera rigorosa le nozioni di classe e insieme, e di studiarne le principali proprietà. Nel seguito useremo il termine
DettagliCenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)
Cenni di programmazione ricorsiva Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Corso di Laurea in Informatica Università di Pisa A.A. 2009/10 R. Barbuti, P. Mancarella Indice
DettagliUnità Didattica 2 I Linguaggi di Programmazione
Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche
DettagliInsiemi. Esempio1: i ragazzi del corso di agraria nati nel 1990 formano un insieme.
Insiemi Definizione: Definizione: Un Un insieme insieme è è una una collezione collezione di di oggetti oggetti individuati individuati da da una una Determinata Determinata specificazione. specificazione.
DettagliCorso di Laurea in Fisica. Geometria. a.a Canale 3 Prof. P. Piazza Magiche notazioni
Corso di Laurea in Fisica. Geometria. a.a. 23-4. Canale 3 Prof. P. Piazza Magiche notazioni Siano V e W due spazi vettoriali e sia T : V W un applicazione lineare. Fissiamo una base B per V ed una base
DettagliForme differenziali lineari e loro integrazione
Forme differenziali lineari e loro integrazione Integrazione di una forma differenziale in due variabili Siano L(, ) e ( ) consideriamo l espressione M, due funzioni definite e continue in un insieme connesso
DettagliLinguaggi formali e compilazione
Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2015/2016 Linguaggi formali e compilazione Che cosa è un compilatore Un compilatore è un traduttore. Questo vuol dire un programma che:
DettagliConcentriamo la nostra attenzione sull insieme dei numeri razionali Q. In Q sono definite
Lezioni del 22 e 24 settembre. Numeri razionali. 1. Operazioni, ordinamento. Indichiamo con N, Z, Q gli insiemi dei numeri naturali, interi relativi, e razionali: N = {0, 1, 2,...} Z = {0, ±1, ±2,...}
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
DettagliLe basi del linguaggio Java
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del
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
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliAlcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica
Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica Raccolti e curati da Luca Spada Indice 1 Temi 1 1.1 Logica Matematica.......................... 1 1.2
DettagliUniversità degli Studi di Palermo Facoltà di Economia. Dipartimento di Scienze Economiche, Aziendali e Statistiche. Appunti del corso di Matematica
Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 03 - I Numeri Reali Anno Accademico 2015/2016 M. Tumminello,
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
DettagliElementi di Algebra Lineare Spazi Vettoriali
Elementi di Algebra Lineare Spazi Vettoriali Antonio Lanteri e Cristina Turrini UNIMI - 2015/2016 Antonio Lanteri e Cristina Turrini (UNIMI - 2015/2016) Elementi di Algebra Lineare 1 / 37 index Spazi vettoriali
DettagliLe grammatiche formali
Le grammatiche formali Le grammatiche formali costituiscono la base di numerose teorie ed applicazioni. Sul piano teorico costituiscono la base della teoria della grammatica generativa di Chomsky, come
DettagliDISPENSE SU TEORIA DEGLI INSIEMI E NUMERI
FACOLTA' DI ECONOMIA UNIVERSITA DELLA CALABRIA Corso di Modelli Matematici per l Azienda a.a. 2011-2012 DISPENSE SU TEORIA DEGLI INSIEMI E NUMERI Prof. Fabio Lamantia INSIEMI INSIEME= gruppo di oggetti
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliMassimo e minimo limite di successioni
Massimo e minimo limite di successioni 1 Premesse Definizione 1.1. Definiamo R esteso l insieme R = R { } {+ }. In R si estende l ordinamento tra numeri reali ponendo < a < +, a R. In base a tale definizione,
DettagliL aritmetica degli insiemi infiniti Parte I
L aritmetica degli insiemi infiniti Parte I Stefano Baratella Versione L A TEX realizzata in collaborazione con Tullio Garbari 1 Prerequisiti La relazione di equipotenza tra insiemi. Definizione 1. Si
DettagliNozioni introduttive e notazioni
Nozioni introduttive e notazioni 1.1 Insiemi La teoria degli insiemi è alla base di tutta la matematica, in quanto ne fornisce il linguaggio base e le notazioni. Definiamo un insieme come una collezione
DettagliI.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
Dettagli2. I numeri reali e le funzioni di variabile reale
. I numeri reali e le funzioni di variabile reale Introduzione Il metodo comunemente usato in Matematica consiste nel precisare senza ambiguità i presupposti, da non cambiare durante l elaborazione dei
DettagliGrafi 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
DettagliIntelligenza Artificiale. Logica proposizionale: calcolo automatico
Intelligenza Artificiale Logica proposizionale: calcolo automatico Marco Piastra Logica formale (Parte 3) - Parte 3 Calcolo automatico Forme normali ed a clausole Risoluzione e refutazione Forward chaining
Dettagli1 IL LINGUAGGIO MATEMATICO
1 IL LINGUAGGIO MATEMATICO Il linguaggio matematico moderno è basato su due concetti fondamentali: la teoria degli insiemi e la logica delle proposizioni. La teoria degli insiemi ci assicura che gli oggetti
DettagliMassimi e minimi vincolati
Massimi e minimi vincolati Vedremo tra breve un metodo per studiare il problema di trovare il minimo e il massimo di una funzione su di un sottoinsieme dello spazio ambiente che non sia un aperto. Abbiamo
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
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
DettagliCapitolo 1 Vettori applicati e geometria dello spazio
Capitolo 1 Vettori applicati e geometria dello spazio Marco Robutti Facoltà di ingegneria Università degli studi di Pavia Tutorato di geometria e algebra lineare Anno accademico 2014-2015 Definizione (Vettore
Dettagli1 Principio di Induzione
1 Principio di Induzione Per numeri naturali, nel linguaggio comune, si intendono i numeri interi non negativi 0, 1,, 3, Da un punto di vista insiemistico costruttivo, a partire dall esistenza dell insieme
DettagliLezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo
DettagliLinguaggi, grammatiche, espressioni regolari
Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Linguaggi, grammatiche, espressioni regolari Giacomo PISCITELLI Modello formale di un linguaggio Un linguaggio
DettagliGLI INSIEMI PROF. WALTER PUGLIESE
GLI INSIEMI PROF. WALTER PUGLIESE INSIEME DEFINIZIONE UN RAGGRUPPAMENTO DI OGGETTI RAPPRESENTA UN INSIEME IN SENSO MATEMATICO SE ESISTE UN CRITERIO OGGETTIVO CHE PERMETTE DI DECIDERE UNIVOCAMENTE SE UN
DettagliUniversità degli Studi di Milano
Università degli Studi di Milano Laurea in Sicurezza dei sistemi e delle reti informatiche Note di Matematica STEFANO FERRARI Fondamenti di informatica per la sicurezza Note di Matematica Pagina 2 di 8
DettagliLINGUAGGI FORMALI E AUTOMI
LINGUAGGI FORMALI E AUTOMI Alberto Bertoni Beatrice Palano (DISPENSE) Capitolo 1: Linguaggi e Grammatiche 1 Monoide delle parole, linguaggi e operazioni tra linguaggi Alfabeto, parola, linguaggio In generale,
DettagliFunzioni 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
DettagliLIMITI. 1. Definizione di limite.
LIMITI 1. Definizione di limite. Sia A un sottoinsieme di IR; se il numero reale x 0 è di accumulazione per A in ogni intorno di x 0 si trovano elementi di A distinti da x 0. Allora ha senso chiedersi
DettagliCapitolo 2 Linguaggi e Grammatiche
Università degli Studi di Bologna Scuola di Ingegneria e Architettura Capitolo 2 Linguaggi e Grammatiche Corso di Laurea Magistrale in Ingegneria Informatica Anno accademico 2014/2015 Prof. ENRICO DENTI
DettagliForme bilineari simmetriche
Forme bilineari simmetriche Qui il campo dei coefficienti è sempre R Definizione 1 Sia V uno spazio vettoriale Una forma bilineare su V è una funzione b: V V R tale che v 1, v 2, v 3 V b(v 1 + v 2, v 3
Dettagli01 - Elementi di Teoria degli Insiemi
Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 01 - Elementi di Teoria degli Insiemi Anno Accademico 2015/2016
DettagliUn insieme si dice ben definito quando si può stabilire in modo inequivocabile se un oggetto appartiene o non appartiene a tale insieme
Gli insiemi In matematica usiamo la parola insieme per indicare un raggruppamento, una collezione, una raccolta di oggetti (persone, simboli, numeri, lettere, figure ) che sono detti elementi dell insieme
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
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
DettagliFUNZIONI. y Y. Def. L insieme Y è detto codominio di f. Es. Siano X = R, Y = R e f : x y = 1 x associo il suo inverso). (ad un numero reale
FUNZIONI Siano X e Y due insiemi. Def. Una funzione f definita in X a valori in Y è una corrispondenza (una legge) che associa ad ogni elemento X al piú un elemento in Y. X Y Def. L insieme Y è detto codominio
Dettagli