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 - + s off on
Circuiti Combinatori - + s1 and s2 : s1 off s2 off (s1 s2) on on s1 or s2 : s1 s2 off on off - on - + + (s1+s2) not s : s off on In realtà: transistors, non interrutori.
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)) George Boole (1815-1864) se a allora b altrimenti c equivale a: ((not a) or b) and (a or c) a b c se allora atrimenti se a allora b altrimenti c
Circuiti Combinatori: Addizionatore 219 + 106 = 325 C in : riporto di ingresso S : bit della somma C out : riporto di uscita
Circuiti Sequenziali Internal State - + L! R! L" R" La posizione di un solo interruttore non determina l accensione della lampadina. L accensione dipende dallo stato dell altro interruttore. on: L!,R! or L",R" off: L!,R" or L",R!
Circuiti Sequenziali Internal State - + L! R! L" R" R! L!,R" L" R" L! L!,R! L",R" L" R! L! L",R! R"
Circuiti Sequenziali Internal State - + L! R! L" R" 1. L!,R! R! L! R" L" 4. L!,R" 2. L",R! L! R! L" R" 3. L",R" 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 input X F Z G Y Y output State clock
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
Limiti del processo di calcolo 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.
Macchina di Turing Internal State Infinite Tape Alan Turing (1912-1954)
Codifica della Macchina di Turing Internal State Infinite Tape transizione di stato: legge un simbolo scrive un simbolo mossa = L, R
Turing Machine per stringhe: a n b n per n! 0 Internal State stringa accettata: a a a b b b Infinite Tape stringa rifiutata: a a a b
Codifica della Macchina di Turing Internal State Infinite Tape ogni transizione di stato codificata come una stringa binaria:
Macchina di Turing Universale (UTM) Internal State Code of Turing Machine M on tape Infinite Tape Alan Turing (1912-1954) 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).
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 Infinite Tape Code of Turing Machine M on tape Per andare più veloci: John von Neumann 1903-1957
Limiti invalicabili (anche con infinite tape) Limiti del processo di calcolo (indipendenti dalla tecnologia): - problemi non decidibili - formule non provabili né disprovabili
Limiti del processo di calcolo (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.
I limiti Ricerca della della logica verità 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 Kurt Gödel (1906-1978) né né per ogni n... espressione1 = espressione2 per ogni n... espressione1 $ espressione2 Non si riescono a provare tutte le uguaglianze vere.
Limiti 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 2 2c n - 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,...
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 1 2 3 4 2 3 3 2 9 4 1 8 5 2 9 6 1 8 7 7 8 6 7 8 9
Sudoku 1 5 9 2 7 3 8 6 4 7 2 6 8 1 4 9 3 5 8 4 3 5 6 9 2 1 7 9 6 5 4 2 1 3 7 8 4 8 1 3 5 7 6 9 2 2 3 7 9 8 6 4 5 1 3 9 8 1 4 5 7 2 6 5 7 4 6 9 2 1 8 3 6 1 2 7 3 8 5 4 9
Gioco degli scacchi mossa al bianco mossa al nero
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?
La conquista Ricerca della verità dello spazio
Robot
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)?
Problema Mente-Cervello (Mind-Brain Problem) 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.
Protesi per la mente Come la gru è una protesi per le braccia, il calcolatore è una 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
The End