Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing
|
|
- Adriano Innocenti
- 7 anni fa
- Visualizzazioni
Transcript
1 Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1
2 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo di un alfabeto fissato, piú il carattere b (cella vuota). La MDT opera sul nastro con una testina: puó leggere o scrivere un carattere in una cella, spostarsi a destra o sinistra. In ogni istante la macchina si trova in uno stato, e la computazione evolve attraverso la funzione di transizione δ: stato corrente + contenuto della cella su cui é la testina = nuovo stato + carattere da scrivere + spostamento. 2
3 Definizione 1 Una macchina di Turing deterministica (M DT ) é una sestupla M = Γ, b, Q, q 0, F, δ, dove: Γ é l alfabeto dei simboli di nastro b / Γ é il carattere speciale di cella vuota Q é un insieme non vuoto e finito di stati q 0 Q é lo stato iniziale F Q é l insieme degli stati finali δ é la funzione di transizione, definita come δ : (Q F ) (Γ { b}) Q (Γ { b}) {d, s, i} 3
4 Configurazioni e transizioni di una M DT Una configurazione istantanea di una M DT é l insieme del contenuto del nastro, della posizione della testina, e dello stato corrente. Definizione 2 Una configurazione istantanea di una M DT M = Γ, b, Q, q 0, F, δ é una stringa c = xqy, dove: 1. x ΓΓ {ε} (da ora in poi, L Γ ) 2. q Q 3. x Γ Γ { b} (da ora in poi, R Γ ) In xqy, xy rappresenta il contenuto della sezione non vuota del nastro; q é lo stato attuale; la testina é sul primo carattere di y. 4
5 La configurazione iniziale di una M DT prevede che: lo stato iniziale sia q 0 il nastro contenga l input x su x celle contigue (le altre vuote) la testina sia posizionata sul primo carattere di x. La configurazione finale di una MDT prevede che lo stato della macchina sia uno stato finale. Definizione 3 Una configurazione c = xqy si dice iniziale se x = ε, q = q 0, y Γ + { b} Definizione 4 Una configurazione c = xqy si dice finale se q F. 5
6 Funzione di transizione: data una configurazione c, un applicazione di δ produce una configurazione c (c M c ) come segue: 1. c = xqay, con x L Γ, y Γ Γ, a Γ, e δ(q, a) = (q, a, d) = c = xa q y; 2. c = xqy, con x L Γ, a Γ, e δ(q, a) = (q, a, d) = c = xa q b; 3. c = xaqby, con xa ΓΓ, y Γ Γ {ε}, b Γ e δ(q, b) = (q, b, s) = c = xq ab y; 4. c = qby, con y Γ Γ {ε}, b Γ, e δ(q, b) = (q, b, s) = c = q bb y; 5. c = xqay, con x L Γ, β Γ Γ {ε}, a Γ, e δ(q, a) = (q, b, i) = c = xq a y; 6
7 Computazione di una macchina di Turing Definizione 5 Data una macchina di Turing M = Γ, b, Q, q 0, F, δ, e dato un alfabeto di input Σ Γ, una stringa x Σ é accettata ( rifiutata) da M se esiste una computazione di accettazione (di rifiuto) con c 0 = q 0 x. Questa definizione implica che la macchina puó anche non terminare. Si puó sapere se una computazione termina? In altri termini, esiste una macchina M che puó dire se M termina per input x (problema dell halt)? 7
8 Definizione 6 Sia M = Γ, b, Q, q 0, F, δ una macchina di Turing deterministica. M riconosce ( decide) un linguaggio L Σ (con Σ Γ) sse per ogni x Σ esiste una computazione massimale q 0 x M wqz, con w ΓΓ {ε}, z Γ Γ { b}, e dove q F sse x L. Definizione 7 Sia M = Γ, b, Q, q 0, F, δ una macchina di Turing deterministica. M accetta un linguaggio L Σ (con Σ Γ) sse L = {x Σ q 0 x M wqz}, con w ΓΓ {ε}, z Γ Γ { b}, e q F. 8
9 Calcolo di funzioni Definizione 8 Sia M = Γ, b, Q, q 0, F, δ una MDT deterministica (un trasduttore) e f : Σ Σ, (Σ Γ); M calcola la funzione f sse per ogni x Γ : 1. se x Σ e f(x) = y allora q 0 x M x bqy, con q F ; 2. se x / Σ, oppure se x Σ e f(x) non definita, allora non esistono computazioni massimali, oppure esistono computazioni massimali che non terminano in uno stato finale. Codifica dei dati. 9
10 Calcolabilitá secondo turing Formalizziamo il concetto di calcolo secondo Turing (avendo a disposizione una definizione formale di algoritmo). Definizione 9 Un linguaggio é decidibile secondo Turing (Tdecidibile) se esiste una macchina di Turing che lo riconosce. Definizione 10 Un linguaggio é semidecidibile secondo Turing (T-semidecidibile) se esiste una macchina di Turing che lo accetta. Problema: Esistono linguaggi T-semidecidibili non T-decidibili? Definizione 11 Una funzione é detta calcolabile secondo Turing (T-calcolabile) se esiste una macchina di Turing che la calcola. 10
11 Macchine di Turing multinastro Definizione 12 Una macchina di Turing a k 2 nastri (MT M) é una sestupla M (k) = Γ, b, Q, q 0, F, δ k, con Γ = k i=1 Γ i é l unione dei k alfabeti di nastro Γ 1... Γ k. La funzione di transizione é definita come δ (k) : (Q F ) Γ 1... Γ k Q Γ 1... Γ k {d, s, i} (k). La macchina esegue una transizione a partire da uno stato interno q i e con le k testine (una per nastro) posizionate sui caratteri a i1,..., a ik, e con δ (k) (q i, a i1,..., a ik ) = (q j, a j1,..., a jk, z j1,..., z jk ), con z jl {d, s, i}. 11
12 Configurazioni e transizioni di MTM La configurazione di una MT M deve descrivere lo stato, i nastri e i caratteri osservati. Definizione 13 Una configurazione istantanea di una macchina di Turing multinastro é una stringa del tipo q α 1 β 1 α 2 β 2... α k β k dove α i Γ i Γ i {ε} e β i Γ i Γ i { b}, con il simbolo che indica la posizione di ogni testina e un separatore. 12
13 Definizione 14 Una configurazione q α 1 β 1... α k β k si dice iniziale se α i = ε, β 1 Γ 1, β i = Z 0 (i = 2,..., k), e q = q 0. Definizione 15 Una configurazione q α 1 β 1... α k β k finale se q F. si dice Definizione 16 L applicazione della funzione di transizione δ (k) ad una configurazione si dice transizione o mossa o passo computazionale di una MT M. Estensione delle definizioni per M DT. In particolare: Definizione 17 Una MT M M calcola la funzione f(x) se q 0 x Z 0... Z 0 M q x f(x)... b, con q F. 13
14 Equivalenza fra MDT e MT M Macchine di Turing e macchine di Turing multinastro hanno differente potere computazionale? In altri termini, i linguaggi accettati (risp., le funzioni calcolate) da una MDT sono gli stessi accettati (calcolate) da un MT M?? Teorema 18 Data una macchina di Turing M (k) = Γ, b, Q, q 0, F, δ k, esiste una macchina a un nastro che simula t passi di M in O(t 2 ) transizioni usando un alfabeto di dimensione O((2 Γ ) k ). Come conseguenza del teorema, MDT e MT M hanno lo stesso potere computazionale. 14
15 Macchine di Turing non deterministiche (MT ND) Le macchine di Turing non deterministiche hanno un potere computazionale maggiore di quelle deterministiche? Definizione 19 Una macchina di Turing non deterministica (MT ND) é una sestupla M = Γ, b, Q, q 0, F, δ, dove: Γ é l alfabeto dei simboli di nastro b / Γ é il carattere speciale di cella vuota Q é un insieme non vuoto e finito di stati q 0 Q é lo stato iniziale F Q é l insieme degli stati finali δ é la funzione di transizione (parziale), definita come δ : Q Γ P(Q Γ {d, s, i}). 15
16 Definizione 20 Dato una alfabeto Σ Γ, una stringa x Σ é accettata dalla macchina M se esiste una computazione accettante c 0,..., c n di M, con {c 0 = q 0 x}. Definizione 21 Dato una alfabeto Σ Γ, una stringa x Σ é rifiutata dalla macchina M se tutte le computazioni di M sono rifiutanti. Una MT ND rifiuta il suo input se perviene a configurazioni non finali sulle quali non si puó applicare la δ. Cosa succede al calcolo di una funzione tramite una macchina non deterministica? 16
17 Equivalenza fra MDT e MT ND Teorema 22 Per ogni macchina di Turing non deterministica M esiste una macchina di Turing deterministica M D a 3 nastri equivalente. Riduzione di MDT Teorema 23 Per ogni macchina di Turing M = Γ, b, Q, q 0, F, δ esiste una macchina di Turing a M equivalente, con nastro semiinfinito. 17
18 M DT linearizzate 18
19 La Macchina di Turing universale Qual é il potere computazionale della macchina di Turing? Esistono funzioni non calcolabili secondo Turing?? Definizione 24 Sia m : (Σ ) n Σ una funzione a piú argomenti. Una macchina di Turing M calcola m se realizza la computazione q 0 x 1 b... bx n M x 1 b... bx n bqy, con q stato finale sse m(x 1... x n ) = y. 19
20 Definizione 25 Una macchina di Turing U = Γ, b, Q, q 0, F, δ si dice macchina universale se calcola una funzione u : (Γ ) n+1 Γ con la seguente proprietá: data una qualunque macchina di Turing M = Γ, b, Q, q 0, F, δ che calcola la funzione m : (Γ ) n Γ, esiste una stringa c M Γ (una codifica di M) tale che u(c M x 1... x n ) = m(x 1... x n ). La macchina universale é quindi in grado di simulare il comportamento di ogni altra macchina di Turing. Esiste una tale macchina? 20
21 Il problema della terminazione (halting problem): data una macchina di Turing M ed una stringa x, stabilire se M termina la computazione avendo x come input. Teorema 26 Dati un alfabeto Γ ed una codifica che associa ad ogni macchina M = Γ, b, Q, q 0, F, δ una stringa c M Γ. La funzione h(c M, x) = non é T-calcolabile. 1 se M termina su input x, 0 se M non termina su input x. 21
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
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
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
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
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
DettagliTuring 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
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
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
DettagliLaurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1]
Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Macchine di Turing modello di calcolo introdotto dall ingegner Alan Turing nel 1936, per simulare il processo di calcolo umano
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
DettagliSommario 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
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?
Dettaglia 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
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
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
DettagliMacchine 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
DettagliMacchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
DettagliAutomi 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
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
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
DettagliPrincipio 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
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à
DettagliEsercitazione 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(
DettagliFondamenti di Informatica
Fondamenti di Informatica Università di Camerino Corso di Laurea in Informatica Teoria della computabilità La teoria della computabilità tratta della definizione formale del concetto di calcolo meccanico.
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
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
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
DettagliAutomi a 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
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
DettagliCorso 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
DettagliLogica 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)
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
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 macchine di Turing a nastro singolo macchine di Turing multinastro macchine di Turing trasduttrici
DettagliCapitolo 8: Teoria della complessitá
Capitolo 8: Teoria della complessitá 1 La Teoria della calcolabilitá considera aspetti qualitativi della soluzione di problemi. Distingue il calcolabile dal non calcolabile. La Teoria della complessitá
DettagliUNA 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
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
DettagliDECIDIBILITÀ E INDECIDIBILITÀ
DECIDIBILITÀ E INDECIDIBILITÀ Obiettivo: analizzare i limiti della risoluzione dei problemi mediante algoritmi. Studieremo: il potere computazionale degli algoritmi nella soluzione dei problemi. Proveremo
DettagliCapitolo III. Algoritmi e Programmi
Capitolo III Algoritmi e Programmi Trattamento delle Informazioni Informatica Studio sistematico dei processi che servono al trattamento delle informazioni Studio della definizione della soluzione di problemi
DettagliAnalizzatori 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
DettagliFormali. 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,
DettagliLinguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice
l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre
DettagliComplessità 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à
DettagliMacchine di Turing (MT)
Informatica Teorica Macchine di Turing (MT) 1 Macchine di Turing lamacchina di Turing è un automa con una testina di scrittura/lettura su nastro illimitato bidirezionale ad ogni istante la macchina si
DettagliFondamenti 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
DettagliComplessità. Ricorda: Problema P decidibile Linguaggio L P decidibile Taglia input x x. Esempio: G è un grafo connesso? { G G è un grafo connesso}
Complessità Calcolabilità: studia la frontiera tra problemi solubili e insolubili, Si limita ad aspetti qualitativi della risolubilità dei problemi (distingue ciò che è risolubile da ciò che non lo è).
DettagliFondamenti dell informatica
Fondamenti dell informatica Macchina di Turing Rosario Culmone rosario.culmone@unicam.it 4/4/2008 UNICAM - p. 1/69 Macchine di Turing Alan Turin, matematico e logico è uno dei padri dell informatica, nasce
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
DettagliEsempio stringhe palindrome 1
Esempio stringhe palindrome 1 Automa per il riconoscimento del linguaggio L = {w c w R } A = < {s,f}, {a,b,c}, {a,b},!, s, { f } > con! che contiene le transizioni: 1. (( s, a, " ), (s, a)! [ push a] 2.
DettagliLA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE
LA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE INTRODUZIONE OBIETTIVO: classificare gli algoritmi a seconda delle risorse utilizzate - risorse necessarie (lower bound) - risorse sufficienti (upper bound) Aspetti
DettagliLa macchina universale
La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine
DettagliElementi 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
DettagliAniello Murano Automi e Pushdown
Aniello Murano Automi e Pushdown 2 Lezione n. Parole chiave: Automi e PDA Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Calcolabilità, complessità e macchine computazionali
DettagliEsercitazione 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à
DettagliLinguaggi 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
DettagliVarianti Macchine di Turing
Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli
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)
DettagliSommario. 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
DettagliAppunti 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)
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.
DettagliFondamenti. 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
DettagliLe Macchine di Turing
Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella
DettagliDispensa di Informatica Teorica (Elementi) - Teorema di Cook
Teorema di ook (Idea generale) Dato L NP, costruire una trasformazione polinomiale f da L a L (sodd, e), cioè il linguaggio composto dalle stringhe che corrispondono ad istanze del problema sodd. La trasformazione
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
DettagliL AUTOMA ESECUTORE L AUTOMA ESECUTORE
L AUTOMA ESECUTORE Metodo Risolutivo (algoritmo) Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto DATI Esecutore RISULTATI cioè capace di interpretare un linguaggio (linguaggio
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
DettagliFondamenti dell Informatica. Esercizi di preparazione al secondo compitino
Fondamenti dell Informatica (III anno Laurea Triennale) Esercizi di preparazione al secondo compitino a.a. 2016/17 Funzioni primitive ricorsive Si definiscano come primitive ricorsive le seguenti funzioni:
DettagliProgamma 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
DettagliInformatica Teorica. Sezione Cremona + Como. Appello del 20 Luglio 2004
Informatica Teorica Sezione Cremona + Como Appello del 20 Luglio 2004 Coloro che recuperano la I prova risolvano gli esercizi e 2 tra quelli indicati qui sotto entro un ora. Coloro che recuperano la II
DettagliProva 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
DettagliDispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini
Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini 04 Giugno 2014 Indice 0.1 Automi.................................
DettagliCapitolo 9: Trattabilitá e intrattabilitá dei problemi
Capitolo 9: Trattabilitá e intrattabilitá dei problemi 1 La classe P : é considerata tradizionalmente come una caratterizzazione formale dei problemi trattabili. n = 2 n = 5 n = 10 n = 100 n = 1000 n 2
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
DettagliInformatica 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
DettagliLA 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
DettagliProgamma 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
DettagliEsercizi di Informatica Teorica
Esercizi di Informatica Teorica Linguaggi non contestuali: automi a pila 1 Automa a pila richiami un automa a pila non deterministico è una settupla: A = dove èl alfabeto (finito)
DettagliElementi di Complessità Computazionale
Elementi di Complessità Computazionale Ultima modifica 23.06.2004 Il problema Esiste una misura oggettiva per valutare l'efficienza di un algoritmo? In che relazione sono gli input di un algoritmo con
DettagliI 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
DettagliInformatica 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
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,
DettagliNon 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 =
DettagliDECIDIBILITÀ E INDECIDIBILITÀ
arrows DECIDIBILITÀ E INDECIDIBILITÀ Obiettivo: analizzare i limiti della risoluzione dei problemi mediante algoritmi. Studieremo: il potere computazionale degli algoritmi nella soluzione dei problemi.
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)
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
DettagliMODULO 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
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
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: (*)
DettagliSoddisfacibilità e Semantic Tableau [1]
Intelligenza Artificiale I Soddisfacibilità e Semantic Tableau Marco Piastra Soddisfacibilità e Semantic Tableau [1] Problemi e decidibilità (automatica) Problema Un problema è una relazione tra istanze
DettagliMacchine di Turing e Calcolabilità
e Calcolabilità (Capitolo 6 dispensa) Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna https://www.moreno.marzolla.name/ Copyright 2013, 20162019 Moreno Marzolla,
DettagliITLCC 2006/10/6 19:09 page 7 #3
ITLCC 2006/10/6 19:09 page 7 #3 Capitolo 2 Macchine di Turing SOMMARIO In questo capitolo introdurremo il modello di calcolo proposto dal logico matematico inglese Alan Turing, in un suo famoso articolo
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,
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
DettagliLa 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
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
Dettagli