Macchina 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

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Macchina 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"

Transcript

1 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

2 Definizione Formale Una macchina di Turing deterministica è una sestupla <!, ", Q, q 0, Z, # >! - Alfabeto esterno o dei simboli di nastro " - Simbolo speciale che indica cella vuota " %! $ Q - Un insieme finito e non vuoto di stati q 0 - stato iniziale! q 0 % Q!Z - Insieme di stati finali (halting states) # - Funzione (parziale) di transizione definita come: Nastro di Input! # : (Q - Z) x (! & {" }) ' Q x (! & {" }) x {S, D, F}! avendo indicato con S uno spostamento a Sinistra della Testina, con D uno! spostamento a Destra e con F nessuno spostamento...!!! a b b! b a! s r Unità di Controllo s t testina q j Q q i S / D / F!!... P

3 Configurazione di una MT Una configurazione di una MT rappresenta la più piccola porzione di nastro contenente tutti i simboli non! includente la cella cui è posizionata la testina ad eccezione di qualche simbolo! che si trova immerso in una stringa. q i! a b b! b a abbreviata con! a q i b b! b a formalmente una configurazione è una stringa x q y in cui: x " # (#$!)*${%}, q " Q, y " (#$!)*#${!} la condizione x = % equivale a dire che alla sinistra di q non vi è alcun simbolo ovvero compaiono solo simboli!, mentre se y =!, sulla cella dove è puntata la testina ed alla destra della testina compaiono simboli!.

4 Configurazioni notevoli Configurazione iniziale E caratterizzata dalla stringa x q y con!!!! x =!, q = q 0, y " # + $ { % } Configurazione finale E caratterizzata dalla stringa x q y con!! x " # (#$ %)*${!}, q " Z, y " (#$ %)*#${%} Per come è definita la matrice di transizione &, una macchina che si trovi in una configurazione finale non può effettuare ulteriori passi di computazione.

5 Ciclo di macchina o transizione E il meccanismo di base per il passaggio da una configurazione i-esima ad una configurazione i+1-esima. Ad ogni ciclo viene cambiato il simbolo contenuto nella cella esaminata con un altro simbolo (eventualmente lo stesso), il simbolo di stato (eventualmente lo stesso) e lo spostamento della testina a Sinistra (S) Destra (D) oppure nessun movimento (F). C i! C i+1 Più formalmente: 1. C i = x q a y e se "(q,a) = (q, a, D) allora C i+1 = x a q y 2. C i = x q a e se "(q,a) = (q, a, D) allora C i+1 = x a q # 3. C i = x a q b y e se "(q,b) = (q, b, S) allora C i+1 = x q a b y 4. C = q b y i e se "(q,b) = (q, b, S) allora C = q # b y i+1 5. C i = x q a y e se "(q,a) = (q,a, F) allora C i+1 = x q a y

6 Computazione Una successione di transizioni stabilisce una computazione o calcolo C 0! C 1...! C n Vedremo nel prosieguo come una computazione può essere infinita o arrestarsi in una configurazione finale.

7 Esempio 1 Funzione di transizione Calcolo del successore di un numero naturale! q 0 q 1 Si somma 1 all ultima cifra, se questa è = 9 si mette 0 e si riporta 1. Ex 1: 0 D 1 q # 1 D 2 q # 2 D 3 q # q # 1 q # 1 4 q 0 8 # q 0 " 3 D 4 q # # 1 4 q 1 8 # 1 4 q # 9 4 D 5 q # 5 D 6 q # Ex 2: q # 3 q # 3 8 q 0 9 # q 0 " # 3 8 q 1 9 # 3 q # 3 q # D 7 q # 7 D 8 q # 8 D 9 q # 9 D 0 S " S q 1 1 q #

