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
|
|
- Aniello Chiari
- 7 anni fa
- Visualizzazioni
Transcript
1 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. Le forme normali vengono usate per dimostrare proprietà particolari dei linguaggi piuttosto che per scopi applicativi. Forma normale di Chomsky E caratterizzata da regole di due tipi Forma normale di Greibach A! BC dove A, B, C $ V N A! a con a $ V T E caratterizzata da regole di un solo tipo A! a % con a $ V T e % $ V N * Nel seguito faremo riferimento solo alla forma normale di Chomsky
2 Forma Normale di Chomsky Prima di illustrare la trasformazione occorre effettuare una serie di passaggi preliminari per rendere la grammatica adatta alla trasformazione stessa (forma ridotta). I passaggi effettuati saranno tutti rivolti alla determinazione di grammatiche equivalenti rispetto a quella di partenza, con l eventuale esclusione del simbolo {&}. 1. A partire da G viene costruita una grammatica G 1 di tipo 2 senza &-produzioni che genera L(G) -{&} 2. A partire dalla grammatica G 1 si costruisce una grammatica G 2 di tipo 2 senza &-produzioni e senza produzioni unitarie. 3. A partire dalla grammatica G 2 si costruisce una grammatica G 3 di tipo 2 senza &-produzioni, senza produzioni unitarie e senza simboli inutili. 4. La grammatica G 4 equivalente alla grammatica di partenza G coincide con G 3 se & ' L(G), altrimenti G 4 è ricavata da G 3 introducendo un nuovo assioma ed un opportuno insieme di produzioni su tale simbolo.
3 Forma Normale di Chomsky 1. Eliminazione delle &-produzioni L eliminazione delle &-produzioni viene fatta in due step. Nel primo step vengono individuate le variabili (simboli non terminali) annullabili, nel secondo step si effettua l eliminazione delle &-produzioni. Una variabile (simbolo non terminale) si dice annullabile se questo può generare la stringa vuota. Primo step Es1. S! ACA A! aaa B C B! bb b C! cc & Si verifica immediatamente come il simbolo C sia un simbolo annullabile in quanto genera direttamente &. A partire da C si verifica come anche il simbolo A sia annullabile così come il simbolo S. Pertanto i simboli annullabili sono S A C. Es2 S! AB A! aaa & B! bbb & A partire da A e da B, che sono immediatamente annullabili si ricava l annullabilità di S. Pertanto i simboli annullabili sono S A B.
4 Eliminazione delle &-produzioni (cont.) Forma Normale di Chomsky A questo punto siamo in grado di effettuare l eliminazione delle &-produzioni con un procedimento algoritmico che ha l obiettivo di definire la grammatica equivalente aggiungendo opportune produzioni alla grammatica di partenza. Per ogni produzione della grammatica G del tipo A! X 1, X 2,..., X k, supponiamo che m dei k simboli siano annullabili, allora la grammatica risultante G 1 avrà 2 m versioni della produzione (con la sola eccezione di quando m=k). Inoltre non verranno riportate le produzioni della forma A! &. Es1. (simboli annullabili S A C) S! ACA A! aaa B C B! bb b C! cc & S! ACA AC CA AA A C & A! aaa aa B C B! bb b C! cc c L!-produzione può comparire direttamente sull assioma a condizione che questo con compaia alla destra di qualche produzione Es2 (simboli annullabili S A B ) S! AB A! aaa & B! bbb & S! AB A B A! aaa aa a B! bbb bb b
5 Forma Normale di Chomsky Osservazioni sull eliminazione delle &-produzioni Oss. 1- La &-produzione presente in S! ACA AC CA AA A C & A! aaa aa B C B! bb b C! cc c non è significativa se non per la possibilità da parte della grammatica di generare anche la stringa vuota. Infatti il linguaggio L(G) generato dalla grammatica G senza una tale &-produzione è perfettamente equivalente a una grammatica G con tale &-produzione. Cioé L(G ) = L(G) " {&}. Oss. 2 - E possibile aggiungere direttamente la &-produzione all assioma del linguaggio come nell esempio prima visto. Ciò è possibile a condizione che l assioma non compaia in una parte destra di qualche produzione. Se questa eventualità si verifica è comunque possibile aggiungere la &-produzione al costo dell inserimento di un simbolo non terminale aggiuntivo, secondo il seguente criterio. Criterio seguito VN = VN " { S } P = P " { S! &} " { S! % S! % $ P} Esempio S! asba ab A! cad cd S! asba ab & S! asba ab A! cad cd
6 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, talvolta necessaria, al momento della creazione della grammatica. La rimozione di queste regole implica la definizione di altre regole che producano le stesse stringhe. Es1 A! aa a B B! bb b C è evidente la catena di regole che da A porta al simbolo C via il simbolo B Algoritmo Sia P1 l insieme delle produzioni della grammatica di partenza G1 (senza &-produzioni). 1. Per ogni simbolo X $ V N della grammatica G1 si individuano tutti i simboli non terminali ad esso collegati raggiungibili da produzioni unitarie, chiamo questa lista CHAIN(X). 2. Le produzioni P2 della grammatica trasformata G2 sono costruite a partire dalle produzioni P1 considerato che la regola X! w è collocata in P2 se esiste un simbolo Y e una stringa w tale che: a) Y $ CHAIN(X) b) Y! w $ P1 c) w ' V N X Y w
7 Eliminazione delle produzioni unitarie cont. Es2 S! ACA AC CA AA A C & A! aaa aa B C B! bb b C! cc c Determinazione dei simboli unitari CHAIN(S) = {S,A,C,B} CHAIN(A) = {A,B,C} CHAIN(B) = {B} CHAIN(C) = {C} S! ACA AC CA AA A C & A! aaa aa B C B! bb b C! cc c Forma Normale di Chomsky S! ACA AC CA AA aaa aa bb b cc c & A! aaa aa bb b cc c B! bb b C! cc c Esercizio- Scrivere la grammatica equivalente della grammatica G13 E! E+T E- T T T! T *F T/F F F! (E) id id! a b c
8 3. Eliminazione dei simboli inutili Forma Normale di Chomsky Def. In una Grammatica contex-free, un simbolo x $ (V N " V T ) è detto simbolo utile se esiste una derivazione Un simbolo che non è utile è detto inutile. S #* u x v #* w con u, v $ (V N " V T )* e w $ V T * Affinché una variabile sia considerata utile occorre che si verifichino le seguenti due condizioni: Generabilità - cioé tramite il simbolo si deve poter pervenire ad una stringa di caratteri terminali (compresa eventualmente la stringa vuota &) Raggiungibilità - che il simbolo deve far parte di una forma sentenziale, ovvero è raggiungibile a partire dal simbolo distinto S S! AC BS B A! aa af B! CF b C! cc D D! ad BD C E! aa BSA F! bb b Qual è il linguaggio generato da questa grammatica?
9 3. Eliminazione dei simboli inutili (cont.) Forma Normale di Chomsky Algoritmo (individuazione dei simboli generatori) - Si collocano nella lista GEN tutti simboli A tali che esiste una regola A! w in P con w $ V T * repeat PREV := GEN Per ogni variabile A $ V N se c é una regola A! w con w $ (PREV " V T )* allora GEN = GEN " { A} until GEN= PREV P S! AC BS B S! BS B GEN PREV A! aa af A! aa af { B,F} B! CF b B! b { B,F, A, S} { B,F} C! cc D D! ad BD C { B,F, A, S,E} { B,F, A, S} E! aa BSA E! aa BSA { B,F, A, S,E} { B,F, A, S,E} F! bb b F! bb b La grammatica risultante G avrà come V N i simboli in GEN, come produzioni P le produzioni A!w di P tali che A $ GEN e w $ (GEN " V T )*, come V T i simboli terminali che occorrono nelle parti destre di P, ovvero V N = { B,F, A, S,E}, V T = { a,b} e P come sopra indicato.
10 3. Eliminazione dei simboli inutili (cont.) Forma Normale di Chomsky Algoritmo (individuazione dei simboli raggiungibili) RAGG = simbolo distinto di G PREV :=( repeat NEW := RAGG-PREV PREV:= RAGG per ogni variabile A $ NEW per ogni regola A! w addiziona tutte le variabili in w a RAGG until RAGG=PREV RAGG PREV { S} { (} NEW { S, B} { S} { S} { S, B} { S, B} { B} S! BS B A! aa af B! b E! aa BSA F! bb b La grammatica risultante G avrà come V N i simboli in RAGG, come produzioni P le produzioni A!w di P tali che A $ RAGG e w $ (RAGG " V T )*, come V T i simboli terminali che occorrono nelle parti destre di P, ovvero V N = { S,B}, V T = {b} e P come sopra indicato. P S! BS B B! b
11 Forma Normale di Chomsky Una grammatica G si dice in forma normale (di Chomsky) se ciascuna regola è della forma: 1. A! BC con B, C! V N - { S} 2. A! a 3. S! " Data una grammatica di tipo 2, G = < VN,VT,P, S > è possibile costruire per via algoritmica una grammatica G = < V N,VT,P, S > in forma normale (di Chomsky). Si assume che la grammatica abbia la seguente struttura: Il simbolo distinto S non è ricorsivo G è privo di!-produzioni ad esclusione di S!! G non contiene produzioni unitarie G non contiene simboli inutili Una produzione di una tale grammatica può avere solo una delle seguenti forme: S!! A! a a! VT A! w w!( ( VN # VT ) - { S})* e w > 1 Si osservi come avendo eliminato le produzioni unitarie la parte destra di una regola non potrà essere formata dal un solo simbolo non terminale, pertanto le regole A! w avranno come parte destra più simboli terminali e non terminali.
12 Forma Normale di Chomsky Si tratta in definitiva di vedere come si trattano le produzioni A! w in cui w > 1. S! aabc a A! aa a B! bcb bc C! cc c produzioni già in forma normale Il primo passo sarà quello di sostituire i terminali presenti in w con opportuni simboli non terminali. S! A ABC a A! A A a B! B C B B C C! C C c A! a B!b C!c produzioni ancora non in forma normale A questo punto dobbiamo gestire le regole con parti destre costituite da più di due simboli non terminali, in quanto tutte le altre soddisfano già le condizioni della forma normale. Ciò viene fatto introducendo delle ulteriori variabili.
13 Forma Normale di Chomsky S! A ABC a A! A A a B! B C B B C C! C C c A! a B!b C!c Si introducono altre opportune variabili S! A ABC B! B C B S! A T1 T1! ABC B! B T4 T4! C B non in forma normale non in forma normale S! A T1 T1! A T2 T2! BC Si ha pertanto che la grammatica di partenza S! aabc a A! aa a B! bcb bc C! cc c viene trasformata in S! A T1 a A! a T1! A T2 T 2! BC A! A A a B! B T4 B C T4! C B C! C C c B!b C!c
14 Forma Normale di Chomsky Esercizio Trasformare in forma normale di Chomsky la grammatica: E $ E+T E- T T T $ T *F T/F F F $ (E) id id $ a b c
15 Automi Pushdown Rappresentano una modificazione degli automi a stati finiti in quanto introducono il concetto di memoria, tale memoria è rappresentata sotto forma di stack La grammatica G 14 con regole S $ a S a b S b " riconosce stringhe palindrome input S%aSa % aa S%aSa % absba %abba S%aSa % absba %abbasabba%abbaabba... a b b a a b b a testina di lettura Controllo b b a stack
16 Automi Pushdown Un automa pushdown è definito dalla sestupla < K, ", &, ', s, Z > K - Insieme degli stati " - Alfabeto di Ingresso (Alfabeto terminale) & - Alfabeto dello stack s - Stato iniziale s! K Z - insieme degli stati finali Z ( K ' - relazione di transizione è un sottoinsieme finito di # ( K x (" # {"} ) x &*) x (K x&*) #
17 Transizioni negli automi pushdown Una quintupla (p, a, )), (q, *) rappresenta una transizione e viene interpretata nel seguente modo : # se l automa si trova in uno stato p, sta leggendo il simbolo a dal nastro, mentre ) si trova sul top dello stack, l automa passa allo stato q e rimpiazza ) con * sul top dello stack Ex: la transizione (p, ", )), (q, *) non legge alcun simbolo dal nastro di input passa dallo stato p allo stato q mette * al posto di ) nello stack la transizione (p, u, "), (q, a) legge il carattere u ## # passa dallo stato p allo stato q ## # effettua il push di a nello stack" " la transizione (p, u, a), (q, ") legge il carattere u ## # passa dallo stato p allo stato q "" " effettua il pop di a dallo stack
18 Configurazioni negli automi pushdown Si definisce una configurazione dell automa un elemento di ## # # ## # # K x "* x &* in cui la prima componente è lo stato corrente della macchina, la seconda componente è la porzione di input che deve essere ancora letta, la terza componente è il contenuto dello stack Ex: ( q, bba, bba) è una configurazione in cui il contenuto corrente dello stack è bba (b è al top) e la parte di stringa ancora da leggere è bba Date le due configurazioni c 1 = (p, x, +) e c 2 = (q, y,,) si dirà che c 1 si trasforma in c 2 in un singolo passo e si scrive (p, x, +) - (q, y,,) se esiste una transizione (p, s, )), (q, *)! ' tale che: x = sy, + = ). e, = *. Ex: (q, bba, bba) - (q, ba, ba) in virtù di una transizione in ' avente la struttura (q, b, b), (q, ") per cui x= bba y=ba + = bba, = ba.=ba )=b *= " input a b b a a b b a Controllo testina di lettura b b a stack
19 Computazioni di un automa pushdown Una sequenza di configurazioni C 0, C 1,..., C n con n > 0 tale che C 0 = ( s, w, ") - C 1 - C C n = (p, ", ") per qualche p! Z, viene chiamata una computazione accettante di # lunghezza n. Dato un automa pushdown A, il linguaggio accettato da A e denotato da L(A) è l insieme delle stringhe accettate da A
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,
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
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=
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
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.
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
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
DettagliCostruzione di espressioni regolari 4
ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:
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
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
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
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
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
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}
DettagliPresentazione di gruppi
Presentazione di gruppi Sia G un gruppo e X un suo sottoinsieme non vuoto, indichiamo con Gp(X) = {x ɛ 1 1 x ɛ 2 2... x ɛ n n x i X, ɛ i = ±1} dove gli elementi di questo insieme sono da intendersi come
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
DettagliAniello Murano Automi e Pushdown
Aniello Murano Automi e Pushdown 2 Lezione n. Parole chiave: Automi e PDA Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Calcolabilità, complessità e macchine computazionali
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
DettagliMacchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F
Macchina di Turing Nastro di Input...!!! a b b! b a! testina!!... s r s t q i Unità di Controllo q j Q S / D / F P Definizione Formale Una macchina di Turing deterministica è una sestupla
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.................................
DettagliParser 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
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
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
DettagliLa macchina universale
La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*
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
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
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?
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
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
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
DettagliLe Macchine di Turing
Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella
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
DettagliLINGUAGGI E GRAMMATICHE FORMALI
LINGUAGGI E GRAMMATICHE FORMALI I LINGUAGGI IN INFORMATICA Presenti in tutte le applicazioni Fondamentali nel software di sistema Paradigmatici nella teoria molti importanti problemi teorici son riconducibili
DettagliEspressioni regolari descrivono i linguaggi regolari. Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari.
Espressioni regolari descrivono i linguaggi regolari Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere
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
DettagliAUTOMI A PILA. M.P. Schutzenberger
UTOMI PIL Introdotti da. G. Oettinger in utomatic Syntactic nalysis and the pushdown store Proc. Symp. pplied Math., 1961 e da M.P. Schutzenberger in Context free languages and pushdown automata Information
DettagliTuring, i nastri e le macchine
Turing, i nastri e le macchine Giochiamo con i nastri Avete a disposizione un nastro diviso in sezioni rettangolari, che chiameremo caselle, ognuna delle quali può essere vuota oppure contenere la lettera
DettagliCorso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard
Corso di Crittografia Prof. Dario Catalano Advanced Encryption Standard Perche un nuovo standard? n Quando si è deciso di sostituire DES, questo era ancora sicuro. n Sorge naturale la questione del perche
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
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
DettagliEsercizi 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
DettagliUniversità degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni
Università degli Studi di Udine Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni 1 Automi e Linguaggi 1. Sia dato p N, p > 0 dimostri che il linguaggio è regolare. L p = { a 0 a 1... a
DettagliIn molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.
Definizione Oggetto del calcolo combinatorio è quello di determinare il numero dei modi mediante i quali possono essere associati, secondo prefissate regole, gli elementi di uno stesso insieme o di più
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,
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
DettagliDireito do Turismo: Legislação específica aplicada
ISSN 1127-8579 Pubblicato dal 08/01/2013 All'indirizzo http://www.diritto.it/docs/34465-direito-do-turismo-legisla-o-espec-ficaaplicada Autore: Sola Fernanda Direito do Turismo: Legislação específica aplicada
DettagliMacchine 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
DettagliCos è un Calcolatore?
Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per
DettagliMetodo LALR. Tabelle LALR. Metodo LALR. Idea. Idea. Idea. Costruzione delle tabelle LALR
Metodo LALR Tabelle LALR Costruzione delle tabelle LALR Introduciamo l ultimo metodo di costruzione di tabelle per il parsing LR Nome: lookahead-lr abbreviato in LALR Questo metodo è usato spesso dato
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
DettagliAlgebra di Boole: minimizzazione di funzioni booleane
Corso di Calcolatori Elettronici I A.A. 200-20 Algebra di Boole: minimizzazione di funzioni booleane Lezione 8 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Forme Ridotte p Vantaggi
DettagliFondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a.
Fondamenti di Informatica Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. 2011-2012 Algoritmo L algoritmo è una sequenza finita di istruzioni, mediante le quali un qualunque operatore
DettagliSistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
DettagliRIDUZIONE DEL NUMERO DI STATI DI UN AUTOMA
RIDUZIONE DEL NUMERO DI STATI DI UN AUTOMA Il numero degli stati di un automa può risultare elevato, perché l insieme stesso degli stati può essere ridondante, in quanto vi possono essere più stati che
DettagliPrecorso di Analisi Matematica Facoltà d'ingegneria Università del Salento
Precorso di Analisi Matematica Facoltà d'ingegneria Università del Salento Calcolo Combinatorio Prof. A. Albanese Dipartimento di Matematica e Fisica E. De Giorgi - Università del Salento Disposizioni
DettagliRICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI
PARTE I RICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI Linguaggi regolari Linguaggi non contestuali Automi 1 1.1 I LINGUAGGI IN INFORMATICA @ Presenti a vari livelli di applicazione linguaggi di
DettagliAnalizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario I sistemi di numerazione Il sistema binario Altri sistemi di numerazione Algoritmi di conversione Esercizi 07/03/2012 2 Sistemi
DettagliITLCC 2006/10/6 19:09 page 7 #3
ITLCC 2006/10/6 19:09 page 7 #3 Capitolo 2 Macchine di Turing SOMMARIO In questo capitolo introdurremo il modello di calcolo proposto dal logico matematico inglese Alan Turing, in un suo famoso articolo
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
DettagliAutomi a pila. Automi a pila
utomi a pila Un automa a pila (PDA) e in pratica un ǫ-nfa con una pila. In una transizione un PDA: 1 Consuma un simbolo di input. 2 Va in un nuovo stato (o rimane dove e ). 3 Rimpiazza il top della pila
DettagliFondamenti di informatica per la sicurezza anno accademico 2004 2005 docente: Stefano Ferrari
Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2004 2005 docente: tefano Ferrari 23.02.2005 della seconda parte vers. A valutazioni
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:
DettagliLe coniche: circonferenza, parabola, ellisse e iperbole.
Le coniche: circonferenza, parabola, ellisse e iperbole. Teoria in sintesi Queste curve si chiamano coniche perché sono ottenute tramite l intersezione di una superficie conica con un piano. Si possono
DettagliFondamenti di informatica Esercizi Svolti Macchine di Turing. Realizzati da: Roberto Quaranta Matr
Fondamenti di informatica Esercizi Svolti Macchine di Turing Realizzati da: Roberto Quaranta Matr. 449028 Macchina di Turing che calcola la funzione Max(x, y) Q= {q 0, q 1, q 2, q 3, q 4, q 5, q 6,q F
DettagliEsercitazioni di Algebra e Geometria
Esercitazioni di Algebra e Geometria Anno Accademico 2010 2011 Dott.ssa Elisa Pelizzari e-mail elisa.peli@libero.it Esercitazioni: lunedì 14.30 16.30 venerdì 14.30 16.30 Ricevimento studenti: venerdì 13.30
DettagliIntroduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente
Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino
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
Dettagli04 - 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,
DettagliPermutazioni. 1 Introduzione
Permutazioni 1 Introduzione Una permutazione su un insieme di n elementi (di solito {1, 2,...,n}) è una funzione biiettiva dall insieme in sé. In parole povere, è una regola che a ogni elemento dell insieme,
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
DettagliLinguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice
l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre
DettagliEspressioni regolari
spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.
DettagliCorso di Fondamenti di Informatica. La ricorsione
Corso di Fondamenti di Informatica La ricorsione La ricorsione Si dice che un oggetto (una struttura dati, una funzione matematica, un concetto ) è ricorsivo se è possibile darne una definizione in termini
DettagliMetodo di Quine- McCluskey
Metodo di Quine- McCluskey Maurizio Palesi Maurizio Palesi Definizioni Date due funzioni f(x,x 2,,x n ) e g(x,x 2,,x n ) si dice che f copre g (oppure g implica f) e si scrive f g se f(x,x 2,,x n )= quando
DettagliIl diritto penitenziario in canton Berna
ISSN 1127-8579 Pubblicato dal 21/05/2013 All'indirizzo http://www.diritto.it/docs/35064-il-diritto-penitenziario-in-canton-berna Autore: Baiguera Altieri Andrea Il diritto penitenziario in canton Berna
DettagliRELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :
RELAZIONI INARIE Dati due insiemi non vuoti, A detto dominio e detto codominio, eventualmente coincidenti, si chiama relazione binaria (o corrispondenza) di A in, e si indica con f : A, (oppure R ) una
DettagliResponsabilidade Civil do Médico no Tocante à Culpa Médica e à Liquidação dos Danos
ISSN 1127-8579 Pubblicato dal 13/10/2011 All'indirizzo http://www.diritto.it/docs/32396-responsabilidade-civil-do-m-dico-no-tocanteculpa-m-dica-e-liquida-o-dos-danos Autore: Aldo Aranha de Castro Responsabilidade
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,
DettagliProgrammazione dinamica
Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine
DettagliCorso di Matematica per la Chimica
Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Propagazione degli errori introdotti nei dati
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...
DettagliLinguaggi formali e compilazione
Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2015/2016 Linguaggi formali e compilazione Elementi generali Un parser generico di tipo procede operando una sequenza di riduzioni a
Dettagli1 Relazioni. Definizione Una relazione R su un insieme A si dice relazione d ordine se gode delle proprietà 1), 3), 4).
1 Relazioni 1. definizione di relazione; 2. definizione di relazione di equivalenza; 3. definizione di relazione d ordine Definizione Una corrispondenza tra due insiemi A e B è un sottoinsieme R del prodotto
DettagliLinguaggi regolari e automi a stati finiti
utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file
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
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliEsercizio su MT. Svolgimento
Esercizio su MT Definire una macchina di Turing deterministica M a nastro singolo e i concetti di configurazione e di transizione. Sintetizzare una macchina di Turing trasduttore che trasformi un numero
Dettagli1 Funzioni reali di una variabile reale
1 Funzioni reali di una variabile reale Qualche definizione e qualche esempio che risulteranno utili più avanti Durante tutto questo corso studieremo funzioni reali di una variabile reale, cioè Si ha f
DettagliAutomi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di
Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di rappresentazione per descrivere programmi e specifiche. ω-automi:
DettagliNote per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
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
DettagliSeconda 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
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliAritmetica dei Calcolatori Elettronici
Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo
DettagliAlgoritmi e Principi dell Informatica
Algoritmi e Principi dell Informatica Appello del 2 Marzo 2015 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2 ore e 30 minuti. Chi deve sostenere solo il modulo di Informatica
DettagliFILE E INDICI Architettura DBMS
FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le
DettagliAppunti di informatica. Lezione 7 anno accademico Mario Verdicchio
Appunti di informatica Lezione 7 anno accademico 2016-2017 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore
Dettagli