Diapositiva 1 - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Diapositiva 1

Description:

MACCHINE DI TURING Le macchine di Turing sono dispositivi astratti per la manipolazione di simboli, ideati nel 1936 dal matematico e logico britannico Alan Mathison ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 18
Provided by: AGALL4
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva 1


1
MACCHINE DI TURING Le macchine di Turing sono
dispositivi astratti per la manipolazione di
simboli, ideati nel 1936 dal matematico e logico
britannico Alan Mathison Turing. La loro
descrizione si trova nel libro On the computable
numbers with an application to the
Entscheidungsproblem del 1937, che ha costituito
il modello teorico del funzionamento di tutti i
computer successivi.
Sebbene il termine macchine faccia pensare a
qualcosa di concreto, e lo stesso Turing abbia
poi messo in pratica le sue teorie progettando -
insieme a John von Neumann - il primo dispositivo
elettronico di calcolo, si deve tenere presente
che le macchine di Turing sono essenzialmente uno
strumento concettuale per indagare i limiti della
computazione meccanica. Lo studio delle loro
proprietà astratte getta luce sui fondamenti
dellinformatica e sulla teoria della complessità.
2
Una macchina di Turing in grado di simulare tutte
le altre è detta macchina di Turing universale,
o semplicemente macchina. Una definizione di
tipo più matematico, dotata anchessa di una
natura universale, è stata introdotta dal
matematico e logico americano Alonzo Church, il
cui lavoro sul lambda calculus si intrecciò con
quello di Turing, dando luogo a una teoria
formale della computazione nota come tesi
Church-Turing.
Tale tesi stabilisce che le macchine di Turing
catturano effettivamente la nozione informale di
metodo efficace in logica e matematica, e
forniscono una definizione rigorosa di
algoritmo o procedura meccanica. La macchina
di Turing è simile a una persona che esegua una
procedura ben definita, cambiando il contenuto di
un nastro di carta illimitato, suddiviso in
quadrati che possono contenere un simbolo
appartenente a un insieme finito.
3
La persona deve ricordare uno stato
appartenente anchesso a un insieme finito, e la
procedura consiste in istruzioni di questo
tipo Se il tuo stato è 18 e il simbolo che vedi
è 0, sostituisci il simbolo con 1, cambia lo
stato in 4 ed esamina il simbolo a destra.
  • Quindi, una macchina di Turing consiste in
  • un insieme finito di simboli detto alfabeto
  • un nastro potenzialmente infinito nei due sensi e
    suddiviso in celle discrete, ciascuna delle quali
    può contenere un simbolo dellalfabeto
  • una testina mobile di lettura/scrittura
  • una memoria capace di assumere un numero finito
    di stati diversi, ciascuno dei quali corrisponde
    a una diversa configurazione della macchina e
    determina lesecuzione di attività diverse.

4
  • La macchina di Turing può compiere le seguenti
    operazioni elementari
  • scrivere o leggere un simbolo in una cella
  • variare il suo stato di memoria
  • spostare la testina a destra o a sinistra di una
    cella.
  • Attraverso queste operazioni la macchina può
    eseguire qualsiasi operazione di tipo
    computistico di cui sia capace luomo.

Lattività di una macchina di Turing consiste
interamente in passi discreti e istantanei,
ciascuno dei quali è determinato dalla sua
condizione iniziale questa è costituita a sua
volta dallo stato della macchina e dal simbolo
che in quellistante occupa la cella del nastro
esaminata.
  • Data una certa condizione iniziale, la macchina
    riceve una istruzione per il passo successivo, in
    cui sono indicati
  • il simbolo che la macchina deve lasciare nella
    cella esaminata
  • lo stato successivo della macchina
  • se la testina deve esaminare la cella a sinistra
    (S) o a destra (D) di quella appena esaminata.