8 Esempio 2 Contatore di una sequenza di caratteri. Viene impiegato un cursore q per scorrere la stringa verso destra 0 fino a trovare un carattere ", si passa quindi allo stato q 1 che cancella un carattere e ci riporta tramite un cursore q verso sinistra 2 dove viene attivato un contatore che conteggia il carattere tolto. Es: q a a a # a q a a # a a q a # a a a q " # a a q 1 a # a q 2 a " # q 2 a a # q 2 " a a # q 0 1 a a # 1 q 0 a a # 1 a q 0 a # 1 a a q 0 " # 1 a q 1 a # 1 q 2 a " # q 2 1 a # q 0 2 a # 2 q 0 a # 2 a q 0 " # 2 q 1 a # 2 q 2 " # q 2 2 " # q 0 3 # 3 q 0 " # q 1 3 # q # 3 Funzione di transizione! q 0 q 1 q q D q # 1 q 0 1 D q # 2 q 0 2 D q ## 3 q 0 3 D q ## 4 q 0 4 D q # 5 q 0 5 D q # qq q ### 6 q 0 6 D qq # 7 q 0 7 D q q # 8 q 0 8 D q # q ## # 9q 0 9 D q # 0 S " S q 1 q # 1 q 0 a D "Sq 2 S

9 Esempio 3 Somma di due numeri, separati dal carattere *, dati come sequenza di caratteri 1. Mette " al posto di e passa allo stato q 2 2. Va destra fino a trovare " 3. Mette e passa a q 1 x 4. Va a sinistra fino ritrovare ", passa a q 0 e reitera dal punto 1... Alla fine tutti i caratteri sono alla destra di * la macchina cancella * e si ferma. Funzione di transizione! q 0 q 1 q 2 " D Dq 0 q 1 "Dq 2 S D * " q # S D q 0 * # " q 2 * # " q 2 * # " q 2 * # " q 2 * # " * q 2 # " * q 2 # " * q 2 " # " * q 1 # " * q 1 # " * q 1 # " q 1 * # " q 1 * # " q 1 * # " q 1 * # q 1 " * # q 0 * #* q 1 " * # q 0 * # q #

10 Esempio 3 cont.!/! D */! F q # simbolo letto / simbolo scritto/ spostamento q 0 */* D I/I S Funzione di transizione I/! D q 2!/ I F q 1! q 0 q 1 q 2 " D Dq 0 q 1!/! D I/I D */* S "Dq 2 S D * " q # S D

11 Esempio 4 Costruire una Macchina di Turing capace di ricopiare una stringa di input presa dall alfabeto {a,b} Esempio di computazione L input è della forma! w! l output è della forma! w! w! b/b/d a/a/d b/b/d a/a/d!/!/d a/x/d!/a/s!/!/d X/X/D Y/Y/D q #!/!/F!/!/S b/y/d!/!/d!/b/s a/a/s b/b/s!/!/s X/a/S Y/b/S a/a/d b/b/d a/a/d b/b/d

12 Esempio 5 Costruire una Macchina di Turing che riconosca il linguaggio L={a n b n c n : n! 0} Suggerimento: Costruire una macchina che opera in n stadi. Per ogni stadio La testina si muove verso destra per individuare il primo carattere a che viene rimpiazzato con un carattere *. La testina si muove quindi verso destra per trovare un carattere b che appena trovato viene ad essere sostituito ancora da un carattere *, quindi si va alla ricerca di un carattere c che verrà sostituito sempre da un carattere *. Una volta esaurito il ciclo la testina torna verso sinistra e si prosegue con un ulteriore ciclo. La macchina deve controllare se ci sono caratteri in più: Il procedimento termina quando la macchina è alla ricerca di un a e trova la fine stringa.

Analizzatori sintattici a discesa ricorsiva

Analizzatori sintattici a discesa ricorsiva Analizzatori sintattici a discesa ricorsiva E uno schema di analizzatore che sfrutta la descrizione grammaticale in EBNF adatto a grammatiche LL(1). Si basa sulla scrittura di procedure ricorsive ricavate

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 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

