La macchina universale di Turing, la relazione tra hardware e software, e i limiti della calcolabilità

Documenti analoghi
Il calcolatore universale, origini e nuovi paradigmi

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Fondamenti Informatica A.A. 2010/'11. (I parte)

Cenni storici. Abaco 3000 B.C. in Babilonia. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova

Algebra di Boole X Y Z V. Algebra di Boole

Alan Turing pioniere dell era digitale. Il calcolo e le sue limitazioni

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Algebra e circuiti elettronici

Reti combinatorie. Reti combinatorie (segue)

Reti combinatorie (segue) Reti combinatorie. Lezione 2. Architettura degli Elaboratori A. Sperduti 1

Algoritmo: procedimento non ambiguo che in un numero finito di passi risolve un problema (o una classe di problemi)

Funzioni, espressioni e schemi logici

Algebra di Boole Algebra di Boole

Limiti della calcolabilità

Principio di composizione delle MT

Lez2 mar 7 Ottobre 2008 Op. aritmetiche/logiche arch. Elaboratore

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Operazioni logiche

2 Introduzione È più semplice comprendere i sistemi hardware digitali considerando le modalità con cui vengono descritti, che possono essere distinte

Logica e Informatica: cosa i calcolatori possono e non possono fare. Simone Martini

Corso di studi in Ingegneria Elettronica A.A. 2006/2007. Calcolatori Elettronici. Esercitazione n 2

Algebra Booleana. 13. Rif:

Esercizi assortiti di Architetture

Corso di Calcolatori Elettronici I

Algebra di Boole e reti logiche. 6 ottobre 2017

Precedenza degli operatori

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Fondamenti di Informatica

T1: Logica, discorso e conoscenza. Logica classica

Circuiti digitali combinatori

CIRCUITI DIGITALI. La grandezza fisica utilizzata nella maggior parte dei circuiti digitali è la differenza di potenziale (tensione).

CAPITOLO 1 CENNI STORICI

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o

Circuiti Logici. Pagina web del corso:

Rappresentazione dell informazione

Analogia con le macchine e con i programmi. Esempi di applicazioni hardware e software con evidente base logica

Tutorato architettura degli elaboratori modulo I (lezione 3)

Informatica e Bioinformatica: Circuiti

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

MODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio

Algebra Booleana, Funzioni Logiche e Circuiti Logici

Richiami di Algebra di Commutazione

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Capitolo 9: Trattabilitá e intrattabilitá dei problemi

Indice. Prefazione. 3 Oggetti e Java 53

Fondamenti di Informatica B

Lezione2: Circuiti Logici

Lezione 9 : Algebra di Boole e Codifica Binaria (p. 1) Lunedì 29 Novembre 2010

Per un vocabolario filosofico dell informatica. Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine

Componenti principali

Rappresentazione (Codifica Binaria dei Numeri) ed Elaborazione delle Informazioni

Turing e la nascita dell'algoritmica Fabrizio luccio. Fibonacci Liber Abaci 1202

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Cognome:, Nome: Matricola:

Soddisfacibilità e Semantic Tableau [1]

Livello dei componenti fisici: Circuiteria elettronica

I circuiti elementari

Corso di Calcolatori Elettronici I

Sommario. Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili.

Macchina di Turing. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017

Circuti AND, OR, NOT Porte logiche AND

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

I Indice. Prefazione. Capitolo 1 Introduzione 1

NOZIONI DI LOGICA PROPOSIZIONI.

Componenti e connessioni. Capitolo 3

Corso di Laurea in FISICA Dispositivi di calcolo II

Dalla precedente lezione: LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 3 LA RAPPRESENTAZIONE DEI DATI (1) 28/02/2016

Da Turing a Böhm. Simona Ronchi Della Rocca Dipartimento di Informatica

Algebra di Boole. Fondamenti di Informatica per Meccanici Energetici - Biomedici 1. Politecnico di Torino Ottobre Mr. Boole. Variabile booleana

mio indirizzo 1 Sarò lieto di ricevere commenti o segnalazioni di errori presso il

Algebra di Commutazione

Introduzione ed elementi dell'algebra di Boole

Dispensa di Informatica I.5

Elementi di Informatica A. A. 2016/2017

Reti Logiche Combinatorie

Definizioni. Esempi di alfabeti

Reti logiche: introduzione

Sistemi di elaborazione delle informazioni. Palmino Sacco

Cognome:, Nome: Matricola:

Note sull architettura del calcolatore

Algebra di Boole Esercizi risolti

Operatori di relazione

La codifica binaria. Informatica B. Daniele Loiacono

I circuiti digitali: dalle funzioni logiche ai circuiti

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari

Introduzione alla logica proposizionale

Algoritmi e soluzioni di problemi

Virtual CPU (Eniac): parte 2

Architettura degli elaboratori Ricapitolando (ciascuna freccia rappresenta un procedimento, che vedremo)

Il livello logico digitale

Architettura degli elaboratori

LABORATORIO DI INFORMATICA

Corso di Informatica per Biologia

CHE COS È L INFORMATICA. Prof. Enrico Terrone A. S. 2014/15

I Limiti della computazione

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali

Programmazione ( Cenni storici sulle origini dell informatica )

Transcript:

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