Appunti sulla Macchina di Turing. Macchina di Turing



Похожие документы
4 3 4 = 4 x x x 10 0 aaa

Le Macchine di Turing

Esercizio su MT. Svolgimento

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

I sistemi di numerazione

Uso di base delle funzioni in Microsoft Excel

SISTEMI DI NUMERAZIONE E CODICI

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Capitolo 2. Operazione di limite

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

ESEMPIO 1: eseguire il complemento a 10 di 765

4. Operazioni elementari per righe e colonne

La somma. Esempio: Il prodotto. Esempio:

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

Energia potenziale elettrica e potenziale. In queste pagine R indicherà una regione in cui è presente un campo elettrostatico.

Nozione di algoritmo. Gabriella Trucco

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Lezioni di Matematica 1 - I modulo

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

Matematica in laboratorio

Tipologie di macchine di Turing

Lezione 8. La macchina universale

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

scaricato da

Intelligenza Artificiale

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Matematica generale CTF

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Prof. Silvio Reato Valcavasia Ricerche. Il piano cartesiano

( x) ( x) 0. Equazioni irrazionali

Economia Applicata ai sistemi produttivi Lezione II Maria Luisa Venuta 1

1. PRIME PROPRIETÀ 2

Dimensione di uno Spazio vettoriale

Utilizzo delle formule in Excel

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S A. Pisani, appunti di Matematica 1

Manuale d uso per la raccolta: Sicurezza degli impianti di utenza a gas - Postcontatore

LE FUNZIONI A DUE VARIABILI

Corso di Automazione industriale

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

TEST: Word & Excel Tutti i diritti riservati. Computer Facile -

Funzioni in C. Violetta Lonati

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Le macchine di Turing

Rappresentazione dei numeri in un calcolatore

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

Macchine sequenziali

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

Teoria dei Giochi. Anna Torre

USO DI EXCEL CLASSE PRIMAI

FISICA. Le forze. Le forze. il testo: 2011/2012 La Semplificazione dei Testi Scolastici per gli Alunni Stranieri IPSIA A.

Anno 1. Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi)

CdL in Medicina Veterinaria - STPA AA

Con il termine programma Teacch si intende l organizzazione dei servizi per persone autistiche realizzato nella Carolina del Nord, che prevede una

Varianti Macchine di Turing

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)

Alessandro Pellegrini

Kangourou della Matematica 2014 finale nazionale italiana Mirabilandia, 12 maggio 2014

Come masterizzare dischi con Nero 11

Descrizione attività

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

1. Le macro in Access 2000/2003

Esempi di algoritmi. Lezione III

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

On-line Corsi d Informatica sul Web

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:

Laurea Specialistica in Informatica

Modulo didattico sulla misura di grandezze fisiche: la lunghezza

Corrispondenze e funzioni

Guida all uso di Java Diagrammi ER

Le Mappe di Karnaugh.

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Soluzione dell esercizio del 2 Febbraio 2004

x u v(p(x, fx) q(u, v)), e poi

Come costruire una distribuzione di frequenze per caratteri quantitativi continui

1. Distribuzioni campionarie

POSTA ELETTRONICA CERTIFICATA Manuale operativo. Manuale operativo Posta Elettronica Certificata (PEC) del Comune di Como

Programma Gestione Presenze Manuale autorizzatore. Versione /08/2010. Area Sistemi Informatici - Università di Pisa

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

I NUMERI DECIMALI. che cosa sono, come si rappresentano

Pozzo di Miele Istruzioni Autori: Ezio Riccardi Adriano Molini. Pozzo di Miele - AREA PUBBLICA

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

La misura degli angoli

Il presente supporto consente la gestione delle gare Giovanili. Premere il pulsante Immissione Dati Gara

Scelta intertemporale: Consumo vs. risparmio

ROBOMAT. ROBOMAT Progettare, comunicare, stabilire relazioni di tipo spaziale misurare in tipiche situazioni di problemsolving

CORRENTE E TENSIONE ELETTRICA LA CORRENTE ELETTRICA

