Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Le Macchine di Turing
2
Le Macchine di Turing Alan Turing propose nel 1936 l'idea di una “macchina immaginaria” che potesse effettuare ogni tipo di calcolo su numeri e simboli Una Macchina di Turing (MdT) è definita da un insieme di regole che definiscono il comportamento della macchina su un nastro di input/output
3
Le Macchine di Turing Nastro di lunghezza infinita diviso in celle; ogni cella contiene un simbolo oppure è vuota A B C … ...
4
Le Macchine di Turing Una MdT ha una testina che si sposta lungo il nastro leggendo, scrivendo e cancellando simboli nelle celle del nastro La macchina analizza il nastro, una cella alla volta, iniziando da quella che contiene il simbolo più a sinistra nel nastro
5
Le Macchine di Turing Ad ogni passo la macchina in accordo al suo stato interno ed al simbolo che sta leggendo (simbolo in lettura) (1) cambia il suo stato interno e (2) scrive un simbolo sul nastro e (3) sposta eventualmente la testina di una posizione a destra o a sinistra
6
Le Macchine di Turing Il comportamento di una MdT può essere programmato definendo un insieme di quintuple della forma: (stato, simbolo letto, nuovo stato, simbolo scritto, direzione) Esempi di quintuple: (0, A, 1, B, -) (1, B, 0, B, >) (S, C, END, -, -) (1, -, 1, A, <)
7
Le Macchine di Turing In un insieme di quituple che definisce una MdT ad ogni coppia (stato, simbolo letto) può essere associata al più una azione, ovvero al più una coppia (nuovo stato, simbolo scritto, direzione)
8
Le Macchine di Turing Esempio: (2, C, 3, D, -) (3, D, 3, D, >) A C
B 2 A D B 3 A D B 3 A C B 2 A D B 3 ...
9
Le Macchine di Turing Come “calcola” una MdT? Inizialmente:
Il nastro contiene una sequenza finita di simboli (celle non vuote) detta stringa di ingresso La MdT si trova nello stato iniziale 0 con la testina sul simbolo più a sinistra sul nastro ... A A B B
10
Le Macchine di Turing Partendo da questa configurazione iniziale, la MdT effettua una serie di mosse seguendo rigorosamente quanto definito dall’insieme delle sue quintuple Se la macchina raggiunge una configurazione tale che non esiste nessuna quintupla che associa una azione alla coppia (stato interno, simbolo letto) allora la MdT si ferma e termina la sua computazione
11
Le Macchine di Turing Non è detto che una MdT termini la sua computazione Importanza delle MdT
12
Esempio Una MdT che scrive la sequenza di caratteri CIAO su un nastro vuoto (0,-,1,C,>) (1,-,2,I,>) (2,-,3,A,>) (3,-,4,O,>) 1 2 3 4 ... C I A O
13
Esempio Una MdT che modifica una sequenza di A e di B scambiando ogni A con una B e viceversa (0,A,0,B,>) (0,B,0,A,>) (0,-,F,-,-) A B B A F B A B A B A ...
14
Esempio Una MdT che riconosce stringhe di caratteri del tipo AnBn , come AABB oppure AAABBB, scrivendo SI sul nastro.
15
Esempio (continua) A B A B 3 A B 3 A B 2 A B 3 A B 3 A B 1 A B 1 A B 1
(1,B,1,B,>) (1,-,2,-,<) (2,B,3,-,<) (3,A,3,A,<) (3,B,3,B,<) (3,-,0,-,>) (0,-,4,S,>) (4,-,F,I,>) A B A B 3 A B 3 A B 2 A B 3 A B 3 A B 1 A B 1 A B 1 A B 1 1 B 2 B B 1 F I S 4 S ...
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.