La macchina universale di Turing,la relazione tra hardware e software,
e i limiti della calcolabilità
Alberto Pettorossi
University of Rome Tor Vergata, Rome, Italy
SEFIR, Pontificia Università Lateranense,Rome, Italy
26 ottobre 2012
Calcola, calcola,... dove finiremo?
Alberto Pettorossi
University of Rome Tor Vergata, Rome, Italy
SEFIR, Pontificia Università Lateranense,Rome, Italy
26 ottobre 2012
Circuiti Combinatori
s1 and s2 :
s1 or s2 :
not s :
off
on
off
on
off
on
s
In realtà: transistors, non interrutori.
(s1 s2)
(s1+s2)
on
off
offon
s1
s2
+-
s1 s2
+-
+-
se a allora b altrimenti c
equivale a: ((not a) or b) and (a or c)
Circuiti Combinatori
Si possono fare tutte le operazioni logiche dell’algebra booleana.
(George Boole, Le leggi del pensiero).
a or b equivale a: not ((not a) and (not b))
a
bc
se alloraatrimenti
se a allora b altrimenti c
George Boole (1815-1864)
Circuiti Combinatori: Addizionatore
Cin : riporto di ingresso
S : bit della somma
Cout : riporto di uscita
106 =
219 +
325
Circuiti Sequenziali
+-
Internal State
L!
L"
R!
R"
on: L!,R! or L",R"
off: L!,R" or L",R!
La posizione di un solo interruttore non determina l’accensione
della lampadina.
L’accensione dipende dallo stato dell’altro interruttore.
Circuiti Sequenziali
Internal State +-
L!
L"
R!
R"
1. L!,R!
3. L",R"
4. L!,R" 2. L",R!
L!
R"
R!
L"
L"
R!
R"
L!
L" L! R" R!
1 2 4
2 1 3
3 4 2
4 3 1
Circuiti Sequenziali (sincroni)
Internal State F(X,Y) = Z output
G(X,Y) = Y’ new state
G
State
FX Z
clock
Y Y’
input output
Riconoscitore di stringhe (KMP)
Internal State stringa: a a b a b b a b b a a a b
pattern: b a b b
sequenziamento del genoma
le quattro basi azotate del DNA: (C) citosina - (G) guanina (T) timina - (A) adenina
Non si possono fare “tutte le somme”,
perché non si possono rappresentare tutti gli infiniti numeri.
Occorrerebbe una macchina con un numero infinito di stati.
Limiti del processo di calcolo
Codifica della Macchina di Turing
Internal State
transizione di stato:
Infinite Tape
scrive un simbololegge un simbolo mossa = L, R
Turing Machine per stringhe: an bn per n ! 0
Internal State stringa accettata: a a a b b b
stringa rifiutata: a a a bInfinite Tape
Codifica della Macchina di Turing
Internal State
ogni transizione di stato codificata come una stringa binaria:
Infinite Tape
Macchina di Turing Universale (UTM)
Internal State Code of Turing Machine M on tape
Infinite Tape
Universal Turing Machine:
una sola macchina (hardware, circuiteria)
che si può comportare come una qualsiasi altra macchina
di cui si conosca la codifica (software, programma).
Alan Turing (1912-1954)
Macchina di Turing Universale (UTM)
Alan Turing (1936): On Computable Numbers, With an Application to the Entscheidungsproblem,
Proceedings of the London Mathematical Society 42 (2).
Alan Turing (1938): "On Computable Numbers, with an Application to the Entscheidungsproblem:
A correction", Proceedings of the London Mathematical Society, 2 43 (6): 544–6, 1937.
Manfred Kudlek, Yurii Rogozhin (2002): A universal Turing machine with 3 states and 9 symbols,
LNCS 2295: 311–318.
Small universal Turing machines the (6, 2), (3, 3), and (2, 4) state-symbol pairs.
Universal Turing Machine
Si può andare anche nell’altra direzione:
si può costruire la circuiteria (hardware) che corrisponde al programma (software)
(silicon compilers, reti neurali, ...)
Macchina di John von Neumann
Internal State Code of Turing Machine M on tape
Infinite Tape Per andare più veloci:
John von Neumann 1903-1957
Limiti del processo di calcolo (indipendenti dalla tecnologia):
- problemi non decidibili
- formule non provabili né disprovabili
Limiti invalicabili (anche con infinite tape)
Esempio.
S1 = { A!BC, B!AC, C!AB }
A ! BC ! ACC
S2 = { A!AC, B!AC, C!AB, A!AD, D!CC }
A ! AC ! ACC
Non esiste nessun processo P di calcolo che, dati comunque i sistemi S1 e S2 di regole tali che una lettera genera due lettere, termina e dice “sì” se e solo se l’insieme di parole generabili da A in S1 è uguale all’insieme delle parole generabili da A in S2.
Limiti del processo di calcolo (anche con infinite tape)
Ricerca della veritàI limiti della logica del calcolo (anche con infinite tape)
Aritmetica di Peano: 0, 1, 2, ... con +, x e induzione matematica :
se #(0) e per ogni n, #(n) ! #(n+1) allora per ogni n, #(n).
Esiste un’uguaglianza del tipo
per ogni n ... espressione1 = espressione2
tale che non si riesce a provare
né per ogni n ... espressione1 = espressione2
né per ogni n ... espressione1 $ espressione2
Non si riescono a provare tutte le uguaglianze “vere”.
Kurt Gödel (1906-1978)
Limiti del processo di costruzione del software (indipendenti dalla tecnologia):
- non si può dimostrare la correttezza dei programmi e
neppure la loro terminazione (Turing)
alla ricerca di metodi di costruzione di programmi “sufficientemente affidabili”
di “buoni” linguaggi di programmazione
Limiti
Limiti di complessità (dipendenti dalla tecnologia):
- ordinamento di n numeri: almeno n (log n) passi
- formule della aritmetica del +: almeno passi
alla ricerca di metodi di calcolo più efficienti (meno dispendio di memoria, di tempo, di energia):
biological computing, quantum computing, ...
Limiti
22c n
Tanti successi della tecnologia
Tanti successi della tecnologia:
- embedded systems,
- previsioni del tempo,
- giochi e strategie,
- elaborazione di immagini (TAC),
- robot per la casa,
per l’industria,
per operare in situazioni di rischio
(disinnescare un ordigno,
operare in ambienti radiattivi,
operare in edifici pericolanti,
operare nel mare o nello spazio, ...)
robot per giocare a pallone
- sistemi di supporto alle decisioni,
- ricerca di informazioni in rete,
...
Sudoku
7 2 6 8 1 4 9 3 58 4 3 5 6 9 2 1 7
9 6 5 4 2 1 3 7 8
5 7 4 6 9 2 1 8 3
4 8 1 3 5 7 6 9 2
6 1 2 7 3 8 5 4 9
3 9 8 1 4 5 7 2 6
2 3 7 9 8 6 4 5 1
1 5 9 2 7 3 8 6 4
Dimostrazione di teoremi
1. Alcuni uomini di Fiorecchio sono entrati
nella fabbrica non accompagnati da nessuno.
2. La guardia ha controllato tutti coloro che sono entrati nella
fabbrica, eccetto coloro che erano accompagnati da dipendenti
della ditta.
3. La guardia non ha controllato nessun uomo di Fiorecchio.
4. C’è un uomo di Fiorecchio che è dipendente della ditta?
L’illusione psicologica
Date le alte prestazioni delle macchine
(in particolare, quelle di interazione con il mondo circostante
attraverso attuatori, sensori, programmi e meccanismi automatici
di capaci anche di migliorare se stessi)
può sembrare che “sotto la superficie delle azioni” delle macchine
ci siano emozioni, libertà e volontà.
Ma le alte prestazioni sono frutto di equazioni, teorie e processi tecnologici avanzati.
E non ci sono le equazioni della libertà e la volontà.
L’illusione psicologica
Universal Turing Machine (UTM):
una sola macchina (hardware, circuiteria)
che si può comportare come una qualsiasi altra macchina
di cui si conosca la codifica (software, programma).
Il cervello dell’uomo è l’hardware
di una Macchina di Turing Universale e
si può comportar come una qualsiasi altra macchina
una volta che ne abbia memorizzato il software (programma) ?
1. Il pensiero è riducibile a materia?
2. I processi mentali sono riducibili ad un calcolatore?
3. L’intuizione matematica è riducibile ad una computazione?
Kurt Gödel (1951):
“Se esistesse un programma di calcolo che sia equivalente
all’intuizione matematica, non si può provare che esso sia tale
e non si può provare che esso sia capace di produrre
solo proposizioni vere della teoria dei numeri naturali.”
Problema Mente-Cervello (Mind-Brain Problem)
Come la gru è una protesi per le braccia,
il calcolatore è una protesi per la mente.
Protesi per la mente
Leopardi ... e il “calcolatore”
Di un calcolatore, che sopra qualunque cosa gli veniva udita o veduta,
si metteva a computare, disse: “gli altri fanno le cose, e costui le conta”.
dai “Detti memorabili di Filippo Ottonieri” (Capitolo 7)
Giacomo Leopardi 1798-1837