Транскрипт:

Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso in sezioni dette celle. Ogni cella del nastro può contenere uno dei k+1 simboli s 0, s 1, s 2,..., s k che costituiscono il cosiddetto alfabeto esterno, mediante il quale sono rappresentate le informazioni introdotte nella macchina o che dalla macchina sono prodotte. Tra i simboli dell alfabeto esterno si trova anche un simbolo, ad esempio s 0, che serve a indicare l assenza di simboli e che per semplicità si può supporre contenuto nelle celle prive di informazioni (celle vuote); b) una unità di memoria, detta memoria interna, in grado di immagazzinare i simboli q 0, q 1,..., q m costituenti l alfabeto interno. Tali simboli rappresentano m+1 stati diversi della macchina e sono detti simboli di stato. Uno di essi, ad esempio q 0, sta ad indicare lo stato di arresto della macchina; c) una unità di controllo, consistente in un dispositivo in grado di prendere in esame una cella della memoria esterna, prelevare il simbolo dell alfabeto esterno in essa contenuto, registrarne uno nuovo e comandare il movimento del nastro di una cella verso sinistra o verso destra. All unità di controllo è collegata una memoria detta memoria di controllo, nella quale viene immagazzinato uno dei tre simboli S, D, F, detti simboli di movimento, indicanti rispettivamente i seguenti ordini: S: esaminare la cella immediatamente a sinistra D: esaminare la cella immediatamente a destra F: esaminare la stessa cella; d) una unità logica, avente due ingressi e tre uscite. Ai due ingressi giungono il simbolo dell alfabeto esterno s i contenuto nella cella esaminata dall unità di controllo e il simbolo di stato q i contenuto nella memoria interna. L unità logica fornisce in uscita, per ogni coppia di valori in ingresso, una terna di valori rappresentanti rispettivamente: 1. il simbolo s j che deve essere registrato nella cella esaminata dall unità di controllo 2. il simbolo di stato q j che deve essere registrato nella memoria interna 3. il simbolo di movimento m j (S, D, F), che deve essere trasmesso alla memoria dell unità di controllo. Figura 1 Schema funzionale della macchina di Turing Prof. A. Venia 1

La terna di valori in uscita dall unità logica dipende esclusivamente dalla coppia di valori in ingresso; l unità logica si comporta pertanto come una funzione che associa ad ogni coppia di simboli s i, q i una terna di simboli s j, q j, m j, dove m j indica uno dei tre simboli di movimento. Tale funzione può essere rappresentata mediante una tavola contenente k+1 righe (tante quanti sono i simboli dell alfabeto esterno) ed m colonne (tante quanti sono i simboli di stato della macchina oltre al simbolo di arresto). All incrocio della riga e della colonna corrispondenti ad una determinata coppia di valori s i, q i, si troverà una terna di simboli s j, q j, m j che l unità logica fa corrispondere alla coppia considerata. La tavola ora descritta prende il nome di matrice funzionale della macchina di Turing. Nella tabella adiacente è riportata la matrice funzionale di una macchina di Turing avente tre stati oltre a quello di arresto e un alfabeto esterno di 4 simboli. Il funzionamento di una macchina di Turing è definito dalla matrice funzionale che rappresenta il comportamento della sua unità logica, per cui costruire una macchina di Turing equivalente a determinare la sua matrice funzionale. Funzionamento della macchina di Turing La macchina di Turing inizia il funzionamento a partire da una configurazione di macchina iniziale, cioè una situazione in cui: a) in un numero finito di celle del nastro sono contenuti simboli dell alfabeto esterno diversi dal simbolo vuoto s 0 b) l unità di controllo esamina una determinata cella; c) nella memoria interna si trova un simbolo di stato q i diverso dal simbolo di arresto q 0. Il funzionamento della macchina consiste nella esecuzione di una successione di passi in ciascuno dei quali avvengono le seguenti operazioni: 1. l unità di controllo preleva il simbolo s i contenuto nella cella esaminata e lo invia all unità logica; 2. la memoria interna invia all unità logica il simbolo di stato q i ; 3. l unità logica, in funzione della coppia di simboli in ingresso, fornisce la terna di simboli s j, q j, m j definiti dalla matrice funzionale; 4. il simbolo s j viene registrato nella cella esaminata in sostituzione di quello precedentemente contenuto; 5. il simbolo di stato q j viene registrato nella memoria interna al posto del simbolo precedentemente contenuto; 6. il simbolo di movimento m j viene registrato nella memoria di controllo e l unità di controllo passa ad esaminare la cella immediatamente a sinistra, immediatamente a destra, o esamina nuovamente la stessa cella, a seconda del valore di m j. Al termine di ciascun passo, la macchina di Turing assume quindi una nuova configurazione; se dopo un numero finito di passi la macchina si ferma perché nella memoria interna è stato introdotto il simbolo di stato q 0 (stato di arresto), si dice che la macchina è applicabile all informazione contenuta inizialmente sul nastro e che essa l ha trasformata nell informazione che si trova sul nastro all atto dell arresto. In caso contrario, cioè se la macchina non si ferma mai, si dice che essa è non applicabile all informazione contenuta inizialmente sul nastro. Si supponga ora che sia possibile rappresentare un qualunque problema di una determinata classe mediante un insieme di simboli registrati sul nastro di una macchina di Turing, e che tale macchina sia applicabile all informazione costituita da tali simboli e la trasformi in un altra informazione rappresentante la soluzione del problema. Si dirà allora che quella macchina di Turing può risolvere la classe di problemi considerata. Prof. A. Venia 2