Dettagli

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd Fondamenti d Informatica: Le Macchine di Turing Barbara Re, Phd Esercizio 1 } Consideriamo una MdT che modifica una sequenza di A rimpiazzando ogni A in posizione dispari con una B (la prima A ha posizione

Dettagli

La MT come riconoscitore

La MT come riconoscitore La MT come riconoscitore Sia M =

Dettagli

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi

Sommario 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

Dettagli

ALGORITMI E COMPLESSITA COMPUTAZIONALI LA MACCHINA DI TURING.

ALGORITMI 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

Dettagli

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica 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

Dettagli

Limiti della calcolabilità

Limiti 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

Dettagli

Macchina 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 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à

Dettagli

Testi di esame precedenti a.a. e soluzioni

Testi di esame precedenti a.a. e soluzioni Fondamenti di Informatica mod. 2 2018/2019 M.Di Ianni Testi di esame precedenti a.a. e soluzioni 1 Problemi Problema 6.1: Dimostrare che, per ogni costante intera positiva k, 2 nk è una funzione time-constructible.

Dettagli

Turing cercò di fornire una risposta matematica al problema CHE COSA SIGNIFICA CALCOLARE?

Turing cercò di fornire una risposta matematica al problema CHE COSA SIGNIFICA CALCOLARE? STORIA DELLE CONOSCENZE SCIENTIFICHE SULL UOMO E SULLA NATURA a.a. 2016 2017 Prof. Roberto Giuntini, PhD. Introduzione alla storia dell intelligenza artificiale e della robotica Modulo II: Le macchine

Dettagli

Automi 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. 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

Dettagli

Macchine di TURING. Alan Mathison Turing ( )

Macchine di TURING. Alan Mathison Turing ( ) Macchine di TURING Alan Mathison Turing (1912 1954) Macchine di TURING Alan Mathison Turing (1912 1954) matematico, logico e crittanalista britannico, considerato uno dei padri dell informatica e uno dei

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd

Fondamenti 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

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a cura di Luca Cabibbo e Walter Didimo a cura di Luca Caio e Walter Didimo Esercizi di Informatica teorica - Luca Caio e Walter Didimo macchine di Turing a nastro singolo macchine di Turing multinastro macchine di Turing trasduttrici macchine

Dettagli

La nozione di algoritmo

La 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

Dettagli

ITLCC 2006/10/6 19:09 page 7 #3

ITLCC 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

Dettagli

Informatica 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 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

Dettagli

Prof. A.Venia. Docente d Informatica presso l I.I.S.S. Ven. I. Capizzi Liceo Scientifico - Bronte. Macchine di Turing. Avvertenze

Prof. A.Venia. Docente d Informatica presso l I.I.S.S. Ven. I. Capizzi Liceo Scientifico - Bronte. Macchine di Turing. Avvertenze Macchine di Turing Avvertenze Per ogni esercizio viene proposto oltre al testo, la matrice funzionale, il grafo orientato, un esempio con il valore iniziale e quello finale e, inoltre, una breve descrizione.

Dettagli

Macchine di Turing: somma di due numeri

Macchine di Turing: somma di due numeri Informatica Teorica 2/2 M.Di Ianni Macchine di Turing: somma di due numeri Vogliamo definire una macchina di Turing che, presi in input due numeri n e m espressi in notazione binaria, calcola il valore

Dettagli

Sommario. martedì 23 ottobre 2012

Sommario. 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

Dettagli

Principio di composizione delle MT

Principio di composizione delle MT Principio di composizione delle MT La definizioni date fanno riferimento a situazioni in cui la macchina sia capace di risolvere problemi singoli. E possibile far sì che macchine progettate per problemi

Dettagli

Macchina di Turing. La macchina di Turing e la realizzazione di una automa ed è costituita da:

Macchina di Turing. La macchina di Turing e la realizzazione di una automa ed è costituita da: Macchina di Turing La macchina di Turing e la realizzazione di una automa ed è costituita da: a) un nastro illimitato suddiviso in caselle; b) una testina di lettura/scrittura; c) un organo di controllo

