AUTOMI A STATI FINITI
|
|
- Giuliano Dolce
- 5 anni fa
- Visualizzazioni
Transcript
1 AUTOMI A STATI FINITI I linguaggi regolari godono di interessanti proprietà algebriche: Sono defnibili con le espressioni regolari Sono generati da grammatiche di Chomsky di tipo 3. Sono riconoscibili con automi a stati fniti L automa a stati fniti è il più semplice modello di calcolo. Per ogni modello di calcolo occorre specifcare: - le operazioni elementari, cioè le istruzioni per scrivere un programma - quanto grande è la memoria e come la si usa - come entra l input - come si determina l output AUTOMA A STATI FINITI (ASF) Dispositivi che leggono la stringa di input da un nastro unidirezionale e la elaborano usando una memoria limitata. Ad ogni passo: lettura di un carattere, spostamento a destra della testina, aggiornamento dello stato della memoria. Es.1 di automa che riconosce il linguaggio : L = {w bool * w è pari} definito dall'esp. regolare ( )* Es.2 di automa che riconosce il linguaggio: L = {w bool * è pari il numero di zeri oppure di uni} definito dall'esp. regolare (0*10*10*)*+(1*01*01*)* La defnizione formale di automa segue uno schema generale che viene usato anche per defnire modelli più generali.
2 Def. Automa a stati fniti (ASF): A = < Σ, K, q 0, F, δ > Σ = {σ 1,...,σ n } K = {q 0,...,q m } q 0 K F K δ : K Σ K alfabeto di input insieme fnito non vuoto di stati stato iniziale insieme di stati fnali o accettanti funzione di transizione, funzione totale che determina lo stato successivo La funzione di transizione δ può essere rappresentata mediante: matrice (tabella) di transizione diagramma degli stati La funzione di transizione può essere estesa alle stringhe: δ : K Σ* K Brevemente δ(q,x) defnisce lo stato nel quale l automa si viene a trovare dopo aver letto tutta la stringa x, a partire dallo stato q. δ(q, ε) = q δ(q, xa) = δ(δ(q,x), a) con a Σ e x Σ* Def. Una parola x Σ* è accettata dall automa se δ(q 0, x) F. Def. Linguaggio di un automa A (riconosciuto da A) è: L(A) = { x Σ* δ(q 0, x) F } Dimostrare che l automa dell' es. 1 riconosce il linguaggio: L = {w bool * w è pari}. Es. Il linguaggio {a n b n 0} generato da S as b, e rappresentato dal'espressione regolare a*b è riconosciuto dall'automa A = <{a, b}, {q 0, q 1, q 2,}, δ, q 0, {q 1 }> con funzione di transizione rappresentata dal diagramma degli stati: oppure rappresentata dalla tabella δ a b q 0 q 0 q 1 q 1 q 2 q 2 q 2 q 2 q 2 N.B. Il vincolo di totalità della funzione di transizione può essere rilassato senza ridurre l espressività del modello di calcolo.
3 Gli automi consentono di rappresentare in generale sistemi di transizione in un insieme fnito di stati: un ascensore un distributore di biglietti dell'autobus il sistema elettrico di un automobile Esercizi Realizzare un ASF che riconosce gli identifcatori defniti dall'espressione regolare (a+b+...z) + (a+b+...z ) * Realizzare un ASF che riconosce il linguaggio: a 3k+2 b 5h+3 per k, h 0 Realizzare un automa che riconosce tutte le sequenze di monete da 100, 200, 500 che consentono di raggiungere il costo di un biglietto dell'autobus (1500 lire). Nello stato iniziale la somma disponibile è 0. La macchina non dà resto. Realizzare un automa che riconosce il linguaggio: L={w {0, 1}* w 0 = 3 e ( w 1 2 o w 1 = 0)} Realizzare gli ASF che riconoscono i linguaggi rappresentati dalle seguenti espressioni regolari: i. (a + b)* ba (prima non-det poi det) ii. (a + b)* a + a (prima non-det poi det) iii. (a +b)*b (a+b) 2 (solo non-det) AUTOMI A STATI FINITI NONDETERMINISTICI (ASFND) Def. Automa a stati fniti non deterministico: A N = < Σ, K, q 0, F, δ N > Σ, K, q, F 0 δ N : K Σ P(K) defniti come per ASF funzione di transizione, funzione che determina l insieme (eventualmente vuoto) degli stati successivi La funzione di transizione δ N può essere estesa alle stringhe: δ N : K Σ P(K) Brevemente δ N (q, x) è l insieme, eventualmente vuoto, degli stati nei quali l automa si può trovare dopo aver letto tutta la stringa x, a partire da uno stato q. δ N (q, ε) = {q} δ N (q, xa) = p δ Ν (q,x) δ Ν (p, a) con x Σ*, a Σ p δ Ν (q,x) Def. Una parola x Σ* è accettata dall automa se δ Ν (q 0, x) F. Def. Linguaggio di un ASFND A N (riconosciuto da A N ): L(A Ν) = { x Σ* δ Ν (q 0, x) F }
4 Defnizioni valide per i due modelli Confgurazione : < q, x > con q K stato interno e x Σ * stringa ancora da leggere Una confgurazione < q, x > : e': iniziale se q = q 0 fnale se x = ε accettante se x = ε e q F Step o transizione in un sol passo (indicata con il simbolo ) è relazione binaria sulle confgurazioni che indica l applicazione della funzione di transizione ad una confgurazione: - di un ASF : < q, x > < q', x' > x = ax' δ(q, a) = q' - di un ASFND: < q, x > < q', x' > x = ax' q' δ N (q,a) Step ripetuto o transizione (indicata con il simbolo * ) è relazione binaria sulle confgurazioni che indica che esiste una computazione che porta da una confgurazione all altra, dove: Computazione e una sequenza di confgurazioni c 0, c 1..., c n,, tali che per ogni i = 0,..., n-1, c i c i+1, oppure è una confgurazione. Computazione su una stringa x è una computazione c 0, c 1,..., c n con c 0 = <q 0, x> Computazione accettante su una stringa x è una computazione c 0, c 1,..., c n su x con cn confgurazione accettante. Nei linguaggi formali la relazione * tra due stringhe indica che esiste una derivazione che porta da una stringa all altra. Invece negli automi la relazione * tra due confgurazioni indica che esiste una computazione che porta da una confgurazione all altra. Def. (alternativa) Linguaggio (riconosciuto da) ASF A o ASFND A : L(A) = { x Σ* < q 0, x > * < q, ε >, q F } Oss. Una computazione non accettante su una stringa x può terminare per un ASFND senza aver letto tutto l input.
5 Sulle computazioni nel modello deterministico e non deterministico. Vediamo che mentre un automa deterministico associa ad una stringa di input una computazione avente struttura lineare, un automa non deterministico associa sia una struttura lineare che una non lineare, detta albero delle computazioni. Es. L'ASF dell'es.2 riconosce le stringhe con un numero pari di 0 oppure di 1. La computazione accettante sulla stringa è: < q 0, > < q 1, 0011 > < q 3, 011 > < q 1, 11 > < q 0, 1 > < q 1, ε >. Es. L'ASFND riconosce le stringhe che contengono due uni consecutivi. Una computazione accettante per la stringa è: < q 0, > < q 0, 0110 > < q 0, 110 > < q 1, 10 > < q 2, 0 > < q 2, ε > Osservare che l automa associa alla stringa di input sia l albero delle computazioni: che la sequenza di insiemi di stati: Allora se chiamiamo 'stato nondeterministico' un insieme di stati deterministici, possiamo rappresentare tutte le computazione non-deterministiche come: un albero nello spazio degli stati deterministici. una traiettoria nello spazio degli stati nondeterministici,
6 Sono computazionalmente piu' potenti gli ASF o gli ASFND? In altre parole, se con L(ASF) indichiamo la classe dei linguaggi riconosciuti da un ASF e con L(ASFND) indichiamo la classe dei linguaggi riconosciuti da un ASFND, che relazione c'e' tra L(ASF) e L(ASFND)? Teorema. L(ASFND) = L(ASF). Dim. i) L(ASFND) L(ASF) La simulazione di un ASF con un ASFND e' banale, i due automi sostanzialmente coincidono. ii) L(ASF) L(ASFND) La simulazione di un ASFND con un ASF sfrutta la fnitezza di P(K). Dato un ASFND A N = < Σ, K, q 0, F, δ N > costruiamo un ASF A' = < Σ', K', q 0 ', F', δ' > come segue: Σ' = Σ K' = {[q i1,...,q ik ] {q i1,...,q ik } 2 K } cioè K' e' in corrispondenza 1-1 con i sottoinsiemi di K q 0 ' = [q 0 ] δ'([q i1,...,q ik ], a) = [q j1,..., q jh ] δ N (q i1, a)... δ N (q ik,a) = {q j1,...,q jh } F' = {[q i1,...,q ik ] {q i1,...,q ik } 2 K {q i1,...,q ik } F cioè F' corrisponde all' insieme dei sottoinsiemi di K che contengono almeno un elemento di F. Basta dimostrare che: δ'(q 0', x) = [q j1,...,q jh ] δ N (q 0, x) = {q j1,...,q jh } e quindi, in particolare, che: δ'(q 0', x) F' δ N (q 0, x) F Cio' e' vero per costruzione. Dimostriamolo per induzione sulla lunghezza della stringa x.
7 N.B. Con il metodo di costruzione introdotto dal teorema precedente l'asf può avere un numero esponenziale di stati rispetto all'asfnd di partenza. Talvolta la crescita esponenziale del numero degli stati nel modello deterministico è inevitabile. Ad esempio il linguaggio L k = {x1y x {0,1}*,, y {0,1} k-1, k 1} le cui parole hanno un 1 prima degli ultimi k -1 caratteri è regolare per ogni k 1 ma ogni automa fnito deterministico che lo accetta ha almeno 2 k stati, mentre il seguente automa non deterministico ne ha solo k+1. Dim. Sia B k un automa ASF che riconosce L k. Sia S k = {0,1} k. Dimostriamo che gli stati raggiunti dall'automa dopo la lettura di tutte le parole di S k devono essere diifferenti (e quindi concludiamo che gli stati devono essere almeno 2 k ). Se per assurdo si avesse che : δ(q 0,x) = δ(q 0,y) con x, y {0,1} k, x y x = y = k potrebbe essere x= α 0 β con α, β, γ {0,1} * e β = γ y= α 1 γ Ovviamente le parole: xx= α 0 β α yy= α 1 γ α hanno gli ultimi k-1 caratteri preceduti da 0 in una, da 1 nell'altra; entrambe verrebbero accettate o rifutate dall'automa, mentre solo una dovrebbe essere accettata. N.B. Gli ASFND sono ugualmente espressivi ma più succinti degli ASF.
10. LINGUAGGI REGOLARI
10. LINGUAGGI REGOLARI I linguaggi regolari: Sono i linguaggi generati da grammatiche di Chomsky di tipo 3. Vari elementi sintattici di base dei linguaggi di programmazione sono regolari (es. identificatori)
Dettaglinon è lineare destro. (PUNTI 15)
6 Giugno 2005 (h.1.00) 1) Dimostrare formalmente che il seguente linguaggio: L = {a i b j c k : k = i+ j, i, j, k 0} non è lineare destro. 2) Progettare, commentando opportunamente, l automa a stati finiti
DettagliInformatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza
Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere
DettagliAutomi a stati finiti
Automi a stati finiti Il modello: la definizione formale, esempi. Le definizioni utili per descrivere e provare proprietà degli automi: configurazioni, relazione porta a e relative definizioni di linguaggio
DettagliLINGUAGGI REGOLARI. Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti:
LINGUAGGI REGOLARI Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti: 1 - L(GR): linguaggi generati da grammatiche di tipo 3 (anche con ε-produzioni) 2 - L(ASF): linguaggi riconosciuti
DettagliLINGUAGGI FORMALI. Introduzione
LINUAI FORMALI Introduzione Alfabeto : un qualunque insieme di simboli. (Tratteremo solo alfabeti finiti). Esempio: {a,b,c,,,x,w,y,z} {0.1.2.3.4.5.6.7.8.9} {0,1} Stringa (su un alfabeto) : una sequenza
DettagliSui 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.
DettagliInformatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione
Informatica e Laboratorio di Programmazione Automi Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione automa o automa: macchina astratta o realizza un certo algoritmo, secondo
DettagliLinguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.6 Linguaggi Regolari ed Espressioni Regolari Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Linguaggi Regolari
DettagliAutomi e Linguaggi Formali
Automi e Linguaggi Formali Linguaggi regolari e automi a stati finiti 6 Ottobre 214 A.A. 214-215 Enrico Mezzetti emezzett@math.unipd.it Recap Definizione informale di automi a stati finiti Diagramma delle
DettagliAutomi e Linguaggi Formali Automi a stack (Pushdown automata)
Automi e Linguaggi Formali Automi a stack (Pushdown automata) A.A. 2014-2015 Enrico Mezzetti emezzett@math.unipd.it Automi a stack Un Pushdown Automata (PDA) o Automa a stack Essenzialmente un ɛ-nfa con
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 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
DettagliLinguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo
e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle Tutti i linguaggi che possono essere
Dettagli10.2 EQUIVALENZA TRA ESPRESSIONI REGOLARI, GRAMMATICHE REGOLARI E AUTOMI
10.2 EQUIVALENZA TRA ESPRESSIONI REGOLARI, GRAMMATICHE REGOLARI E AUTOMI Sono computazionalmente più potenti gli ASF o gli ASFND? In altre parole, se con L(ASF) indichiamo la classe dei linguaggi riconoscibili
DettagliAnalisi e Sintesi di circuiti sequenziali
Analisi e Sintesi di circuiti sequenziali Definizione Uscite combinatorie Porte logiche combinatorie Uscite di memoria Elementi di memoria Una macchina sequenziale è un sistema nel quale, detto I(t) l'insieme
DettagliAutomi e Macchine. Computabilità. Progetto Nazionale Lauree Scientifiche Licei Fracastoro e Messedaglia Verona, novembre/dicembre 2012.
Automi e Macchine Computabilità Progetto Nazionale Lauree Scientifiche Licei Fracastoro e Messedaglia Verona, novembre/dicembre 2012 Computabilità AA 2012/13 Ugo Solitro Sommario Introduzione Automi a
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
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
DettagliConcetti di base sugli automi e sui linguaggi formali
Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere
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
DettagliLinguaggi regolari e automi a stati finiti. Linguaggi 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
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
DettagliGrammatiche libere da contesto. Grammatiche libere da contesto
rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora classi piu grandi di linguaggi Linguaggi Liberi da Contesto (CFL) sono stati usati nello
DettagliTeoria della Complessità Computazionale. Accettazione/riconoscimento di linguaggi in tempo/spazio
Teoria della Complessità Computazionale. Obiettivo: classifcare i problemi (risolubili con algoritmi) in base alle risorse di calcolo che richiedono per essere risolti. Risorse: tempo e spazio (memoria)
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?
DettagliNote del corso di Calcolabilità e Linguaggi Formali - Lezione 3
Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3 Alberto Carraro 26 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a a pila deterministici e
DettagliAutomi a pila deterministici. Achille Frigeri Dipartimento di Matematica Francesco Brioschi Politecnico di Milano
Automi a pila deterministici Achille Frigeri Dipartimento di Matematica Francesco Brioschi Politecnico di Milano Automi a pila A = (Σ, Q, Γ, i 0, F, δ, ) Σ = {a 1,..., a n } Q = {q 1,..., q m } Γ = {A
DettagliNote del corso di Calcolabilità e Linguaggi Formali - Lezione 2
Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2 Alberto Carraro 12 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a stati finiti deterministici
DettagliSommario. Espressioni regolari. Equivalenza tra espressioni regolari e DFA. Esercizi problemi di decisione
Sommario Espressioni regolari Equivalenza tra espressioni regolari e DFA Esercizi problemi di decisione ESPRESSIONI REGOLARI Le espressioni regolari sono una notazione per rappresentare insiemi di stringhe
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
DettagliAutomi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto
utomi a Pila Un automa a pila (PDA) e una estensione degli automi a stati finiti, che ha una memoria (una pila) Vedremo due modi equivalenti per definire il linguaggio accettato da un PDA Vedremo che la
DettagliMACCHINE DI TURING defnizione formale del concetto astratto di algoritmo accettare riconoscimento parziale di tutti i linguaggi di tipo 0
MACCHINE DI TURING La macchina di Turing è un automa con testina di scrittura/lettura su un nastro "potenzialmente" illimitato. In ogni istante la macchina si trova in uno stato appartenente ad un insieme
Dettaglia cura di Luca Cabibbo e Walter Didimo
a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 automi a pila automi a pila e grammatiche non contestuali notazioni sul livello degli esercizi: (*)
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
DettagliFondamenti dell Informatica
Fondamenti dell Informatica Compito scritto 28 settembre 2005 Cognome: Nome: Matricola: Note 1. Per i quiz a risposta multipla, fare una croce sulla/e lettera/e che identifica/no la/e risposta/e desiderata/e.
DettagliAutomi a stati finiti
ommario Introduzione agli automi a stati finiti Concetti di base della teoria degli automi Tecniche di dimostrazione deterministici (DFA) non deterministici (NFA) non deterministici con ɛ-transizione (ɛ-nfa)
DettagliAlgoritmi e Complessità
Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it a.a. 2002-03 e.merelli
DettagliSommario. martedì 23 ottobre 2012
Sommario Macchina di Turing universale il problema dell accettazione per TM e sua indecidibilità il problema della fermata e sua indecidibilità Proprietà dei problemi Turing riconoscibili Linguaggi non
DettagliFondamenti d Informatica: Grammatiche. Barbara Re, Phd
Fondamenti d Informatica: Grammatiche Barbara Re, Phd Grammatiche } Con il termine grammatica s intende } Un formalismo che permette di definire un insieme di stringhe mediante l imposizione di un particolare
DettagliParte n.7 Automi a Pila e Grammatiche Libere
Linguaggi di Programmazione Corso C Parte n.7 Automi a Pila e Grammatiche Libere Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Automi a Pila Per il teorema
DettagliBackus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A ,
p.1/19 Backus Naur Form Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova Linguaggio di programmazione p.2/19 strumento linguistico per scrivere una sequenza di istruzioni (programma)
DettagliFondamenti d Informatica: Simulazione d esame. Barbara Re, Phd
Fondamenti d Informatica: Simulazione d esame Barbara Re, Phd 2 Parte teorica (1 punto per ogni domanda) Domande Parte Teorica } Che cosa s intende per teoria della computabilità? Cosa è computabile? Chi
DettagliCorso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Automi. Giacomo PISCITELLI
Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Automi Giacomo PISCITELLI Generalità sugli Automi Automi In informatica teorica e in matematica discreta,
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
DettagliSommario Codifica dei dati Macchina Astratta Definizioni Esempi
Sommario Codifica dei dati Macchina Astratta Definizioni Esempi 1 2 Codifica dei dati È possibile introdurre la teoria della computabilità facendo riferimento ad algoritmi che elaborano numeri naturali
DettagliQuiz 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
DettagliLinguaggi di Programmazione Corso C. Parte n.2 Introduzione ai Linguaggi Formali. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.2 Introduzione ai Linguaggi Formali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Definizioni Preliminari Un
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
DettagliFondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da:
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Automi Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli Studi di Milano
DettagliSommario. Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili.
Sommario Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili. 1 UTM: la TM universale Una TM T che accetta un linguaggio è analoga a un programma
DettagliLINGUAGGI CONTEXT FREE. Lezione Lezione
LINGUAGGI CONTEXT FREE Lezione 25-11-2010 Lezione 30-11-2010 2 INTRODUZIONE GERARCHIA DI CHOMSKY 3 4 DEFINIZIONE DEI LINGUAGGI CONTEXT FREE LINGUAGGI CF I linguaggi di tipo 2 sono detti context free (CF)
DettagliAumentare il potere degli FSA
PDA 1 Aumentare il potere degli FSA Punto di vista meccanico Nastro d ingresso Dispositivo di controllo a stati finiti Nastro d uscita PDA 2 Ora arricchiamolo a Nastro d ingresso Memoria a pila (stack)
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.
DettagliTeoria della complessità
Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi
Dettaglicontrollo stringa a a b a b b c c b a b x y z pila di memoria
Gli automi a pila Dagli automi finiti iti agli automi a pila Possiamo ottenere un automa a pila a partire da un automa finito (così come l abbiamo definito in precedenza), attraverso l introduzione di
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,
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
Dettagli7. Automi a Pila e Grammatiche Libere
(fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari 20 aprile 2016 1 Automi a Pila Definizione Descrizioni Istantanee Condizioni di Accettazione per PDA Esempi 2 Teorema delle
DettagliReti Logiche Sequenziali
Reti Logiche Sequenziali 00.e Cenni sugli Automi a stati finiti Automa a stati finiti: definizione Un automa a stati finiti deterministico (DFA Deterministic Finite Automaton) è una quintupla (Q, Σ, δ,
DettagliAUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
DettagliModelli operazionali non deterministici (1)
Non determinismo 1 Modelli operazionali non deterministici (1) Di solito si pensa a un algoritmo come a una sequenza di operazioni ben determinata Dato uno stato e un ingresso, non c è dubbio sul prossimo
DettagliLimiti della calcolabilità
Limiti della calcolabilità Argomenti della lezione Macchina di Turing universale Il problema della terminazione Altri problemi indecidibili Macchine di Turing in forma ridotta Per ogni MT M esiste una
DettagliLinguaggi formali e compilazione
Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2014/2015 Linguaggi formali e compilazione Generalità delle ǫ-transizioni Gli automi non deterministici, come abbiamo visto, possono
DettagliAutomi a pila. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017
Automi a pila Dipartimento di Elettronica e Informazione Politecnico di Milano 17 marzo 2017 Aumentiamo la potenza di un FSA Descrizione operativa dei limiti Un FSA ha un Organo di Controllo (OC) con memoria
DettagliCapitolo 1: Concetti matematici di base
Capitolo 1: Concetti matematici di base 1 Insiemi x A x é elemento dell insieme A. B A B é un sottoinsieme di A. B A B é un sottoinsieme proprio di A. A costituito da n elementi A = n é la sua cardinalitá.
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
Dettaglia cura di Luca Cabibbo e Walter Didimo
a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 calcolabilità in vari contesti riduzioni e calcolabilità dimostrazioni di decidibilità di problemi
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
DettagliEquivalenza di PDA e CFG. Equivalenza di PDA e CFG
quivalenza di PDA e CFG Un linguaggio e generato da una CFG se e solo se e accettato da un PDA per pila vuota se e solo se e accettato da un PDA per stato finale Grammar PDA by empty stack PDA by final
DettagliGrammatiche. Dipartimento di Elettronica e Informazione Politecnico di Milano. 27 marzo 2017
Grammatiche Dipartimento di Elettronica e Informazione Politecnico di Milano 27 marzo 2017 Modelli Generativi Grammatiche I modelli di linguaggio/calcolo visti finora definiscono un linguaggio tramite
DettagliEsercizi di Informatica Teorica - DFA
Esercizi di Informatica Teorica - DFA Esercizio Definire, se esso esiste, l automa deterministico a stati finiti A che riconosce il linguaggio L = {w w {,},w[i] =, i dispari,i > }. Dimostrare rigorosamente
DettagliFondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd
Fondamenti d Informatica: Le Macchine di Turing Barbara Re, Phd Agenda } Introdurremo } il formalismo delle Macchine di Turing nelle varie versioni } la nozione di calcolabilità e di decidibilità 2 La
DettagliProgrammazione Teoria dei linguaggi formali
Programmazione Teoria dei linguaggi formali Rosario Culmone rosario.culmone@unicam.it 18/11/2009 UNICAM - p. 1/42 Linguaggi Definizione di grammatica di Chomsky Derivazione di stringhe e generazione di
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
DettagliGrammatiche libere da contesto. Grammatiche libere da contesto
rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora classi piu grandi di linguaggi. Linguaggi Liberi da Contesto (CFL) sono stati usati nello
DettagliLa nozione di algoritmo
La nozione di algoritmo Agostino Dovier Dip. di Matematica e Informatica, Univ. Udine UDINE, Aprile 2015 Agostino Dovier (DIMI) La nozione di algoritmo UDINE 1 / 17 Un algoritmo viene descritto in un certo
DettagliAlgoritmi e Principi dell Informatica
Algoritmi e Principi dell Informatica Appello del 21 Febbraio 2013 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 3 ore. Chi deve sostenere solo il modulo di Informatica
DettagliIntroduzione al corso
Introduzione al corso Argomenti della lezione Obiettivi e programma del corso Alfabeti, stringhe, linguaggi Operazioni su linguaggi Espressioni regolari Per studiare le proprietà fondamentali di algoritmi,
DettagliMacchine di Turing, problemi ricorsivi e ricorsivamente enumerabili
Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili roblemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa quello che ci aspettiamo. E facile
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}
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.
DettagliMacchina di Turing Universale
Informatica Teorica 2010/2011 M.Di Ianni Macchina di Turing Universale Vogliamo definire una macchina di Turing U che, presi in input la descrizione di una macchina di Turing ad un nastro T ed un input
DettagliLinguaggi 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
DettagliMacchina di Turing. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017
Macchina di Turing Dipartimento di Elettronica e Informazione Politecnico di Milano 17 marzo 2017 Un modello di calcolo universale Macchina di Turing Gli AP sono più potenti degli FSA (= maggiori capacità
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
DettagliAlgoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014
Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Nome..Cognome.Matr. Laureando Avvisi importanti Il tempo a disposizione è di 1 ora e 30 minuti. Se non verranno risolti
DettagliAlgoritmo per A. !(x) Istanza di B
Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione
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.
DettagliComplessi di Catene e Gruppi di Omologia. 28 febbraio 2007
Complessi di Catene e Gruppi di Omologia 28 febbraio 2007 Complessi di Catene Definizione Un complesso di catene è una successione C di gruppi abeliani con i loro omomorfismi n+1 C n+1 n Cn Cn 1 infinita
DettagliEsercizi di Informatica Teorica. Macchina di Turing
Esercizi di Informatica Teorica Macchine di Turing Macchina di Turing richiami macchina di Turing (MT) : M = dove èl alfabeto (finito) di simboli b èil carattere speciale spazio bianco
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
DettagliFondamenti di Programmazione: AUTOMI E LINGUAGGI FORMALI Corso di Laurea in MATEMATICA a.a. 2018/2019
Fondamenti di Programmazione: AUTOMI E LINGUAGGI FORMALI Corso di Laurea in MATEMATICA a.a. 2018/2019 Chiara Bodei Dipartimento di Informatica chiara.bodei@unipi.it Testi di riferimento Libro di testo
Dettagli