5
Ad es., unistruzione del tipo (1, II, D) indica
alla macchina di scrivere il simbolo 1
nellattuale posizione della testina, di assumere
lo stato II e di spostare la testina nella cella
adiacente a destra. Perciò le varie istruzioni
che la macchina deve eseguire potrebbero venire
scritte in una tabella del tipo
6
È tuttavia più comodo descrivere una macchina di
Turing tramite una tabella a doppia entrata, come
quella seguente, nella quale listruzione da
eseguire si può leggere semplicemente
identificando la condizione attuale della
macchina, cioè la riga del suo stato e la colonna
del simbolo letto sul nastro.
7
Macchina sommatrice Come esempio di macchina di
Turing effettiva, consideriamone una che sommi i
numeri 2 e 3 e si fermi. Supponiamo, per
semplicità, che ciascun numero sia rappresentato
in notazione monadica o unaria, cioè come una
parola costituita da una successione di 1,
delimitata a ciascuna estremità da uno
0. Pertanto, dalla situazione iniziale del nastro
nella quale sono indicati i due addendi
dovremo giungere a una finale che presenti una
successione di cinque 1
8
Ciò si otterrà cancellando lo 0 che separa le due
parole nella situazione iniziale, e facendo
scorrere di una cella verso destra la parola di
sinistra, in modo che si unisca a quella di
destra. La macchina non può spostare una parola
di 1 tutta in una volta, dato che la testina si
può spostare di un passo alla volta perciò dovrà
eseguire delle istruzioni simili a quelle
indicate in tabella.
Vediamone il funzionamento, supponendo che la
macchina si trovi inizialmente nello stato I con
la testina sulla prima cella
9
Verranno eseguite nellordine le seguenti
istruzioni
1a istruzione (0, I, D)
Commento Listruzione lascia inalterato lo 0, lo
stato I della macchina e sposta la testina a
destra viene ripetuta finché si incontra il
primo 1.
2a istruzione (0, II, D)
Commento Il primo 1 viene trasformato in 0, la
macchina viene posta nello stato II e la testina
si sposta a destra.
10
3a istruzione (1, II, D)
Commento Il secondo 1 rimane inalterato, la
macchina rimane nello stato II e la testina si
sposta a destra
4a istruzione (1, III, D)
Commento Lo 0 successivo diventa 1, la macchina
passa nello stato III e la testina si sposta a
destra
5a istruzione Stop Commento La
computazione ha termine
11
Naturalmente la macchina di Turing di questo
esempio permette di sommare due numeri qualsiasi,
dato che la 3a istruzione viene ripetuta fino a
che non si trova la fine della prima parola, cioè
lo 0 che separa i due addendi.
12
Macchina copiatrice Sviluppiamo ora una macchina
di Turing che permetta di copiare una parola di 1
immediatamente a destra dello 0 che ne delimita
il termine. Essa richiederà più istruzioni della
macchina sommatrice, e potrà essere usata a sua
volta come parte di una macchina più complessa
che fornisca il prodotto di due numeri.
Non risulta conveniente risolvere il problema con
una macchina che conti gli 1 della parola da
copiare, dato che essa dovrebbe possedere tanti
stati quanti sono gli 1, e ciò farebbe crescere
indefinitamente il numero degli stati. Seguiremo
invece una tecnica diversa, che illustriamo nel
caso in cui la parola da copiare sia 1 1, cioè
costituita da due 1.
13
Ciò significa che dalla
dovremo giungere alla
La tecnica consiste nellesaminare il nastro
finché si trova il primo 1 della parola da
copiare, e quindi nel ripetere i tre passi
seguenti tante volte quanti sono gli 1 della
parola
  1. si cancella momentaneamente il primo 1
  2. si muove la testina fino allo 0 che delimita la
    parola e si trasforma in 1 il primo 0 alla sua
    destra
  3. si riporta indietro la testina, riscrivendo l1
    nella cella in cui era stato cancellato.

14
I tre passi precedenti sono realizzati dai
blocchi di istruzioni indicate in figura, insieme
alla situazione del nastro che esse determinano.
A questo punto è stato copiato il primo 1 della
parola e il procedimento continua ripetendo i
passi precedenti a) si cancella momentaneamente
il secondo 1 b) si muove la testina fino allo 0
che delimita la parola e si trasforma in 1 il
primo 0 alla sua destra c) si riporta indietro
la testina, riscrivendo l1 nella cella in cui
era stato cancellato.
15
I tre passi precedenti sono realizzati dai
blocchi di istruzioni indicate in figura, insieme
alla situazione del nastro che esse determinano.
Lelaborazione termina con le istruzioni (1,
VIII, S) Stop che riportano la testina alla
posizione iniziale e arrestano lelaborazione.
Le varie istruzioni che devono essere eseguite
dalla macchina si ricavano dalla tabella seguente.
16
Naturalmente anche ora la macchina è in grado di
copiare una parola di lunghezza qualsiasi.
17
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com