ALAN TURING: MACCHINA di TURING e CALCOLABILITA’ Alberto Bertoni Milano, 23 Giugno 2012 ALAN TURING: VITA • • • • • • • • • • 1912: nasce a LONDRA 1924: passione per gli SCACCHI 1934: laurea in Matematica a CAMBRIDGE 1936/38: propone il modello di Macchina visita PRINCETON – Tesi di Church-Turing 1939/45: collabora con il Secret Intelligence Service a BLETCHLEY PARK 1946: pianifica (senza successo) lo sviluppo di un calcolatore al Nat. Phys. Lab. 1948: frustrato, si dedica alla maratona 1950: discute su MACCHINE E INTELLIGENZA 1951: sviluppa una teoria sulla BIOMORFOGENESI 1952/54: anni horribiles TURING E CALCOLABILITA’ BACKGROUND: J. VON NEUMANN - FISICA MATEMATICA, MECCANICA QUANTISTICA B. RUSSEL - LOGICA MATEMATICA Max NEWMAN - INCOMPLETEZZA di GODEL - 2° PROBLEMA di HILBERT TURING E CALCOLABILITA’ MOTIVAZIONE: ENTSCHEIDUNGSPROBLEM (2° Problema di Hilbert): Esiste un METODO che, data una PROPOSIZIONE MATEMATICA (1° ord.), permette di decidere se è o non è DIMOSTRABILE? PROPOSTA di TURING: METODO = ? METODO = Algoritmo basato su MACCHINA di TURING ! TURING E CALCOLABILITA’ LAVORI DI RIFERIMENTO: • [1] On computable numbers, with an application to the Entscheidungsproblem, Proc. London Maths. Soc., ser. 2, 42: 230–265, 1936 • [2] Systems of logic defined by ordinals, Proc. Lond. Math. Soc., ser. 2, 45: 161–228, 1939 OSSERVAZIONE: In [1] la Macchina di Turing è introdotta come generatore di numeri reali; in questa discussione, per questioni di semplicità, la introduciamo come riconoscitore di linguaggi. MACCHINA DI TURING NASTRO TESTINA di LETTURA PROGRAMMA: Sequenza di istruzioni PROGRAMMA ISTRUZIONE: (q) Case Leggi X then Stampa Y , MUOVI dx/sin , go to (q’) Istruzione di Partenza: Istruzioni di arresto: START ACCETTA / RESPINGI MACCHINA DI TURING OSSERVAZIONE: Sia gli INGRESSI che i PROGRAMMI sono PAROLE! COMPORTAMENTO della MACCHINA M: L(M) = LINGUAGGIO formato dalle PAROLE che, messe in ingresso a M, generano una computazione accettante. PROPOSTA di TURING: Concetto di PROCEDURA = Macchina di Turing Concetto di ALGORITMO = Macchina di Turing che termina per ogni ingresso MACCHINA DI TURING MACCHINA di TURING UNIVERSALE: Macchina U che, su ingresso W#Y, interpreta Y come (codifica di) una Macchina di Turing e accetta W se W L(Y) PROPOSTA di TURING: MACCHINA di TURING = Programma per calcolatore MACCHINA UNIVERSALE = Calcolatore = Interprete LIMITI ALLA CALCOLABILITA’ SISTEMI PROBLEMI S ImmagineS(SISTEMI) = Problemi risolubili in SISTEMI Se |SISTEMI| < |PROBLEMI| esistono Problemi NON risolubili da SISTEMI ! LIMITI ALLA CALCOLABILITA’ TECNICA di DIAGONALIZZAZIONE [CANTOR 1874] Data la seguente {0,1}-matrice parzialmente nota (mik) 1 ? ? ? ? 0 ? ? ? ? 0 ? ? ? ? 1 determinare un vettore 1x4 che NON può essere una riga di (mik) SOLUZIONE: Il complemento della diagonale = (1- mkk) = (0 1 1 0) NON DECIDIBILITA’ DEL PROBLEMA “ARRESTO” PROBLEMA: ARRESTO ISTANZA: due parole W , Y QUESTIONE: la macchina Y termina su ingresso W? FATTO: ARRESTO non è algoritmicamente decidibile. Se lo fosse, la seguente matrice sarebbe calcolabile: 1 se Y termina su ingresso W mWY = 0 se Y non termina su ingresso W Allora sarebbe calcolabile f(W) = 1- mWW ed esisterebbe M per cui f(W) = mWM. Assurdo, perché mMM = f(M) = 1 – mMM FATTO: ENTSCHEIDUNGSPROBLEM non è decidibile Riduzione ad ARRESTO! COMPUTABILITA’ NEGLI ANNI ‘30 SISTEMI -Calcolo [Church 35] Macchine di Turing [Turing 36] Funzioni calcolabili nel -Calcolo Funzioni calcolabili da M di Turing A.Turing sviluppa la tesi di PhD a Princeton sotto la supervisione di Church. Tra le conclusioni: Fatto [Turing 38]: Funzioni -calcolabili = Funzioni Turing-calcolabili = Funzioni ricorsive [Godel 34] TESI DI CHURCH-TURING ROBUSTEZZA DI UNA CLASSE DI FUNZIONI INDIPENDENZA DAI FORMALISMI CHE LE DEFINISCONO LE FUNZIONI TURING-CALCOLABILI SONO ROBUSTE! CONCETTO EPISTEMOLOGICO PROBLEMI RISOLUBILI PER VIA AUTOMATICA CONCETTO MATEMATICO PROBLEMI TURING RISOLUBILI TESI DI CHURCH-TURING MACCHINE DI TURING E COMPLESSITA’ STRUTTURALE COMPLESSITA’ STRUTTURALE: Stima delle risorse computazionali necessarie alla soluzione di un dato problema SISTEMI PROBLEMI S C RISORSE MACCHINA DI TURING E COMPLESSITA’ STRUTTURALE LUCIDO APPROCCIO: J. Hartmanis, R.E. Stearns, On the computational complexity of Algorithms, J.Symb.Log.37, 1965 Juris HARTMANIS: • PhD nel 1955 a CalTech • Nel 1957 lavora con Stearns ai Laboratori GE • Colpito dai lavori di Shannon (Informazione trasmittibile in canali rumorosi) si chiede se sia possibile una analoga teoria sulle risorse computazionali. • Fallimento degli approcci basati sul concetto di entropia. MACCHINA DI TURING E COMPLESSITA’ STRUTTURALE APPROCCIO BASATO SU MACCHINA DI TURING “Our exposure to Turing’s ideas was a dramatic event for us. We studied Turing’s paper with excitement and were delighted in the simplicity of the Turing machine model and the beauty of the capture the computability via this model. The Turing machine was ideed a powerful intellectual tool.” [Hartmanis 2012] METODI UTILIZZATI: • Tecnica di diagonalizzazione • Robustezza delle classi di complessità • Turing-riducibilità MACCHINA DI TURING E COMPLESSITA’ STRUTTURALE COMPLESSITA’ STRUTTURALE: una teoria difficile … MOLTI PROBLEMI APERTI ? ? ? LOGSPACE = P = NP = PSPACE [almeno una relazione è . Ma quale?] …QUALCHE PROGRESSO NLOGSPACE = co-NLOGSPACE [Szelepesènyi, The method of forcing for nondeterministic automata, Bull.EATCS 33, 96-11, 1987] …UN VECCHIO PROBLEMA I numeri algebrici sono Turing-calcolabili in tempo O(n2). Lo sono in tempo O(n)? CONCLUSIONI ALAN TURING • REFRATTARIETA’ A CHIUDERSI IN “GABBIE SETTORIALI” • STRAORDINARIA CAPACITA’ DI UNIFICARE ASPETTI APPARENTEMENTE DISTANTI DELLA CONOSCENZA • AVVERSIONE A COMPROMESSI MORALI O INTELLETTUALI