Le grammatiche formali
|
|
|
- Angelica Sabrina Palmieri
- 9 anni fa
- Просмотров:
Транскрипт
1 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 pure di altre teorie grammaticali non chomskiane, come la Lexical Functional Grammar o la Generalized Phrase Structure Grammar (vedi ). Sul piano pratico hanno dato l avvio allo sviluppo dei compilatori di linguaggi di programmazione, dando così un importante impulso all informatica. Vengono, inoltre, utilizzate come linguaggi di descrizione in numerosi settori (vedi ). In linguistica computazionale hanno fornito il punto di partenza, insieme alla teoria degli automi, della teoria del parsing, o analisi sintattica automatica (vedi ) Descrizione informale La teoria delle grammatiche formali, nella sua formulazione originaria, risponde all esigenza di identificare i fondamenti teorici che giustificaano la nostra capacità grammaticale, cioè la nostra capacità di riconoscere frasi grammaticali appartenenti alla nostra lingua in un insieme di concatenazioni lunghe a piacere di parole. Un punto di partenza intuitivo molto valido è dato dal racconto La biblioteca di Babele di J.L. Borges, che tratta di una mitica biblioteca che si compone d un numero indefinito, e forse infinito, di gallerie esagonali A ciascuna parete di ciascun esagono corrispondono cinque scaffali; ciascuno scaffale contiene trentadue libri di formato uniforme; ciascun libro è di quattrocentodieci pagine; ciascuna pagina, di quaranta righe; ciascuna riga, di quaranta lettere di colore nero..il numero dei simboli ortografici è di venticinque.nel corridoio è uno specchio, che fedelmente duplica le apparenze (la sequenza dei brani è stata ritoccata). Gli uomini che vivono e si aggirano in questa biblioteca, che si identifica con l universo, osservano di tanto in tanto alcuni indizi, relativi al contenuto di questi libri, e formulano diverse teorie, spesso dividendosi in partiti diversi. Le osservazioni che motivano questi dibattiti sono, ad esempio Un altro (libro) è un mero labirinto di lettere, ma l ultima pagina dice Oh tempo le tue piramidi. oppure.trovò un libro tanto confuso come gli altri, ma in cui v erano quasi due pagine di scrittura omogenea, verosimilmente leggibile. Vengono formulate diverse ipotesi che approssimano le dimensioni e le caratteristiche di tale biblioteca. Tra queste, una molto accreditata è che gli scaffali della biblioteca registrano tutte le possibili combinazione dei venticinque simboli ortografici (numero, anche se vastissimo, non infinito) cioè tutto ciò ch è dato di esprimere, in tutte le lingue Spogliando il raccolto delle aggiunte artistiche, come i corridoi esagonali, i tratti salienti di questa narrazione sono: - la biblioteca contiene un numero forse infinito di libri che a loro volta contengono sequenze disordinate di combinazioni di venticinque simboli ortografici - sono presenti nei corridoi degli specchi che sembrano duplicare questo contenuto
2 - in mezzo a tali sequenze possono comparire sequenze di parole reali; in un caso appaiono addirittura due pagine consecutive. In altre parole, gli osservatori riconoscono sequenze appropriate della propria lingua, oppure sequenze che risultano in ogni caso linguistiche - l ipotesi che viene formulata è che i libri contengano, in mezzo a sequenze senza senso, tutti i possibili enunciati di tutte le possibili lingue. La prospettiva adottata da Borges è quella dell osservatore che si trova in mezzo all universo (alla biblioteca) e inferisce una serie di proprietà di questo universo. La teoria delle grammatiche formali adotta, invece, una prospettiva duplice, quella del creatore della biblioteca e quella dell osservatore. La biblioteca di Babele avrebbe potuto essere costruita con un operazione di estrazione casuale. Supponiamo di aver disposto in un urna venticinque bigliettini ciascuno recante uno dei venticinque simboli. Successivamente estraiamo i simboli ad uno ad uno rigettandoli subito dopo averli trascritti nell urna. Si formeranno, in questo modo, sequenze di lunghezza da 1 a n simboli, che costituiranno un insieme indefinito, certamente illimitato di sequenze, esattamente come la biblioteca di Babele. Il problema dell identificazione di qualcosa che sia esprimibile in tutte le lingue del mondo, presume, come preliminare, che qualcuno, che parli abitualmente una di tali lingue, riconosca una certa sequenza come appartenente alla propria lingua. L insieme delle sequenze riconosciute da tutti i parlanti di tutte le lingue costituisce esattamente ciò che Borges chiama tutto ciò ch è dato di esprimere, in tutte le lingue. Abbiamo identificato sia un operazione di costruzione della biblioteca di Babele sia l operazione che, pur non citata da Borges, sta alla base dell ipotesi più importante che gli uomini formulano su tale biblioteca. La teoria delle grammatiche formali è esattamente una teoria che mira ad identificare il meccanismo attraverso il quale ciascun parlante di una lingua è capace di discriminare le frasi della sua lingua da tutte quelle sequenze che non lo sono. Allo scopo di caratterizzare formalmente il linguaggio naturale, occorre collocarlo tra altri linguaggi formalmente definiti, e confrontarlo con essi. Occorre, quindi, prima di tutto, definire che cosa è un linguaggio formale e poi trattare il linguaggio naturale secondo i parametri stabiliti da tale definizione. La biblioteca di Babele è un monoide Il primo passo per caratterizzare l operazione di discriminazione è definire formalmente la biblioteca di Babele, cioè un insieme di sequenze create attraverso un operazione di estrazione casuale delle combinazioni di simboli. Definiamo prima di tutto Def.n.1 : Un alfabeto A è un insieme non vuoto di elementi detti simboli o caratteri. Si indica come A = { a,b,c...} Questa definizione generalizza i venticinque simboli di Borges; qualunque insieme di simboli scelto arbitrariamente può costituire A. A partire da A si possono formare stringhe, secondo Def.n.2 : Una stringa o parola su A è una sequenza finita o nulla di simboli di A, ottenuta per giustapposizione.
3 La lunghezza di una stringa è il numero di simboli che la compongono. La lunghezza della stringa x si indica x. Si indica di solito con una lettera greca, spesso λ, la stringa la cui lunghezza è 0. L operazione appena definita, che corrisponde all operazione di estrazione che abbiamo descritto sopra, produce stringhe di lunghezza da 0 a n. L insieme di tali stringhe, detto A*, è praticamente illimitato, soprattutto tenendo conto che la lunghezza n non è definita, ma arbitraria. Su tale insieme è ancora possibile applicare una ulteriore operazione di concatenazione. Def.n.3 : La concatenazione di stringhe è l'operazione che dà luogo ad una stringa formata giustapponendo le stringhe concatenate. Se x = ab e y = ba, xy = abba Questo specifico esempio corrisponde allo specchio di Borges che duplica la visione dei libri della biblioteca. L'operazione di concatenazione ha le seguenti proprietà: se w è l'insieme delle stringhe finite su A, allora: a) x, y w; (z = xy) w; w è chiuso rispetto alla concatenazione. b) v, x, y; (v (xy)) = ((vx) y); proprietà associativa. c) x; (x λ = λ x); λ è l'elemento di identità. d) xy, (xy = yx); la concatenazione non è commutativa. e) xy; ( xy = x + y ) dove = per ogni, = eiste un, = è membro di. L insieme di tutte le stringhe derivabili da A per giustapposizione, detto A* o, qui di seguito, W aggiunte alle stringhe derivabili per concatenazione all interno dello stesso insieme W si chiama monoide. Il monoide, esso stesso rappresentabile come W, è la rappresentazione formale della biblioteca di Babele. La definizione di un linguaggio all interno di un monoide. Il monoide è un insieme soggetto a tutte le proprietà degli insiemi, tra cui quella di permettere al suo interno la delimitazione di sottoinsiemi. Una classe interessante di tali sottoinsiemi sono i linguaggi. Def.n.4 : Un linguaggio L su A è un sottoinsieme di W. Un linguaggio formale, sottoinsieme di W, soggiace alle seguenti proprietà. Def.n. 5: Se L è un linguaggio, /L è il suo complementare e /L = {w} w W, w L Si ricorda che φ = /W, dove φ è il linguaggio vuoto. Def.n. 6: Dati i linguagggi L1 e L2, la loro unione (L1 + L2 o L1 L1 L2 = w w W, w L1 ovv. w L2 L2) è Def. n. 7: Dati i linguaggi L1 e L2, la loro intersezione (L1 L2) è
4 L1 L2 = w x W, w L1 e w L2 Def.n. 8: Dati i linguaggi L1 e L2, la loro concatenazione (L1. L2) è L1. L2 = w w W, w = xy, x L1 e y L2 Def.n. 9: Si chiama chiusure di L (L*) l'insieme L* = n 0 Ln dove L = λ, cioè il linguaggio costituito dalla parola vuota, e L n = L. L n-1, per n 1. La chiusura positiva di L; L +, è L + =Σ n 1 Ln Ciò significa che L+ = L. L* = L*. L e che L* = L + + λ Ogni linguaggio ottenuto da L per unione o concatenazione è contenuto in L* e W = A*. Le proprietà che abbiamo descritto per la concatenazione di simboli valgono ugualmente per la concatenazione di linguaggi. Dal punto di vista notazionale si dice A k = {w} w = k Le definizioni date sopra definiscono i linguaggi formali, le loro proprietà e le operazioni che possono essere compiute su di essi. Identificazione di un linguaggio W è l insieme di tutte le stringhe possibili. L è un linguaggio, tale che, rimanendo nella metafora di Borges, la somma di tutti gli L chiaramente identificabili costituisce quell insieme di lingue cui allude l autore. Riportando le nozioni fin qui introdotte alla lingua italiana, supponiamo di tagliare un dizionario della lingua italiana in tante striscioline di carta quante sono le parole che esso contiene; mettiamo queste striscioline in un cappello ed estraiamo tutte le sequenze possibili di lunghezza da 1 a n parole, rimettendo sempre nel cappello ogni strisciolina estratta. L insieme delle sequenze, che sarà, evidentemente, illimitato, include sequenze completamente casuali insieme a sequenze che sono frasi dell italiano. Ogni parlante di lingua italiana sarà sempre in grado di discriminare le frasi italiane dalle sequenze casuali. L esempio può essere ripetuto per ciascuna delle lingue del mondo. Il problema è Problema: Quale facoltà posseggono i parlanti di una lingua che permette loro di discriminare le frasi della propria lingua da quelle stringhe che non sono frasi? Questo problema può essere parafrasato in termini formali come: quali meccanismi permettono di identificare, all interno di W tutti gli elementi che fanno parte di L e discriminarli da quelli che non ne fanno parte? Sempre sul terreno formale si possono elencare quattro metodi: - elencazione delle stringhe, un metodo applicabile solo ai linguaggi finiti; - metodo generativo-sintetico, in cui un linguaggio è visto come l'insieme (infinito) di stringhe generate da una grammatica finita; - metodo riconoscitivo- analitico, in cui il linguaggio è visto come l'insieme delle stringhe riconosciute, o accettate, da un dispositivo finito detto automa;
5 -algebrico. Metodi di riconoscimento Il metodo algebrico non verrà qui trattato in quanto di poco interesse ai fini linguistici e computazionali. Il metodo dell elencazione si applica solo a linguaggi finiti, cioè formati da un insieme finito di stringhe. Questo non è il caso del linguaggio naturale, ad es. l Italiano, in quanto sappiamo per nostra stessa esperienza che il repertorio di frasi di una lingua è esso stesso illimitato, altrimenti non si potrebbe render conto della illimitata creatività della lingua. Restano quindi il metodo generativo-sintetico e quello riconoscitive analitico. Metodo generativo-sintetico: Grammatiche a struttura sintagmatica Una grammatica formale, o grammatica a struttura sintagmatica, è un dispositivo finito che permette di riconoscere un numero illimitato di frasi di una data lingua. Il dispositivo fondamentale delle grammatiche a struttura sintagmatica è la regola di riscrittura o produzione. Le grammatiche a struttura sintagmatica (in inglese Phrase Structure Grammars o PSG's) vennero introdotte da Chomsky per fornireuna classificazione dei linguaggi, preliminarmente alla caratterizzazione formale del linguaggio naturale. Una PSG è costituita dalla quadrupla G = (V, T, S, P) dove V = vocabolario, cioè l'insieme dei simboli coinvolti T V = vocabolario dei simboli terminali, cioè delle parole V - T = vocabàolario dei simboli non terminali, cioè delle categorie strutturali di passaggio S (V - T) = simbolo iniziale o assioma P = insieme di produzioni della forma α --> con α V + e V* Data una grammatica, si dirà che la stringa γ deriva direttamente dalla stringa µ, o che µ genera direttamente γ se e solo se µ = σ α τ, γ = σ τ e α --> P. Così ad esempio se µ = la nonna racconta γ = la mamma del padre racconta dove σ = 'la' e τ= 'racconta', si dice che "la nonna racconta" genera direttamente "la mamma del padre racconta"" se 'nonna' ---> 'mamma del padre' P. Più generalmente si dice che la stringa γ deriva da µ o che µ genera γ se e solo se esiste una sequenza di stringhe ω 1 ω 2...ω n con n > 0 tale che µ = ω 1 γ = ω n e i, 0 < i < n ω i --> ω i +1 Così, ad esempio, se bisnonna ---> nonna della madre P allora
6 µ = ω 1 = la bisnonna racconta ω 1 = la nonna della madre racconta γ = ω 2 = ω n )= la mamma del padre della madre racconta Si dirà, quindi, L (G) il linguaggio generato da G, l'insieme delle stringhe su T che possono essere derivate da S in G, cioè L (G) = x x T*, S -*-> x Così, ad esempio, se T = {il, cane, gatto, insegue, morde} V - T = {S, NP, VP, Det, N, V} P = {S --> NP VP, NP --> Det N, VP --> V NP, Det --> il, N --> cane, N --> gatto, V --> insegue, V --> morde} avremo L (G) = {il cane rincorre il gatto, il gatto rincorre il cane, il cane morde il gatto, il gatto morde il cane, il cane rincorre il cane, il gatto rincorre il gatto, il cane morde il cane, il gatto morde il gatto} Due grammatiche G1 e G2 si dicono equivalenti se L (G1) = L (G2). Ad esempio, la grammatica G1, formata da V = {A, S, a, b} T = {a, b} P = {S --> a A b a A --> aa A b A --> λ} genera un linguaggio L (G) = a n b n n > 1 ed è equivalente alla grammatica G2, formata da V = {S, a, b} T = {a, b} P = {S --> a S b {S --> ab} che genera lo stesso linguaggio. E' possibile imporre delle restrizioni alla forma delle produzioni, ottenendo così famiglie diverse di linguaggi. Tali famiglie, dette globalmente i linguaggi di Chomsky, vengono classificate in tre tipi diversi a seconda delle restrizioni imposte alle produzioni. Vengono detti linguaggi di tipo 0 quelli generati da produzioni senza alcuna restrizione. Un tipico linguaggio di tipo 0 è un linguaggio ricorsivamente enumerabile e non ricorsivo. Vengono detti linguaggi di tipo 1 quelli generati da grammatiche monotone e da grammatiche dipendenti dal contesto (context sensitive o CS). Le produzioni di una grammatica monotona hanno la forma α --> con α < cioè la stringa generata non può mai accorciarsi. Le grammatichge CS hanno produzioni della forma γ A δ --> γ δ, con γ,, δ V +, A (V - T).
7 Si può dimostrare che per ogni grammatica monotona esiste una grammatica CS equivalente. Un tipico linguaggio del tipo 1 è a n b n c n, n > 1. Vengono dette di tipo 2 le grammatiche libere, o libere da contesto o context-free (CF). Si tratta delle grammatiche più utilizzate sia nella definizione di linguaggi di programmazione che per lo studio del linguaggio naturale. La produzione tipica ha la forma A --> con A (V - T) e V + Un linguaggio CF tipico è a n b n, n > 1. Si dicono di tipo 3 i linguaggi lineari, le cui produzioni hanno la forma A --> con A (V -T) e V +, non può contenere più di un B (V-T). I linguaggi lineari possono essere lineari a destra o regolari, con produzioni della forma A --> a B opp. A --> a o lineari a sinistra, con produzioni della forma A --> B a opp. A --> a Si può dimostrare che per ogni grammatica lineare a destra esiste una grammatica lineare a sinistra equivalente. Un tipico linguaggio regolare è a n b m, con n, m > 1. I linguaggi finiti sono un sottoinsieme dei linguaggi lineari, del tipo (a, ab, bc). La relazione in cui stanno i linguaggi tra loro è L0 L1 L2 L3 L finiti Una notazione per grammatiche di tipo 2 spesso utilizzata nella definizione di linguaggi di programmazione o di altri linguaggi di rappresentazione, anche di uso linguistico, come i frames o le ATN (vedi sotto), è il Backus Naur ( o Normal) Formalism (BNF), in cui --> e notato ::= e si legge "è sostituito da", e più produzioni di uguale parte sinistra possono essere fattorizzate usando il simbolo "oppure". I simboli non terminali si scrivono tra <>. In questo modo le produzioni S --> NP VP S --> NP V si scrivono <S> ::= <NP> <VP> <NP> <V> <V> S --> V Data una grammatica formale, si dirà che una stringa appartiene al linguaggio corrispondente se esiste una derivazione nella grammatica dal simbolo iniziale a quella stringa. L'ordine di applicazione delle produzioni è irrilevante, mentre è rilevante la relazione che ogni produzione istituisce fra i simboli. Per le grammatiche CF e quelle regolari tale relazione è esprimibile mediante una struttura detta "ad albero". Data la grammatica G = (V, T, S, P) l'albero di derivazione di una stringa si ottiene nel modo seguente: a) ogni suo nodo ha un'etichetta che è un simbolo di V b) l'etichetta della radice è S
8 c) ogni nodo non terminale ha un'etichetta che è in (V -T) d) ogni nodo terminale ha un'etichetta che è in T e) se un nodo con etichetta x ha come discendenti diretti, nell'ordine i nodi con etichetta x 1,..., x k allora x --> x 1...x k è in P. L'ordine delle produzioni è irrilevante. Es.: G = ( {S, A, a, b}, {a, b}, S, P) P = {S --> a A S a A --> S b A SS ba} cioè (1) S --> a A S S --> a (3) A --> S b A (4) A --> S S (5) A --> b a una possibile derivazione è
9 S (1) a A S (3) a S b A S a S b A a (5) a S b b a a a a b b a a Si chiama, invece, derivazione canonica sinistra quella ottenuta sostituendo sempre il primo simbolo a sinistra: S (1) a A S (3) a S b A S a a b A S (5) a a b b a S a a b b a a Al contrario, si chiama derivazione canonica destra quella ottenuta espandendo sempre il primo simbolo a destra: S (1) a A S a A a (3) a S b A a (5) a S b b a a a a b b a a Indipendentemente dal tipo di derivazione che possa generare una stringa, ad essa è sempre associato un unico albero. Si può dire, quindi, che ad ogni albero possono corrispondere una o più derivazioni. Nel caso del nostro esempio l'albero è il seguente
10 Si dice che una grammatica G è ambigua, se esiste una sequenza di L (G) generata da due derivazioni caniche sinistre distinte. L è non ambiguo se esiste una grammatica CF non ambigua che la generi, altrimenti si dice intrinsecamente ambigua. La rappresentazione ad albero evidenzia il fenomeno della ricorsione in una produzione, cioè il fatto che nella parte destra appaia, tra gli altri, anche il simbolo a sinistra. La ricorsione viene detta - ricorsione destra A --> A che dà luogo ad alberi del tipo - ricorsione sinistra A --> A che dà luogo ad alberi del tipo
11 Le grammatiche di tipo computazionale sono scritte o fanno comunque riferimento ad una grammatica Context Free e restituiscono in ogni caso un albero sintattico a struttura sintagmatica.
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
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
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
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
Linguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto
rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora una classe piu ampia di linguaggi, i Linguaggi Liberi da Contesto (CFL) i CFL sono stati
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
Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd
Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di
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=
PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica G=(V n,v t
PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica Una grammatica permette di stabilire se una sequenza di simboli
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
Grammatiche 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
Grammatiche 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,
Quiz sui linguaggi regolari
Fondamenti dell Informatica 1 semestre Quiz sui linguaggi regolari Prof. Giorgio Gambosi a.a. 2016-2017 Problema 1: Data l espressione regolare a, definita su {a, b}, descrivere il linguaggio corrispondente
Dispensa 2. Data una grammatica context free esistono tre metodi diversi per costruirne la parsing table per un parser LR:
Dispensa 2 2.1 Costruzione Parsing Table LR: generalità Come tutti i parser tabellari predittivi, anche i parser LR possono essere applicati solo a parsing table senza conflitti (ossia entrate multiple)
Logica proposizionale
Definire un linguaggio formale Logica proposizionale Sandro Zucchi 2013-14 Definiamo un linguaggio formale LP (che appartiene a una classe di linguaggi detti linguaggi della logica proposizionale) Per
DISPENSE 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
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.
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
Insiemi di numeri reali
Capitolo 1 1.1 Elementi di teoria degli insiemi Se S è una totalità di oggetti x, si dice che S è uno spazio avente gli elementi x. Se si considerano alcuni elementi di S si dice che essi costituiscono
Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm
Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemma N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Teorema di Kleene 2 3 o 1 o 3 o 8 Teorema di Kleene Vale la seguente equivalenza: L 3 L FSL L REG Dimostrazione.
Esercitazioni di Algebra e Geometria
Esercitazioni di Algebra e Geometria Anno Accademico 2011 2012 Dott.ssa Elisa Pelizzari e-mail [email protected] Esercitazioni: lunedì 14.30 16.30 venerdì 14.30 16.30 Ricevimento studenti: venerdì 13.00
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,...)
Esempio stringhe palindrome 1
Esempio stringhe palindrome 1 Automa per il riconoscimento del linguaggio L = {w c w R } A = < {s,f}, {a,b,c}, {a,b},!, s, { f } > con! che contiene le transizioni: 1. (( s, a, " ), (s, a)! [ push a] 2.
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
11. Misure con segno.
11. Misure con segno. 11.1. Misure con segno. Sia Ω un insieme non vuoto e sia A una σ-algebra in Ω. Definizione 11.1.1. (Misura con segno). Si chiama misura con segno su A ogni funzione ϕ : A R verificante
LINGUAGGI CONTEXT FREE. Lezione Lezione
LINGUAGGI CONTEXT FREE Lezione 25-11-2010 Lezione 30-11-2010 2 INTRODUZIONE GERARCHIA DI CHOMSKY 3 4 DEFINIZIONE DEI LINGUAGGI CONTEXT FREE LINGUAGGI CF I linguaggi di tipo 2 sono detti context free (CF)
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 ([email protected]) Dipartimento di Informatica Università degli Studi di Bari Grammatiche
Linguaggi e Traduttori: Analisi lessicale
Linguaggi e Traduttori: Analisi lessicale Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-La) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova
LINGUAGGI 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
AUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
CORSO DI AZZERAMENTO DI MATEMATICA
CORSO DI AZZERAMENTO DI MATEMATICA 1 LE BASI FONDAMENTALI INSIEMI INSIEMI NUMERICI (naturali, interi, razionali e reali) CALCOLO LETTERALE RICHIAMI DI TRIGONOMETRIA I NUMERI COMPLESSI ELEMENTI DI GEOMETRIA
2. 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
LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.
LEZIONE 2 2 Sistemi di equazioni lineari Definizione 2 Un equazione lineare nelle n incognite x, x 2,, x n a coefficienti reali, è un equazione della forma (2 a x + a 2 x 2 + + a n x n = b, ove a j, b
GRAMMATICA 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
GRAMMATICHE 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
Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica A.A.
Matematica e-learning - Gli Insiemi Prof. Erasmo Modica http://www.galois.it [email protected] A.A. 2009/2010 1 Simboli Matematici Poiché in queste pagine verranno utilizzati differenti simboli matematici,
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
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
MODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI
MODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI Un linguaggio di programmazione è uno strumento per esprimere algoritmi in una forma adatta allo loro esecuzione da parte di un elaboratore La formulazione
Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari
Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}
Matematica per le scienze sociali Elementi di base. Francesco Lagona
Matematica per le scienze sociali Elementi di base Francesco Lagona University of Roma Tre F. Lagona ([email protected]) 1 / 24 Outline 1 Struttura del corso 2 Algebra booleana 3 Algebra degli
Esercitazioni di Algebra e Geometria
Esercitazioni di Algebra e Geometria Anno Accademico 2010 2011 Dott.ssa Elisa Pelizzari e-mail [email protected] Esercitazioni: lunedì 14.30 16.30 venerdì 14.30 16.30 Ricevimento studenti: venerdì 13.30
Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen
Esercitazione Ricorsione May 31, 2016 Esercizi presi dal libro di Rosen Problema 2 a) sezione 5.3 Data la seguente funzione definita ricorsivamente come: f(n+1) = 2f(n) f(0) = 3 Determinare il valore di
Linguaggi 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
RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine
RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale
ELEMENTI 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
Linguaggi e Ambienti di Programmazione
Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi
NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n
NOTE DI ALGEBRA LINEARE 2- MM 9 NOVEMBRE 2 Combinazioni lineari e generatori Sia K un campo e V uno spazio vettoriale su K Siano v,, v n vettori in V Definizione Un vettore v V si dice combinazione lineare
Logica 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
INTRODUZIONE AL TESTO FILOSOFICO
INTRODUZIONE AL TESTO FILOSOFICO MEDIANTE FORME DI ANNOTAZIONE SEMANTICA Ciclo seminariale 4 febbraio 2011 4 marzo 2011 Fra ontologie e mappe: un introduzione Francesco Bianchini DI COSA PARLEREMO Mappe
Proprietà commutativa e associativa per le serie
Analisi Matematica 1 Trentaseiesima Trentasettesimalezione Proprietà commutativa e associativa per le serie Prodotto Serie di alla potenze Cauchy prof. Claudio Saccon Dipartimento di Matematica Applicata,
= 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
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,
Alberi: definizioni e dimostrazioni induttive.
Alberi: definizioni e dimostrazioni induttive. Gennaio 2005 Iniziamo con l introdurre la nozione di albero. Con N indichiamo l insieme dei numeri naturali (zero escluso) e con N l insieme delle liste finite
Linguaggi, 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
Problemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
L algoritmo per la classificazione delle superfici topologiche connesse e compatte
Università degli studi di Torino Corso di Studi in Matematica Geometria 3 L algoritmo per la classificazione delle superfici topologiche connesse e compatte Alberto Albano Come notato varie volte a lezione,
LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g
LEZIONE 3 3.. Matrici fortemente ridotte per righe. Nella precedente lezione abbiamo introdotto la nozione di soluzione di un sistema di equazioni lineari. In questa lezione ci poniamo il problema di descrivere
delta δ mu (mi) µ M iupsilon υ Y eta η H omicron o O psi ψ Ψ 1. Scrivere il proprio nome e cognome in lettere greche.
Capitolo 1 Numeri 1.1 Alfabeto greco Un ingrediente indispensabile per lo studente che affronta un corso di analisi matematica è la conoscenza dell alfabeto greco, di cui verranno usate a vario titolo
Formulario sui Prodotti Hermitiani Marcello Mamino Pisa, 24 v 2010
Formulario sui Prodotti Hermitiani Marcello Mamino Pisa, 24 v 2010 In quetsa dispensa: V è uno spazio vettoriale di dimensione d sul campo complesso C generato dai vettori v 1,..., v d. Le variabili m,
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
Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
Corso di elettrotecnica Materiale didattico: i grafi
Corso di elettrotecnica Materiale didattico: i grafi A. Laudani 12 ottobre 2005 I grafi costituiscono uno strumento matematico che permette di descrivere e schematizzare una grande varietà di problemi
Descrizione 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
SUCCESSIONI E SERIE NUMERICHE E DI FUNZIONI
SERIE NUMERICHE Si consideri una successione di elementi. Si definisce serie associata ad la somma Per ogni indice della successione, si definisce successione delle somme parziali associata a la somma
DEFINIZIONE DI INSIEME
ELEMENTI DI TEORIA DEGLI INSIEMI PROF.SSA ROSSELLA PISCOPO Indice 1 DEFINIZIONE DI INSIEME ------------------------------------------------------------------------------------------------ 3 2 METODI DI
Linguaggio della Matematica
Linguaggio della Matematica concetti primitivi: elementi fondamentali di natura intuitiva (punto, retta, insieme, elemento di un insieme,...). assiomi: enunciati, proposizioni vere a priori (gli assiomi
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