Dettagli

Macchina di Turing Universale

Macchina 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

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 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

Dettagli

Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti Linguaggi regolari e automi a stati finiti Argomenti della lezione Linguaggi regolari e automi a stati finiti Automi a stati finiti non deterministici Relazione tra automi deterministici e non deterministici

Dettagli

Automi a stati finiti

Automi a stati finiti Automi a stati finiti Definizioni preliminari Il modello: la definizione formale, esempi. Le definizioni utili per descrivere e provare proprietà degli automi: diagramma degli stati, configurazioni, relazione

Dettagli

Esercizi di Informatica Teorica. Macchina di Turing

Esercizi 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

Dettagli

Macchine 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, 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,

Dettagli

Concetti di base sugli automi e sui linguaggi formali

Concetti 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

Dettagli

Automi a stati finiti

Automi 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

Dettagli

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014

Algoritmi 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

Dettagli

Prova Finale di Algoritmi e Strutture Dati note generali

Prova Finale di Algoritmi e Strutture Dati note generali 1 Prova Finale di Algoritmi e Strutture Dati note generali Introduzione Obiettivo: implementazione efficiente (e corretta!) di un algoritmo Logistica codice sorgente sarà caricato su un server, compilato

Dettagli

Analisi e Sintesi di circuiti sequenziali

Analisi 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

Dettagli

Sommario. 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. 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

Dettagli

AUTOMI A STATI FINITI

AUTOMI 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

Dettagli

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica Algoritmi e Principi dell Informatica Appello del 1 Settembre 2016 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

Dettagli

Fondamenti dell Informatica

Fondamenti 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.

Dettagli

LA MACCHINA DI TURING

LA MACCHINA DI TURING LA MACCHINA DI TURING 1.1 Descrizione del modello base La macchina di Turing è un semplice modello matematico di computer. Un modello base della macchina di Turing è rappresentato in figura: Essa è costituita

Dettagli

Logica Algoritmi Cognizione

Logica Algoritmi Cognizione Logica Algoritmi Cognizione Le nozioni di DECIDIBILITÀ e COMPUTABILITÀ e i loro limiti Formulazione della logica in termini di teorie formalizzate e di dimostrazioni (all interno di teorie formalizzate)

Dettagli

10. LINGUAGGI REGOLARI

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)

Dettagli

Algoritmi e Complessità

Algoritmi 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

Dettagli

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Ma 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?

Dettagli

UNA GERARCHIA DI MACCHINE

UNA GERARCHIA DI MACCHINE ELEMENTI DI PROGRAMMAZIONE a.a. 2015/16 UNA GERARCHIA DI MACCHINE UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine di Turing Macchine di

Dettagli

Progetto e analisi di algoritmi

Progetto 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

Dettagli

Esercizio su MT. Svolgimento

Esercizio 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

Dettagli

Costruzione di espressioni regolari 4

Costruzione 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:

Dettagli

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi,

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi, Corso di Automi e Linguaggi Formali Gennaio- Marzo 2004 Docente: Francesca Rossi, frossi@math.unipd.it Corso di Automi e Linguaggi Formali Gennaio-Marzo 2004 p.1/30 Dati del corso Orario: Lunedi 15:50-17:30,

Dettagli

Forma Normale di Chomsky

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,

Dettagli

MODULO 07 LA MACCHINA DI TURING

MODULO 07 LA MACCHINA DI TURING MODULO 07 LA MACCHINA DI TURING Nel 1936 Alan Turing presenta una definizione di computabilità basata sull osservazione del comportamento di un agente umano che sta eseguendo un calcolo (algoritmo) con

Dettagli

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE

ELEMENTI 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

Dettagli

Fondamenti di Informatica. Ipotesi fondamentale. Irrisolubilità. Prof. V.L. Plantamura Informatica e Comunicazione Digitale a.a.

Fondamenti di Informatica. Ipotesi fondamentale. Irrisolubilità. Prof. V.L. Plantamura Informatica e Comunicazione Digitale a.a. Fondamenti di Informatica Prof. V.L. Plantamura Informatica e Comunicazione Digitale a.a. 2006-2007 Ipotesi fondamentale Tesi di Church Qualunque algoritmo può essere espresso sotto forma di matrice funzionale

Dettagli

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché Partizioni intere PARTIZIONAMENTO: Dato un insieme di n interi non negativi rappresentati in binario, trovare un sottoinsieme P! {1,2,..., n } tale che! i"p a i =! i# P a i Es: Dato {38, 17, 52, 61, 21,

Dettagli

ALFABETO. Informatica Prof. Nicola BRUNO

ALFABETO. 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

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 macchine di Turing a nastro singolo macchine di Turing multinastro macchine di Turing trasduttrici

Dettagli

Esercitazione 3 - Linguaggi e Calcolabilità Antonio Cruciani

Esercitazione 3 - Linguaggi e Calcolabilità Antonio Cruciani Esercitazione 3 - Linguaggi e Calcolabilità 12-04-2019 Antonio Cruciani antonio.cruciani@alumni.uniroma2.eu 1 Esercizi a lezione Esercizio 1: Sia L il linguaggio definito come segue: L HB = {ÈMÍ : MèunamacchinadituringeM(

Dettagli

Automi 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 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

Dettagli

Fondamenti 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 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

Dettagli

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di

Dettagli

Sommario. Complessità di tempo e spazio di una TM che si ferma sempre.

Sommario. Complessità di tempo e spazio di una TM che si ferma sempre. Sommario Complessità di tempo e spazio di una TM che si ferma sempre. Relazioni tra le due misure Analisi complessità delle TM costruite per dimostrare che più nastri o il non determinismo non aumentano

Dettagli

Le Macchine di Turing

Le 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

Dettagli

Fondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a.

Fondamenti 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

Dettagli

Fondamenti 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. 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

Dettagli

Automi 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 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:

Dettagli

Complessità computazionale. Intermezzo tecnico

Complessità computazionale. Intermezzo tecnico computazionale Intermezzo tecnico Piero A. Bonatti Università di Napoli Federico II Laurea Magistrale in Informatica Tema della lezione Normalizzazioni varie, tecnicamente utili funzioni di complessità

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1

Dettagli

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo

Linguaggi 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

Dettagli

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach

Forme Normali. 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.

Dettagli

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Progamma sintetico Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Un problema classico Un uomo viaggia con un lupo, una pecora

Dettagli

Informatica Generale Homework di Recupero 2016

Informatica Generale Homework di Recupero 2016 Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola

Dettagli

Informatica teorica Lez. n 10 Macchine a registri. Macchine a registri. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica teorica Lez. n 10 Macchine a registri. Macchine a registri. Prof. Giorgio Ausiello Università di Roma La Sapienza Macchine a registri Argomenti della lezione Macchine a registri (RAM) Costi di calcolo RAM e macchine di Turing Macchine a registri elementari Macchine a registri (RAM: Random Access Machines) Introdotte

Dettagli

Fondamenti. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione [010194] 7 mar, 2016

Fondamenti. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione [010194] 7 mar, 2016 Fondamenti Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 7 mar, 2016 Sommario Fondamenti 7 mar, 2016 2 / 1 Introduzione Limiti dei programmi

Dettagli

LINGUAGGI FORMALI. Introduzione

LINGUAGGI 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

Dettagli

Corso di Laurea in Informatica. Linguaggi di Programmazione. Fondamenti e Calcolabilità Valeria Carofiglio. a.a

Corso di Laurea in Informatica. Linguaggi di Programmazione. Fondamenti e Calcolabilità Valeria Carofiglio. a.a Linguaggi di Programmazione Corso di Laurea in Informatica Fondamenti e Calcolabilità Valeria Carofiglio a.a. 2015-2016 (questo materiale è una rivisitazione del materiale prodotto da Nicola Fanizzi) Teoria

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Esempio. Risoluzione di un Problema

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Esempio. Risoluzione di un Problema Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

Turing, i nastri e le macchine

Turing, 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

Dettagli

Aniello Murano Automi e Pushdown

Aniello 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

Dettagli

Non determinismo e grammatiche. Achille Frigeri Dipartimento di Matematica Francesco Brioschi Politecnico di Milano

Non determinismo e grammatiche. Achille Frigeri Dipartimento di Matematica Francesco Brioschi Politecnico di Milano Non determinismo e grammatiche Achille Frigeri Dipartimento di Matematica Francesco Brioschi Politecnico di Milano Modelli non deterministici - Macchine Automa a stati niti non deterministico (AFN) A =

Dettagli

Alan Turing pioniere dell era digitale. Il calcolo e le sue limitazioni

Alan Turing pioniere dell era digitale. Il calcolo e le sue limitazioni Alan Turing pioniere dell era digitale Il calcolo e le sue limitazioni Simone Martini Dipartimento di Informatica: Scienza e Ingegneria Alma mater studiorum Università di Bologna scienzagiovane 27 ottobre

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere

Dettagli

Fondamenti d Informatica: Simulazione d esame. Barbara Re, Phd

Fondamenti 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

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi 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

Dettagli

La Macchina RAM Shepherdson e Sturgis (1963)

La Macchina RAM Shepherdson e Sturgis (1963) La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole 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

Dettagli

Esercitazione 2 - Linguaggi e Calcolabilità Antonio Cruciani

Esercitazione 2 - Linguaggi e Calcolabilità Antonio Cruciani Esercitazione 2 - Linguaggi e Calcolabilità 05-04-2019 Antonio Cruciani antoniocruciani@alumniuniroma2eu 1 Esercizi a lezione Esercizio 1: Sia L XTM = {ÈT Í : TnonaccettaÈT Í} Si discuta la decidibilità

Dettagli

Trasformazione di un NDFA in un DFA con ε-regole

Trasformazione 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

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Macchina di Turing. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale sede di Taranto a.a

Macchina di Turing. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale sede di Taranto a.a Macchina di Turing Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale sede di Taranto a.a. 2015-2016 Algoritmo L algoritmo è una sequenza finita di istruzioni, mediante le quali un qualunque

Dettagli

Sommario Tesi di Church, di Turing, e di Church Turing G delizzazione. Limiti della Calcolabilità

Sommario Tesi di Church, di Turing, e di Church Turing G delizzazione. Limiti della Calcolabilità Sommario Tesi di Church, di Turing, e di Church Turing G delizzazione Macchina di Turing Universale Problema della fermata Altri problemi indecidibili 1 2 Tesi di Church Nel 1936 Church propone la seguente

Dettagli

Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice

Linguaggio 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

Dettagli

Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018

Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018 Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018 Esercizio 1 (Automi a stati finiti) {a, b}. Si considerino i seguenti automi a stati finiti sull alfabeto Per ognuno degli automi,

Dettagli

Automi per il riconoscimento di linguaggi.

Automi per il riconoscimento di linguaggi. Automi per il riconoscimento di linguaggi. Un altro modo di caratterizzare un linguaggio formale e' quello di identificare l'automa di riconoscimento corrispondente. Un automa e', in generale, una macchina

Dettagli

Algoritmi e Principi dell Informatica

Algoritmi 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

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Algoritmi e Programmi Elementi

Dettagli

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica Algoritmi e Principi dell Informatica Appello del 20 Febbraio 2012 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2h e 30 Chi deve sostenere solo il modulo di Informatica

Dettagli

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Automi. Giacomo PISCITELLI

Corso 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,

Dettagli