1. Sindacato Pensionati
Corsi di Informatica per Anziane e Anziani
La macchina di Turing
V2.1, 09/03/2014
Bruno Boni Castagnetti, Nicoletta Giorda, Franco Marra
informatica.senonsainonsei.org
2. Contenuto della lezione
• Il Buddha nel computer: cos’è un programma
informatica.senonsainonsei.org
2
3. Il Buddha, il Divino, dimora nel circuito di un
calcolatore o negli ingranaggi del cambio di una
moto con lo stesso agio che in cima a una
montagna o nei petali di un fiore
(Robert M. Pirsig: Lo Zen e l’arte della manutenzione della motocicletta, gli Adelphi, 1990)
informatica.senonsainonsei.org
3
5. Il computer di Socrate
• Tutti gli uomini sono mortali, Socrate è un uomo, Socrate è mortale
• Tutti i cani hanno la coda, Fido è un cane, Fido ha la coda
• Sempre vera, non importa se si parla di Socrate o di cani
• Quello che importa sono le regole con cui è costruita la frase, non i
contenuti della frase stessa
• Derivazione di frasi “vere” in base a regole predefinite =>
Ragionamento automatico
• Tutti i gatti guidano la macchina, Felix è un gatto, Felix guida la
macchina
informatica.senonsainonsei.org
5
6. Socrate e il significato
• Una frase “vera” può non avere alcun
significato
Frasi
“vere”
Frasi con
un
significato
Gatti che
guidano
Uomini
mortali
Cani e
code
informatica.senonsainonsei.org
6
7. Cos’è “vero”
• “Vero” per le macchine vuol dire
“derivato” da “stringhe” (frasi) iniziali
(postulati) mediante regole predefinite
(algoritmo) eseguite automaticamente
• “Vero” per gli esseri umani vuol dire
“con un significato” basato sul
consenso generale
• Non tutto ciò che vero per la macchine
è vero anche per gli esseri umani
informatica.senonsainonsei.org
7
8. Un giochino da “Settimana
Enigmistica”
DATI
REGOLE DEL GIOCO
CASA
cambiare tutte le “A” in “O” =>
COSO
TOSO
TORO
cambiare tutte le “C” in “T” =>
cambiare tutte le “S” in “R” =>
cambiare tutte le “T” in “M” =>
MORO
stop
informatica.senonsainonsei.org
8
9. La macchina di Turing “CasaMoro”
RUN
Testina di lettura / scrittura
CASA
INPUT
Nastro che va avanti e indietro
CASA TORO MORO
RISULTATO INTERMEDIO IN
MEMORIA
informatica.senonsainonsei.org
OUTPUT
9
10. Il set di istruzioni di CasaMoro
• Input / Output e controllo periferiche
– Leggi_la_lettera <lettera>
• Leggi la lettera che è nella posizione corrente del nastro
– Scrivi_la_lettera <lettera>
• Scrivi la lettera nella posizione corrente del nastro
– Avanti_di <numero_di_posizioni>
• Muovi il nastro verso sinistra di <numero_di_posizioni>
– Indietro_di <numero_di_posizioni>
• Muovi il nastro verso destra di <numero_di_posizioni>
informatica.senonsainonsei.org
10
11. Il set di istruzioni di CasaMoro (2)
• Elaborazione
– Cambia_in <nuova_lettera>
• Cambia la lettera corrente in <nuova_lettera>
informatica.senonsainonsei.org
11
12. Il set di istruzioni di CasaMoro (3)
• Logiche e di controllo
– Se <condizione> allora <istruzione 1> altrimenti
<istruzione 2>
• Se si verifica <condizione> esegui <istruzione 1>
altrimenti <istruzione 2>
– Ricomincia_da_capo
• Ricomincia da capo
– Stop
• Ferma CasaMoro
informatica.senonsainonsei.org
12
13. Il problema della fermata
•
•
Può capitare che una macchina di Touring non incontri mai l’istruzione Stop e “giri”
all’infinito
In questo caso (ma solo in questo caso) il programma è sbagliato
1
2
3
4
5
6
7
8
9
10
•
•
•
Leggi_la _lettera
Se “M” allora Stop
Se “A” allora Cambia_in “O” altrimenti
Se “C” allora Cambia_in “T” altrimenti
Se “S” allora Cambia_in “R” altrimenti
Se “T” allora Cambia_in “M”
Avanti_di 5
Scrivi_la_lettera
Indietro_di 5
ERRORE!!
Ricomincia_da_capo
Ma non è detto che programmi non sbagliati siano “corretti” dal punto di vista
umano
Un computer può produrre stringhe “vere” per lui ma non per gli esseri umani,
perché prive di significato
I programmi “corretti” sono quelli che producono stringhe che opportunamente
interpretate hanno significato per l’uomo
informatica.senonsainonsei.org
13
14. Le unità di Input Output
• Le unità di Input / Output interfacciano il mondo reale, dando
significato concreto alle stringhe elaborate del computer
mediante la loro interpretazione
• Un programma è “corretto” quando produce risultati
verificabili nella realtà
Mondo reale,
Significato
?
Elaborazione del computer
informatica.senonsainonsei.org
14
15. Stringhe, fotografie e musica
• Ad esempio:
– Una stringa viene tradotta dall’altoparlante in musica, che ha
significato per l’uomo
– Un’altra stringa viene tradotta dallo schermo in una foto, che ha
significato per l’uomo
– Se si manda la stringa della musica sullo schermo si ottiene una
figura senza “significato”
– Se si manda la stringa della foto sull’altoparlante si ottengono
suoni sgradevoli (senza significato)
• Le stringhe, opportunamente memorizzate in “file” hanno
un tipo, che serve proprio alla loro corretta interpretazione.
Ad esempio:
– Tipo foto: jpg (JPEG: Joint Photographic Expert Group)
– Tipo musica: mp3 (MP3: Moving Picture Expert Group audio
layer 3)
– Tipo documento: doc (indica un file creato da Microsoft Word)
informatica.senonsainonsei.org
15
16. Il teorema di Gödel
• Tutte le cose “vere” per gli esseri
umani sono anche “vere”
(derivabili algoritmicamente) per
le macchine?
• No! (Kurt Gödel)
informatica.senonsainonsei.org
16
17. Il teorema di Gödel (2)
• “Questa stringa non è dimostrabile ”
– È vera perché se fosse dimostrabile sarebbe falsa
• Ma, essendo vera, non è dimostrabile, quindi non è
derivabile algoritmicamente da alcuna altra stringa
– Ergo, è “vera ” per l’uomo ma non per le macchine
di Turing
• Se l’uomo “sa” essere vere cose che non sono derivabili
automaticamente, il cervello umano non è una
macchina di Turing (Roger Penrose), quindi non è
possibile l’Intelligenza Artificiale nel senso “forte” del
termine
informatica.senonsainonsei.org
17
18. Fare la guerra
• Giulio Cesare
– Omnia Gallia est divisa in partes tres
– Pnolb Hbiib ftu elzltb lo qbsuft usft
• Terzo Reich: la macchina Enigma
informatica.senonsainonsei.org
18
19. Alan Turing
• Matematico e logico inglese
– in servizio ai servizi crittografici durante la
seconda guerra mondiale a Bletchley Park
– i messaggi criptati in base al codice Enigma
vennero decifrati grazie all’antesignano dei
computer: “Colossus” costruito secondo il
modello della Macchina di Turing
– Tutto ciò contribuì in maniera determinante al
successo degli Alleati
informatica.senonsainonsei.org
19
20. Alan Turing (2)
• Campione di maratona
• Membro dal 1951 della Royal Society di Londra
• Nel 1952 fu arrestato per omosessualità e
condotto in giudizio
• Fu sottoposto alla castrazione chimica, che lo
rese impotente e gli causò lo sviluppo del seno
• Nel 1954 si suicidò mangiando una mela
avvelenata con il cianuro, prendendo spunto dal
film di Walt Disney “Biancaneve e i sette nani”
informatica.senonsainonsei.org
20