Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Размер: px
Начинать показ со страницы:

Download "Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing"

Транскрипт

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

Подробнее

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

Подробнее

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

Подробнее

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

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

Подробнее

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

Подробнее

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,

Подробнее

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

Подробнее

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

Подробнее

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à

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Capitolo 8: Teoria della complessitá

Capitolo 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á

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Esempio stringhe palindrome 1

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

Подробнее

La macchina universale

La 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}*

Подробнее

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

Подробнее

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

Подробнее

Varianti Macchine di Turing

Varianti 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

Подробнее

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 ([email protected])

Подробнее

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

Подробнее

Fondamenti dell Informatica. Esercizi di preparazione al secondo compitino

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

Подробнее

Informatica Teorica. Sezione Cremona + Como. Appello del 20 Luglio 2004

Informatica 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

Подробнее

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

Подробнее

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

Подробнее

Elementi di Complessità Computazionale

Elementi 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

Подробнее

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,

Подробнее

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

Подробнее

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

Подробнее

Algoritmi e Principi dell Informatica

Algoritmi 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

Подробнее