La macchina di Turing

22
informatica.senonsainonsei.org La macchina di Turing V2.1, 09/03/2014 Bruno Boni Castagnetti, Nicoletta Giorda, Franco Marra Sindacato Pensionati Corsi di Informatica per Anziane e Anziani

description

Alcuni concetti alla base della Computer Science

Transcript of La macchina di Turing

Page 1: La macchina di Turing

informatica.senonsainonsei.org

La macchina di TuringV2.1, 09/03/2014

Bruno Boni Castagnetti, Nicoletta Giorda, Franco Marra

Sindacato Pensionati

Corsi di Informatica per Anziane e Anziani

Page 2: La macchina di Turing

informatica.senonsainonsei.org 2

Contenuto della lezione

• Il Buddha nel computer: cos’è un programma

Page 3: La macchina di Turing

informatica.senonsainonsei.org 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)

Page 4: La macchina di Turing

informatica.senonsainonsei.org 4

Forma e Significato

Page 5: La macchina di Turing

informatica.senonsainonsei.org 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

Page 6: La macchina di Turing

informatica.senonsainonsei.org 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

Page 7: La macchina di Turing

informatica.senonsainonsei.org 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

Page 8: La macchina di Turing

informatica.senonsainonsei.org 8

Un giochino da “Settimana Enigmistica”

CASA cambiare tutte le “A” in “O” =>COSO cambiare tutte le “C” in “T” =>TOSO cambiare tutte le “S” in “R” =>TORO cambiare tutte le “T” in “M” =>

MORO stop

DATI REGOLE DEL GIOCO

Page 9: La macchina di Turing

informatica.senonsainonsei.org 9

La macchina di Turing “CasaMoro”

CASA

CASA TORO MORO

Testina di lettura / scrittura

Nastro che va avanti e indietroINPUT

OUTPUTRISULTATO INTERMEDIO INMEMORIA

RUN

Page 10: La macchina di Turing

informatica.senonsainonsei.org 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>

Page 11: La macchina di Turing

informatica.senonsainonsei.org 11

Il set di istruzioni di CasaMoro (2)

• Elaborazione– Cambia_in <nuova_lettera>• Cambia la lettera corrente in <nuova_lettera>

Page 12: La macchina di Turing

informatica.senonsainonsei.org 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

Page 13: La macchina di Turing

informatica.senonsainonsei.org 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 Leggi_la _lettera2 Se “M” allora Stop3 Se “A” allora Cambia_in “O” altrimenti4 Se “C” allora Cambia_in “T” altrimenti5 Se “S” allora Cambia_in “R” altrimenti6 Se “T” allora Cambia_in “M”7 Avanti_di 58 Scrivi_la_lettera9 Indietro_di 5 10 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

ERRORE!!

Page 14: La macchina di Turing

informatica.senonsainonsei.org 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

Page 15: La macchina di Turing

informatica.senonsainonsei.org 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)

Page 16: La macchina di Turing

informatica.senonsainonsei.org 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)

Page 17: La macchina di Turing

informatica.senonsainonsei.org 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

Page 18: La macchina di Turing

informatica.senonsainonsei.org 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

Page 19: La macchina di Turing

informatica.senonsainonsei.org 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

Page 20: La macchina di Turing

informatica.senonsainonsei.org 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”

Page 21: La macchina di Turing

informatica.senonsainonsei.org 21

Il logo

Page 22: La macchina di Turing

informatica.senonsainonsei.org 22

FINE

Esercitazione!