Esempi di funzionamento Esempio 1 Si consideri la seguente classe di problemi: Dato un numero n rappresentato in notazione decimale, determinare la rappresentazione decimale del numero n + 1. Facendo riferimento a quanto si è detto nel paragrafo precedente, si supponga che il numero n sia registrato sul nastro di una macchina di Turing avente il seguente alfabeto esterno: Si supponga, inoltre, che l unità di controllo esamini la cella contenente la cifra meno significativa del numero dato, le cui cifre decimali sono scritte una per cella da sinistra verso destra, mentre le celle rimanenti sono vuote. Se si indica con q 1 il simbolo di stato che si trova nella memoria interna al momento in cui la macchina inizia il suo funzionamento, si verifica facilmente che la matrice funzionale rappresentata nella tabella accanto (costituita da 11 righe e 2 colonne) è applicabile alla informazione iniziale e la trasforma nella soluzione del problema considerato, lasciando sotto esame la cifra meno significativa. Una verifica può essere fatta sullo schema seguente, in cui sono rappresentati gli stati della macchina e il contenuto del nastro al termine di ciascuno dei passi del suo funzionamento, nel caso in cui il contenuto iniziale sia il numero 2599. La cella sotto esame è individuata mediante una freccia e quindi all inizio del funzionamento la macchina considera la cifra meno significativa del numero, che in questo caso è 9. Questa è trasformata in uno zero e la macchina passa a considerare la cella immediatamente a sinistra, dove si trova ancora la cifra 9, che viene pure trasformata in zero. La macchina passa allora a considerare la cella a sinistra, dove si trova una cifra diversa da 9 (5 in questo caso), che viene trasformata nella cifra immediatamente superiore (cioè 6). A questo punto la macchina avrebbe completato la sua funzione, ma la matrice funzionale provvede a farle assumere lo stato q 2 e a far scorrere il nastro in direzione opposta fino ad incontrare una cella vuota (cioè un simbolo s 0 ). Prof. A. Venia 3

La macchina passa allora a considerare la cella a sinistra (che conterrà la cifra meno significativa della soluzione del problema) ed assume lo stato q 0, cioè si arresta. Si osservi che, nel caso in cui la cifra meno significativa del dato iniziale fosse diversa da 9, la macchina, dopo averla sostituita con la cifra immediatamente superiore, potrebbe fermarsi senza verificare se la cella a destra è vuota. È però necessario tener presente che la macchina di Turing non conserva memoria degli stati precedenti e non può pertanto decidere ad un determinato passo se in precedenza ha fatto oppure non ha fatto spostamenti verso sinistra. Esempio 2 Si consideri la seguente classe di problemi: Dati due numeri interi positivi o nulli m ed n, rappresentati rispettivamente da m + 1 cifre 1 e da n + 1 cifre 1, costruire la somma m + n rappresentata da m + n + 1 cifre 1 1. Si supponga che i due numeri siano registrati sul nastro di una macchina di Tu- ring avente il seguente alfabeto esterno: s 0 (simbolo vuoto) 1 (simbolo della notazione unaria) * (simbolo di separazione tra i due numeri) Le n+1 cifre 1 rappresentanti il numero n occuperanno n+1 celle consecutive, separate mediante una cella contenente il simbolo * dalle m+1 celle consecutive contenenti le m+1 cifre 1 rappresentanti il numero m. Le rimanenti celle sono vuote. All inizio del funzionamento la macchina si trova nello stato q 1 e l unità di controllo esamina la cella all estrema sinistra del numero n come è illustrato nella fig. 2.24, in cui si è supposto n=4 ed m=3. La matrice funzionale, rappresentata nella tabella, costituita da 3 righe e 4 colonne, è applicabile alla informazione iniziale considerata e la trasforma nella soluzione del problema, costituita da m+n+1 cifre 1 rappresentanti il numero m+n in rappresentazione unaria. Al termine del funzionamento la macchina si trova nello stato di arresto q 0, mentre l unità di controllo esamina la cella a sinistra della prima cifra del risultato. Il funzionamento della macchina può essere seguito sulla fig. 2.24. Dopo aver cancellato la cifra 1 all estrema sinistra, la macchina si pone nello stato q 2 ed esplora tutte le celle alla destra della prima senza alterarne il contenuto, finché giunge alla prima cella vuota nella quale scrive una cifra 1, ponendosi poi nello stato q 3. In questo stato la macchina scorre verso sinistra tutte le celle senza alterarle fino 1 Questo sistema di rappresentazione prende il nome di sistema unario. In esso lo zero è rappresentato da una cifra (o da un qualsiasi simbolo, per esempio una barra verticale), il numero I da due cifre, il numero 2 da tre cifre e così via. Prof. A. Venia 4

ad incontrare la prima cella vuota, dopo di che si pone nuovamente nello stato q 1 e si sposta a destra, ripetendo la situazione iniziale. A questo punto le situazioni precedenti si ripetono più volte: la macchina si sposta a destra sul nastro trascrivendo la cifra i iniziale, che viene cancellata, alla destra dell ultima cifra 1 del secondo numero. La successione delle operazioni cambia quando la macchina, dopo aver cancellato tutte le cifre 1 che precedono l asterisco, si trova nello stato q 1 ad esaminare la cella contenente l asterisco. Infatti, a questo punto, essa cancella il contenuto ditale cella e si pone nello stato q 4, spostandosi sulla cella adiacente. Anche la cifra 1 contenuta in questa cella viene cancellata (infatti il numero m+n è rappresentato da m+n+1 cifre 1) e la macchina si arresta. Ipotesi fondamentale della teoria degli algoritmi Dalla definizione della macchina di Turing data in precedenza e dagli esempi che sono stati successivamente forniti è facile arguire come una macchina di Tu- ring sia in grado, pur con grande lentezza e pesante inefficienza, di eseguire un algoritmo. Ci si può quindi domandare quanto ampio sia l insieme costituito dai problemi (o meglio, dalle classi di problemi) per i quali esiste una macchina di Turing che li risolve. Le ricerche effettuate sia da Turing che da altri hanno condotto a riconoscere che tale insieme è molto ampio e che tutti gli algoritmi conosciuti possono essere realizzati mediante macchine di Turing dotate di opportune matrici funzionali. Diviene pertanto opportuno avanzare l ipotesi che qualsiasi algoritmo possa essere realizzato mediante una macchina di Turing. Tale ipotesi viene detta ipotesi fondamentale della teoria degli algoritmi e dalla sua accettazione discende che la teoria degli algoritmi coincide con la teoria delle macchine di Turing. Pertanto, il problema dell esistenza o della non esistenza di un algoritmo per risolvere una certa classe di problemi può essere ricondotto alla ricerca o alla dimostrazione delle inesistenza di una macchina di Turing. La validità dell ipotesi fondamentale della teoria degli algoritmi non è essenziale allo sviluppo formale della teoria delle macchine di Turing, che ha una sua validità intrinseca, tuttavia è rilevante il fatto che altri studiosi, utilizzando un approccio completamente diverso, sono giunti a definire il concetto di algoritmo in forme risultate poi equivalenti a quella introdotta da Turing. Tra le teorie sviluppate si possono ricordare, ad esempio, la teoria degli algoritmi normali di Markov e la teoria delle funzioni ricorsive generali di Kleene. Il concetto di macchina di Turing può subire un estensione nel senso che è possibile definire una macchina di Turing universale, in grado di eseguire il lavoro di una macchina di Turing dotata di una matrice funzionale qualsiasi. A tale scopo la macchina di Turing universale sarà dotata di una matrice funzionale in grado di «imitare» il funzionamento di una qualsiasi macchina di Turing. La macchina universale opererà a partire da una configurazione iniziale che prevede la registrazione sul nastro sia della matrice funzionale della macchina da imitare sia della configurazione iniziale di questa. Si osservi, infine, che un moderno calcolatore elettronico può essere paragonato ad una macchina di Turing universale. Nel calcolatore, il ruolo della matrice funzionale da imitare è svolto dal programma registrato nella memoria, che viene interpretato (imitato) dall unità di governo. Nella memoria del calcolatore vengono registrati anche i dati iniziali del problema, che vengono trasformati nelle informazioni costituenti la soluzione. Una differenza essenziale tra macchina di Turing e calcolatore elettronico è ovviamente nella capacità della memoria, che è infinita nella macchina di Turing mentre rimane limitata in un calcolatore, anche se in realtà può essere ampliata senza limitazioni pratiche. Da ELEMENTI DI INFORMATICA di Mario Italiani - Giuseppe Serazzi - ETAS LIBRI Prof. A. Venia 5