Introduzione al corso
|
|
- Filiberto Giuseppe
- 5 anni fa
- Visualizzazioni
Transcript
1 Introduzione al corso
2 Argomenti della lezione Obiettivi e programma del corso Alfabeti, stringhe, linguaggi Operazioni su linguaggi Espressioni regolari
3 Per studiare le proprietà fondamentali di algoritmi, programmi e calcolatori è necessario rappresentarli mediante modelli astratti e descrivere le proprietà stesse in termini formali e matematici. La disciplina nel cui ambito si svolgono tali studi èl informatica è teorica
4 Nel corso di informatica teorica studieremo la definizione formale dei linguaggi e le loro proprietà sintattiche alcuni modelli di calcolo elementari (macchine astratte e linguaggi di programmazione) per rappresentare algoritmi
5 Nel corso di informatica teorica studieremo i limiti teorici del potere computazionale dei calcolatori e il concetto di calcolabilità i limiti pratici dei calcolatori ed i problemi computazionalmente intrattabili
6 Al termine del corso lo studente dovrebbe saper caratterizzare la struttura sintattica di un testo mediante grammatiche o automi formalizzare un sistema di calcolo definendone i concetti essenziali (stato, computazione ecc.)
7 Al termine del corso lo studente dovrebbe saper formulare semplici programmi utilizzando diversi paradigmi computazionali: macchine a stati, macchine a registri, linguaggi funzionali riconoscere, almeno in casi elementari, la complessità di un problema
8 Programma del corso Linguaggi formali e automi Macchine di Turing e calcolabilità Modelli di calcolo per linguaggi imperativi e funzionali Complessità di algoritmi e problemi
9 Oltre alle videolezioni ed al sito web di supporto (contenente esercizi e note su argomenti particolari), il materiale didattico è costituito dal testo: G. Ausiello, F. d Amore, G. Gambosi, Linguaggi, Modelli, Complessità, FrancoAngeli, 2003
10 Alfabeti, Stringhe, Linguaggi
11 Un alfabeto è un insieme finito non vuoto di simboli, chiamati caratteri Esempio L insieme {0,1,2,3,4,5,6,7,8,9} è l alfabeto decimale
12 alfabeto (minuscolo) della lingua italiana: {a,b,c,d,e,f,g,h,i,l,m,n,o,p,q,r,s,t,u,v,z} alfabeto dei numeri romani: {I, V, X, L, C, D, M} alfabeto del linguaggio C: {a,..,z,a,..,z,0,...,9,+,-,*,/,<,>,=,->,&,%,\,!, #,[,],...}
13 Dato un alfabeto S, una stringa (o parola) è una sequenza finita di caratteri di S Esempio MCMXLI è una stringa sull alfabeto dei numeri romani
14 Il numero di caratteri di una stringa x è detto lunghezza della stringa e si denota con x. Una stringa costituita da zero caratteri è detta stringa nulla (o vuota). La stringa vuota si denota con ε Esempio MCMXLI = 6 ε = 0
15 L insieme di tutte le stringhe su un alfabeto Σ (inclusa la stringa vuota) si denota Σ* Con Σ + denotiamo l'insieme delle stringhe non vuote. Pertanto, Σ = Σ + {ε}
16 Sull insieme Σ* possiamo definire l operazione di concatenazione, che si denota con e che consiste nel giustapporre due stringhe Esempio fatto rino = fattorino
17 La concatenazione è associativa. Ad esempio: sol (fa tara)=(sol fa) tara = =solfatara La concatenazione non è commutativa. Infatti pe ra = pera ra pe =rape
18 Chiaramente data una qualunque stringa x, x ε = ε x = x ε è l elemento neutro della concatenazione
19 La struttura algebrica <Σ*,, ε> è un monoide, cioè un insieme chiuso rispetto all operazione associativa di concatenazione e dotato di elemento neutro rispetto a tale operazione (monoide sintattico)
20 Un linguaggio è un sottoinsieme di Σ* Esempio Dato l'alfabeto {I, V, X, L, C, D, M}, l'insieme di tutti i numeri romani da 1 a 1000 è un linguaggio
21 Altri esempi Dato l'alfabeto {a, b}, l'insieme {a n b n n > 0} è il linguaggio di tutte le stringhe costituite da una sequenza di n a (n>0), seguite da altrettante b
22 Altri esempi Dato l'alfabeto del linguaggio C, l'insieme di tutti i programmi corretti (che vengono compilati senza segnalazioni di errore) è un linguaggio
23 In particolare, dato un alfabeto Σ : Σ stesso è un linguaggio Σ* è un linguaggio l'insieme che non contiene nessuna stringa, denotato Λ o Ø è un linguaggio (detto linguaggio vuoto)
24 Operazioni su linguaggi Sui linguaggi possono essere effettuate sia le operazioni insiemistiche (unione, intersezione, complementazione) sia operazioni definite sul monoide sintattico (prodotto, potenza e iterazione)
25 Siano L 1 ed L 2 linguaggi definiti sull alfabeto Σ unione L 1 L 2 = {x Σ* x L 1 x L 2 } L 1 Λ = L 1
26 intersezione L 1 L 2 = {x L 2 } L 1 Λ= Λ Σ* x L 1 x
27 complementazione L 1 = {x Σ* x L 1 }
28 prodotto o concatenazione L 1 L 2 = {x Σ* esistono x 1 ed x 2 tali che x 1 L 1 x 2 L 2 e x = x L x 2 } 1 {ε} = {ε} L = L Esempio: L 1 = {filo, teo} L 2 = {logia, sofia} L 1 L 2 = {filologia, teologia, filosofia, teosofia}
29 potenza L h = L L h-1 L 0 = {ε} h 1 per convenzione Esempio: L ={pe,ra} L 2 ={pepe, pera, rape, rara}
30 iterazione (detta anche operazione stella) L * = L h L + = L * \ h=0 {ε} Esempio: L ={a, bb} L * ={ε, a, bb, aa, abb, bba, bbbb,... }
31 Espressioni regolari Metodo formale di descrizione di linguaggi. Un espressione regolare rappresenta un insieme di stringhe basandosi sulle operazioni con le quali il linguaggio può essere costruito
32 Ad esempio, se l espressione e 1 rappresenta il linguaggio L 1 e l espressione e 2 rappresenta il linguaggio L 2, il linguaggio L 1 L 2 è rappresentato dall espressione regolare e 1 + e 2
33 Dato un alfabeto Σ, chiamiamo espressione regolare una stringa r sull'alfabeto Σ {Ø, +,.,*,(,)} tale che: r = Ø r = a (a Σ) o, se s e t sono espressioni regolari: r=(s+t) oppure r=(s. t) oppure r=s*
34 espressione linguaggio r = Ø L(r) = Λ r = a (a Σ) L(r) = {a} r = (s + t) r = (s. t) r = s* L(r) = L(s) L(t) L(r) = L(s) L(t) L(r) = L(s)*
35 Esempio e = (a+(b. (c. d) *)) L(e) = L(a) L(b. (c. d)*) = = L(a) (L(b) L((c. d)*)) = = L(a) (L(b) (L(c) L(d))*) = = {a, b, bcd, bcdcd, }
36 Per semplificare la scrittura delle espressioni regolari possiamo sfruttare: eliminazione del simbolo della concatenazione, scrivendo (st) anziché (s. t) uso di precedenza tra operatori: * >. > + eliminazione di parentesi inutili
37 Esempi (a+(b. (c. d)*)) = a + b(cd)* (a+(b. b*)) = a+b. b* ((a+b)*. a) = (a+b)*a
38 Come vedremo, i linguaggi rappresentabili con espressioni regolari sono un interessante sottoclasse di tutti i possibili linguaggi. Tali linguaggi sono chiamati linguaggi regolari e si possono caratterizzare anche mediante grammatiche e macchine molto semplici
Modelli e complessità di calcolo
Modelli e complessità di calcolo Prof. Giorgio Ausiello Orario delle lezioni: Martedi, Mercoledi, Giovedi ore 8.30 10.00 Orario di ricevimento: Lunedi ore 17.00 19.00 Via Ariosto 25 II piano - Ufficio
DettagliLinguaggi. Che cos è un linguaggio di programmazione? Aspetti da studiare e comprendere per poter scrivere programmi:
Linguaggi Che cos è un linguaggio di programmazione? Aspetti da studiare e comprendere per poter scrivere programmi: Sintassi: forma delle frasi, correttezza sintattica Semantica: significato delle frasi,
DettagliIntroduzione ai Linguaggi Formali
Introduzione ai Linguaggi Formali Elementi dei linguaggi Alfabeto o vocabolario Insieme finito di simboli di base Esempi: Alfabeto latino {a, b,, z} Cifre {0, 1,, 9} Alfabeto binario {0, 1} Stringa su
DettagliFondamenti d Informatica: stringa e linguaggio. Barbara Re, Phd
Fondamenti d Informatica: stringa e linguaggio Barbara Re, Phd Agenda } Introdurremo } la nozione di stringa e linguaggio } il ruolo che stringhe e linguaggi hanno per rappresentare l informazione 2 Alfabeti
DettagliFondamenti 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
DettagliNozioni Preliminari e Terminologia. Alfabeti Stringhe Linguaggi
Nozioni Preliminari e Terminologia Alfabeti Stringhe Linguaggi Insiemi Def. Un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { } Gli elementi sono inseriti tra
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
DettagliLinguaggi e grammatiche
Linguaggi e grammatiche Corso di Fondamenti di Informatica - 1 modulo Corso di Laurea in Informatica Università di Roma Tor Vergata a.a. 2017-2018 Prof. Giorgio Gambosi Alfabeti e linguaggi Alfabeto Un
DettagliSipser, Capitolo 0. Alfabeti, Stringhe, Linguaggi
Sipser, Capitolo 0 Alfabeti, Stringhe, Linguaggi Def. Un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { } Gli elementi sono inseriti tra le parentesi Insiemi
Dettagli$marina/did/md
Matematica Discreta (elementi) E-O CdL Informatica Relazioni di equivalenza 26 novembre 2003 Marina Cazzola (marina@matapp.unimib.it) Dipartimento di Matematica e Applicazioni Università di Milano Bicocca
DettagliLinguaggi formali e compilazione
Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2014/2015 Linguaggi formali e compilazione sul corso Sito web: http://algogroup.unimore.it/people/mauro/dida/2014-2015 / Ricevimento:
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)
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
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
DettagliProprietà dei linguaggi non contestuali
Proprietà dei linguaggi non contestuali Argomenti della lezione Pumping lemma per i linguaggi non contestuali Proprietà di chiusura Argomenti della lezione Grammatiche non contestuali in forma ridotta
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 principio di induzione finita (o matematica) cardinalità di insiemi pigeonhole principle espressioni
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 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:
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 deterministici e non
Automi deterministici e non Negli esempi visti fin ora gli automi avevano sempre relazioni di transizione per cui per un dato elemento del dominio coppia (s, v), dove s è uno stato (sorgente) e v un simbolo,
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
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.
DettagliNFA per riconoscere numeri decimali
NFA per riconoscere numeri decimali Vogliamo un NFA che accetta numeri decimali. Un numero decimale consiste di: 1 Un segno + o -, opzionale 2 Una stringa di cifre decimali 3 un punto decimale 4 un altra
DettagliALGEBRA DEGLI INSIEMI
ALGEBRA DEGLI INSIEMI INSIEME: concetto primitivo (indicato con una lettera maiuscola dell alfabeto latino: A, B, ) alcuni esempi: oggetti contenuti in una scatola tutti i numeri multipli di 3 [fig. 2.I.1]
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á.
DettagliCorso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. I linguaggi formali. Giacomo PISCITELLI
Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori I linguaggi formali Giacomo PISCITELLI Traduttori Un traduttore è un programma che effettua la traduzione
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
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
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
DettagliPrecorsi di matematica
Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono
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
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 principio di induzione finita (o matematica) cardinalità di insiemi pigeonhole principle espressioni
Dettagli10. 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)
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.
DettagliFondamenti teorici e programmazione
Fondamenti teorici e programmazione FTP(A) - modb Lezione 11 Operazioni su linguaggi Espressioni Regolari F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 1
DettagliDISPENSE SU TEORIA DEGLI INSIEMI E NUMERI
FACOLTA' DI ECONOMIA UNIVERSITA DELLA CALABRIA Corso di Modelli Matematici per l Azienda a.a. 2011-2012 DISPENSE SU TEORIA DEGLI INSIEMI E NUMERI Prof. Fabio Lamantia INSIEMI INSIEME= gruppo di oggetti
DettagliTrasformazione di un NDFA in un DFA con ε-regole
Trasformazione di un NDFA in un DFA con -regole a A B D d b C E c t A B C D E a D E b D D c D,E D E D d C C a - t ( s, q i ) = -chiusura (δ (s, q j )) qj -chiusura ( qi) -Primo passo dell algoritmo modificato
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
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
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E02 Grammatiche Esercizi Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Grammatiche - Esercizi 1 Grammatica
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
DettagliL intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.
ANALISI SINTATTICA Data un linguaggio scrivere una grammatica che lo generi ESERCIZIO 1 Definire una grammatica per il linguaggio L = {ww w appartiene a (a, b)*} ESERCIZIO 2 Dato l alfabeto T=[0,1,2,3,4,5,6,7,8,9,/}
DettagliQuiz sui linguaggi CF
Fondamenti dell Informatica 1 semestre Quiz sui linguaggi CF Prof. Giorgio Gambosi a.a. 2018-2019 Problema 1: Si consideri la seguente grammatica context free G, dove S, NP, V P, P P, A sono i simboli
DettagliElementi di Algebra e di Matematica Discreta Strutture algebriche: gruppi
Elementi di Algebra e di Matematica Discreta Strutture algebriche: gruppi Cristina Turrini UNIMI - 2015/2016 Cristina Turrini (UNIMI - 2015/2016) Elementi di Algebra e di Matematica Discreta 1 / 34 index
DettagliInformatica triennale (L31) sede di Bari Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione
Principali informazioni sull insegnamento Titolo insegnamento Linguaggi di Programmazione Corso di studio Informatica triennale (L31) sede di Bari Crediti formativi 9 Denominazione inglese Programming
DettagliEspressioni regolari. Espressioni regolari
ommario delle espressioni regolari Da automi a espressioni regolari Da espressioni regolari ad automi Leggi algebriche per linguaggi spressioni regolari DFA, NFA, ɛ-nfa sono un metodo formale per costruire
DettagliPropedeutico di matematica Centro Multimediale Montiferru. Lezione 1. Gli insiemi
Lezione 1 Gli insiemi Definizione: Un insieme è una collezione di oggetti aventi certe caratteristiche in comune. Gli oggetti si definiscono elementi dell insieme. Esempi: Insieme delle lettere dell alfabeto,
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
DettagliAnno 1. Teoria degli insiemi: definizioni principali
Anno 1 Teoria degli insiemi: definizioni principali 1 Introduzione In questa lezione introdurremo gli elementi base della teoria degli insiemi. I matematici hanno costruito una vera e propria Teoria degli
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
DettagliProblemi, 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
DettagliParte n.4 Linguaggi: Gerarchia ed Operazioni
Linguaggi di Programmazione Corso C Parte n.4 Linguaggi: Gerarchia ed Operazioni Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Gerarchia di Chomsky Sia
DettagliProgetto e analisi di algoritmi
Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento
DettagliAUTOMI A STATI FINITI
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
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
DettagliAnalisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser
Ruolo del parser Analisi 1 1 Dipartimento di Matematica e Informatica Universitá di Camerino mariarita.diberardini@unicam.it Ruolo del parser Ruolo dell analisi sintattica Ruolo del parser Metodologie
DettagliALGORITMI E COMPLESSITA COMPUTAZIONALI LA MACCHINA DI TURING.
ALGORITMI E COMPLESSITA COMPUTAZIONALI LA MACCHINA I TURING francesca.piersigilli@unicam.it MACCHINA I TURING (MdT) Nel 936 il matematico inglese Alan Turing propose l'idea di una macchina immaginaria
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
DettagliLINGUAGGI E TRADUTTORI - 20 giugno Prof. S. Crespi Reghizzi. Automi e espressioni regolari (40%)
LINGUAGGI E TRADUTTORI - 20 giugno 2001 - Prof. S. Crespi Reghizzi COGNOME e NOME... MATRICOLA... Tempo a disposizione: 90 minuti. Libri e appunti personali possono essere impiegati. Parte I Punti 30-esimi
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}
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
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
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
DettagliFondamenti d Informatica. Barbara Re, Phd
Fondamenti d Informatica Barbara Re, Phd Informazioni e Contatti Ricercatrice a tempo determinato INF/01 (Tipo B) Membro della Sezione d Informatica - SST Secondo Piano (Polo Lodovici) barbara.re@unicam.it
DettagliAnalisi Lessicale: Linguaggi Regolari
Analisi Lessicale: Linguaggi Regolari Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 18 mar, 2016 Sommario 1 Espressioni Regolari Linguaggi
Dettagli9. LINGUAGGI FORMALI E GRAMMATICHE DI CHOMSKY
9. LINGUAGGI FORMALI E GRAMMATICHE DI CHOMSKY Linguaggi e informatica @ Presenti in tutte le applicazioni e in tutte le fasi di uso di un computer: linguaggi di specifica, di programmazione, di scripting
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 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
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
DettagliAUTOMI A STATI FINITI
AUTOMI A STATI FINITI Stati Un FSA (Finite State Automaton) ha un insieme finito di stati Un sistema con un numero limitato di configurazioni (in italiano anche: AF) Esempi {On, Off}, {1,2,3,4,,k} {canali
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
DettagliCenni alla rappresentazione dei tipi dato primitivi
Cenni alla rappresentazione dei tipi dato primitivi Fondamenti di Informatica R. Basili a.a. 2006-7 Numeri Naturali Alfabeto, A Un insieme finito di B simboli, A={a, b,. } Sequenze o Stringhe in A, A *
DettagliInformatica e Comunicazione Digitale Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione
Principali informazioni sull insegnamento Titolo insegnamento Linguaggi di Programmazione Corso di studio Informatica e Comunicazione Digitale Crediti formativi 9 Denominazione inglese Programming Languages
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
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
DettagliSommario. Esistenza problemi non Turing riconoscibili. Il metodo della diagonalizzazione di Cantor. L autoreferenzialità
Sommario Esistenza problemi non Turing riconoscibili. Il metodo della diagonalizzazione di Cantor L autoreferenzialità La diagonalizzazione. Georg Cantor ha inventato il metodo della diagonalizzazione
DettagliPrefazione all edizione italiana
Questo è l'indice del libro, in cui sono evidenziati i paragrafi corrispondenti agli argomenti trattati nel corso e che costituiscono il programma d'esame. Si noti che la presentazione di alcuni argomenti
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
DettagliSommario. Esistenza problemi indecidibili. Il metodo della diagonalizzazione di Cantor L autoreferenzialità
Sommario Esistenza problemi indecidibili. Il metodo della diagonalizzazione di Cantor L autoreferenzialità La diagonalizzazione. Ricorderete che Georg Cantor ha inventato il metodo della diagonalizzazione
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
DettagliALFABETO. Informatica Prof. Nicola BRUNO
ALFABETO In generale, ogni tipo di linguaggio (naturale o artificiale) è costruito su un alfabeto. Un alfabeto è definito come un insieme finito e non vuoto di simboli elementari. Una stringa è costituita
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
DettagliLinguaggi di Programmazione e Compilatori
Maria Rita Di Berardini Linguaggi di Programmazione e Compilatori Raccolta Esercizi 10 giugno 2009 Università di Camerino Dipartimenento di Matematica e Informatica Indice 1 Analisi Lessicale...........................................
DettagliRichiami di Algebra di Commutazione
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa
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
DettagliLINGUAGGI, AUTOMI, GRAMMATICHE. Dispense di Fondamenti di Informatica
Pilu Crescenzi Alberto Marchetti Spaccamela LINGUAGGI, AUTOMI, GRAMMATICHE Dispense di Fondamenti di Informatica Questo lavoro è distribuito secondo la Licenza Creative Commons Attribuzione - Condividi
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
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
DettagliParadigmi e linguaggi di programmazione. Modelli per l Informatica
Paradigmi e linguaggi di programmazione Modelli per l Informatica Sommario Modelli per l Informatica Introduzione Linguaggi formali Definizione Espressioni regolari Grammatiche generative E Classificazione
DettagliIl linguaggio dei computer: rappresentazione in binario e algoritmi di conversione 20 settembre 2017
Il linguaggio dei computer: rappresentazione in binario e algoritmi di conversione 20 settembre 2017 Architettura degli Elaboratori L Architettura (informatica) è l insieme dei criteri in base ai quali
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
DettagliUn insieme si dice ben definito quando si può stabilire in modo inequivocabile se un oggetto appartiene o non appartiene a tale insieme
Gli insiemi In matematica usiamo la parola insieme per indicare un raggruppamento, una collezione, una raccolta di oggetti (persone, simboli, numeri, lettere, figure ) che sono detti elementi dell insieme
DettagliAL220 - Gruppi, Anelli e Campi
AL220 - Gruppi, Anelli e Campi Prof. Stefania Gabelli - a.a. 2013-2014 Settimana 1 - Traccia delle Lezioni Funzioni tra insiemi Ricordiamo che una funzione o applicazione di insiemi f : A B è una corrispondenza
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
DettagliRappresentazione dell' informazione. Cenni, necessari per capire le caratteristiche dei tipi di dato e delle limitazioni dell'aritmetica del computer
Rappresentazione dell' informazione Cenni, necessari per capire le caratteristiche dei tipi di dato e delle limitazioni dell'aritmetica del computer Cos'è l'informazione? Tutto quello che viene manipolato
Dettagli