Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli

Macchina di turing., Sintesi del corso di Logica

Descrizione della macchina di Turing ed esempio del suo funzionamento, tratto dal libro "Sperimentare la logica", di M.L.Dalla Chiara, R.Giuntini e F. Paoli

Tipologia: Sintesi del corso

2015/2016

Caricato il 06/01/2016

andresotgiu
andresotgiu 🇮🇹

4.5

(2)

4 documenti

Anteprima parziale del testo

Scarica Macchina di turing. e più Sintesi del corso in PDF di Logica solo su Docsity! I tre tipi di parti di una macchina di Turing. Una macchina di Turing è un sistema di parti interconnesse, ciascuna delle quali ha una funzione ben precisa. Le parti della macchina sono di tre tipi diversi: memoria (interna ed esterna); unità operativa (interna ed esterna); controllo o governo. Vediamo adesso in dettaglio la costituzione e la funzione di ciascuna parte. La memoria interna La memoria di una macchina di Turing MT è di due tipi: interna ed esterna. La memoria interna è costituita da un unico elemento, che possiamo rappresentare graficamente come una semplice casella: Ad ogni istante, la memoria interna contiene esattamente un simbolo qi (1 ≤ i ≤ n) appartenente a un alfabeto fissato (alfabeto interno) q1, q2, … , qn costituito da n ≥ 1 simboli diversi; per esempio , il contenuto della memoria interna a un certo istante potrebbe essere il simbolo q2. Ciascun simbolo qi (1 ≤ i ≤ n) è detto uno stato interno della macchina MT. La memoria esterna La memoria esterna può essere pensata come un nastro costituito da un numero elevato, ma finito, di caselle diverse: Ad ogni istante, ciascuna casella contiene esattamente un simbolo aj (0 ≤ j ≤ r ≥ 1) appartenente a un alfabeto fissato (alfabeto esterno) a0, a1, … , ar costituito da almeno due simboli diversi. Per esempio, supponendo che l’alfabeto esterno contenga solo due simboli a0= 0 e a1= 1, il contenuto della memoria a un certo istante potrebbe essere come mostrato dall’animazione. Il primo simbolo a0dell’alfabeto esterno (nel nostro esempio, il simbolo “0”) è un simbolo speciale (detto vuoto o, in inglese, blank) perché una casella da esso occupata deve essere pensata come una casella vuota, cioè non occupata da alcun simbolo. In altri termini, le caselle vuote possono essere indifferentemente rappresentate come effettivamente vuote, o come contenenti il simbolo vuoto. Infine, sebbene il numero delle caselle del nastro sia finito, si possono sempre aggiungere altre caselle vuote, sia a destra che a sinistra. Ovvero, la capacità della memoria esterna può essere aumentata a piacere ed essa può quindi dirsi potenzialmente infinita, anche se di fatto, o attualmente, è finita. L’unità operativa interna Anche l’unità operativa di una macchina di Turing MT è di due tipi: interna ed esterna. L’unità operativa interna è un apparato (detto testa leggi/scrivi) capace di compiere due tipi di operazioni sul contenuto della memoria interna: leggere lo stato interno contenuto nella memoria e inviarlo al controllo; ricevere un nuovo stato interno dal controllo e scriverlo nella memoria interna, sostituendo lo stato in essa contenuto. Si noti che se il nuovo stato interno è identico al precedente, l’operazione di scrittura non cambia il contenuto della memoria interna. L’unità operativa esterna L’unità operativa esterna (detta testa leggi/scrivi/muovi o, semplicemente, testa), a ogni istante, è posizionata su esattamente una casella del nastro (casella vista) ed è capace di compiere tre tipi di operazioni: leggere il simbolo contenuto nella casella vista e inviarlo al controllo; ricevere un nuovo simbolo dal controllo e scriverlo nella casella vista, sostituendo il simbolo in essa contenuto; se il nuovo simbolo è identico al precedente, l’operazione di scrittura non cambia il contenuto della casella vista; muoversi una casella a sinistra, una a destra, o stare ferma, a seconda che essa riceva dal controllo i simboli speciali: L (left); R (right); H (halt). L’estensione del nastro Se la testa si trova all’estremità destra (o sinistra) del nastro e riceve dal controllo il comando R di muoversi a destra (o L di muoversi a sinistra), il movimento prescritto sarà effettuato solo dopo che saranno state aggiunte delle caselle vuote a destra (o a sinistra). Il controllo o governo L’unità di controllo è un semplice apparato stimolo-risposta (o input-output). Graficamente possiamo rappresentarlo come una scatola con due linee di input e due di output: Un suo input arbitrario è costituito da una coppia qiaj, dove qi è lo stato interno e aj il simbolo che sono letti e poi inviati al controllo, rispettivamente, dall’unità operativa interna ed esterna. Il controllo è capace di rispondere a un qualunque input con esattamente un output, costituito da una tripla akMqm,dove ak e M (= R, L, o H) sono, rispettivamente, il nuovo simbolo e il movimento inviati in successione all’unità operativa esterna, mentre qm è il nuovo stato interno inviato all’unità operativa interna. Le quintuple e la tavola di istruzioni di una MT In definitiva, quindi, se l’alfabeto interno ha n ≥ 1 stati e quello esterno r ≥ 2 simboli, il funzionamento dell’unità di controllo è completamente descritto da un insieme di esattamente nr quintuple del tipo qiaj:akMqm. Ciascuna di tali quintuple è detta un’istruzione della macchina di Turing e l’insieme di tali quintuple è detta la tavola di istruzioni della macchina. Si noti che: siccome il governo deve fornire una risposta a ciascun possibile input, i primi due elementi di tali quintuple esauriscono tutte le possibili combinazioni stato-simbolo (si dice perciò che la tavola di istruzioni è completa); dovendo esserci esattamente una risposta per ciascun possibile input, la tavola di istruzioni contiene soltanto una quintupla che inizia con una data combinazione stato-simbolo (si dice perciò che la tavola di istruzioni è consistente). Esempio: rappresentazione di un’unità di controllo Ovviamente, siccome ad ogni unità di controllo corrisponde una tavola di istruzioni e viceversa, ci sono tante possibili diverse unità di controllo quante sono le possibili tavole di istruzioni. Problema 1 Quante sono le tavole di istruzioni possibili, se n ≥ 1 è il numero degli stati interni e r ≥ 2 è il numero dei simboli dell’alfabeto esterno? Il modo migliore per rappresentare una particolare unità di controllo è quindi quello di scrivere le quintuple che la descrivono all’interno della scatola. Quella sotto è una delle possibili 20736 (= 124) diverse unità di controllo che si hanno con 2 stati interni {q1, q2} e 2 simboli {0, 1}. Il funzionamento di una MT Abbiamo visto in dettaglio le cinque parti di una MT. Adesso dobbiamo vedere come funzionano quando esse sono opportunamente interconnesse.
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved