Information Automatique Informatica Computer science Informatica Information automatique

  • Slides: 39
Download presentation
Information Automatique Informatica Computer science

Information Automatique Informatica Computer science

Informatica Infor(mation) (auto)matique elaborazione automatica dell'informazione Computer Science scienza degli elaboratori

Informatica Infor(mation) (auto)matique elaborazione automatica dell'informazione Computer Science scienza degli elaboratori

L'Informatica NON è riducibile al calcolatore perchè: 1) non dipende dalla tecnologia impiegata nella

L'Informatica NON è riducibile al calcolatore perchè: 1) non dipende dalla tecnologia impiegata nella costruzione del calcolatore 2) non dipende nemmeno DALL'ESISTENZA di un effettivo calcolatore

Progetto Hilbertiano di meccanizzazione della matematica che consentisse di ottenere tutti i teoremi a

Progetto Hilbertiano di meccanizzazione della matematica che consentisse di ottenere tutti i teoremi a partire dagli assiomi e dalle regole di inferenza Sogno millenario di una macchina per fare i calcoli in modo automatico 1936 Anno di costruzione del primo calcolatore (Zuse) Anno di pubblicazione del primo modello di computazione (Turing)

David Hilbert Charles Babbage Alan Turing Kurt Gödel Konrad Zuse

David Hilbert Charles Babbage Alan Turing Kurt Gödel Konrad Zuse

Macchine per fare i calcoli Leonardo da Vinci (1500 circa) Pascalina (1643) somme e

Macchine per fare i calcoli Leonardo da Vinci (1500 circa) Pascalina (1643) somme e sottrazioni Ruote di Leibniz (1674) moltiplicazioni e divisioni

Macchine per fare i calcoli Macchina analitica di Charles Babbage (1834) 7

Macchine per fare i calcoli Macchina analitica di Charles Babbage (1834) 7

Macchine per fare i calcoli

Macchine per fare i calcoli

Macchine per fare i calcoli Salto concettuale nella Macchina Analitica macchine a programma "cablato"

Macchine per fare i calcoli Salto concettuale nella Macchina Analitica macchine a programma "cablato" macchina ri-programmabile

Macchine per fare i calcoli Charles Babbage Ada Byron contessa di Lovelace Macchina differenziale

Macchine per fare i calcoli Charles Babbage Ada Byron contessa di Lovelace Macchina differenziale (1849) per tabulare funzioni polinomiali

Macchine per fare i calcoli 10

Macchine per fare i calcoli 10

Macchine per fare i calcoli Meccanizzazione della Matematica An investigation on the law of

Macchine per fare i calcoli Meccanizzazione della Matematica An investigation on the law of thought (1847) Calcolo logico basato su due valori (vero e falso) Operatori Booleani AND George Boole OR NOT

Macchine per fare i calcoli Meccanizzazione della Matematica Vannevar Bush L'Analizzatore differenziale di Vannaver

Macchine per fare i calcoli Meccanizzazione della Matematica Vannevar Bush L'Analizzatore differenziale di Vannaver Bush (1930) • 1927: computer analogico per la risoluzione di equazioni • 1930: Analizzatore differenziale (meccanico) • 1935: Analizzatore differenziale (elettro-meccanico): 100 tonnellate, 2000 valvole, 150 motori, oltre 300 Km di cavi. Utilizzato nel progetto Manhattan.

Macchine per fare i calcoli Meccanizzazione della Matematica La sua tesi al MIT (sotto

Macchine per fare i calcoli Meccanizzazione della Matematica La sua tesi al MIT (sotto la direzione di Bush) Un'analisi simbolica dei relè e dei circuiti di commutazione mostra come la logica binaria di Boole possa essere usata per rappresentare le funzioni degli interruttori nei circuiti elettronici Claude Elwood Shannon interruttori relay tubi termoionici transistor

Macchine per fare i calcoli Meccanizzazione della Matematica Funzioni Booleane y = f(x 1,

Macchine per fare i calcoli Meccanizzazione della Matematica Funzioni Booleane y = f(x 1, x 2 , . . . , xn) f : 2 n 2 dove 2 = {0, 1} 2 n = {00. . 00, 00. . 01, 00. . 10, . . . , 11. . 11} insieme di tutte e sole le 2 n n-ple binarie possibili x 1 x 2 x 3 f(x 1, x 2, x 3) Esempio di funzione Booleana 000 001 010 011 100 101 110 111 1 1 0 0 1

Macchine per fare i calcoli Meccanizzazione della Matematica 00 01 10 11 0 1

Macchine per fare i calcoli Meccanizzazione della Matematica 00 01 10 11 0 1 1 1 Funzioni importanti 00 01 10 11 0 0 0 1 _ 0 =1 _ 1 =0 x 1 x 2 x 3 f(x 1, x 2, x 3) 000 1 001 1 010 0 ___ __ 011 1 y = x 1 x 2 x 3 + x 1 x 2 x 3 100 1 101 0 110 0 111 1

Macchine per fare i calcoli Thomas Arithmometre (1875) Brunsviga (1905) Archimedes (1906) Curta (1943)

Macchine per fare i calcoli Thomas Arithmometre (1875) Brunsviga (1905) Archimedes (1906) Curta (1943)

Macchine per fare i calcoli Primo calcolatore mai realizzato: Z 1 (1936 - riproduzione)

Macchine per fare i calcoli Primo calcolatore mai realizzato: Z 1 (1936 - riproduzione) è interamente meccanico (senza relays)

Macchine per fare i calcoli

Macchine per fare i calcoli

Macchine per fare i calcoli Foto del soggiorno dell'abitazione di Zuse, nel quale venne

Macchine per fare i calcoli Foto del soggiorno dell'abitazione di Zuse, nel quale venne realizzato il calcolatore Z 1 (1936)

Macchine per fare i calcoli

Macchine per fare i calcoli

Macchine per fare i calcoli

Macchine per fare i calcoli

Macchine per fare i calcoli

Macchine per fare i calcoli

Macchine per fare i calcoli Il calcolatore Z 3

Macchine per fare i calcoli Il calcolatore Z 3

Macchine per fare i calcoli I livello) meccanismo con "hardware" dedicato al problema Ruote

Macchine per fare i calcoli I livello) meccanismo con "hardware" dedicato al problema Ruote di Leibniz (1674) moltiplicazioni e divisioni Pascalina (1643) somme e sottrazioni II livello) con lo stesso hardware si risolvono problemi diversi cambiando "software" Macchina analitica di Charles Babbage (1834) Calcolatore Z 1 di Konrad Zuse (1936) III livello) con lo stesso hardware e con lo stesso software si risolvono problemi diversi Macchina di Turing universale (interpreti)

Macchine per fare i calcoli Diodo, Sir John Fleming (1904) Triodo, Lee de Forest

Macchine per fare i calcoli Diodo, Sir John Fleming (1904) Triodo, Lee de Forest (1906)

Macchine per fare i calcoli ABC di Atanasov-Berry: primo calcolatore a tubi termoionici (1937

Macchine per fare i calcoli ABC di Atanasov-Berry: primo calcolatore a tubi termoionici (1937 -42) ASCC: Automatic Sequence Controlled Calculator (1939) della IBM

Macchine per fare i calcoli ENIAC (Electronic Numerical Integrator And Computer): basato sul ABC

Macchine per fare i calcoli ENIAC (Electronic Numerical Integrator And Computer): basato sul ABC (decimale e a tubi termoionici) Mark I: il completamento del progetto ASCC ceduto dalla IBM all’università di Harvard

Macchine per fare i calcoli John von Neumann EDVAC: Electronic Discrete Variable Automatic Computer

Macchine per fare i calcoli John von Neumann EDVAC: Electronic Discrete Variable Automatic Computer primo elaboratore dotato di programmi memorizzati. Introduzione della memoria RAM (Random Access Memory) dei registri e della ALU (Arithmetic Logic Unit) e con essa del modello architetturale di von Neumann

Macchine per fare i calcoli Meccanizzazione della Matematica Progetto Hilbertiano di meccanizzazione della matematica

Macchine per fare i calcoli Meccanizzazione della Matematica Progetto Hilbertiano di meccanizzazione della matematica che consentisse di ottenere tutti i teoremi a partire dagli assiomi e dalle regole di inferenza Sogno millenario di una macchina per fare i calcoli in modo automatico 1936 Anno di costruzione del primo calcolatore (Zuse) Anno di pubblicazione del primo modello di computazione (Turing)

Meccanizzazione della Matematica Il fallimento del progetto di Hilbert di una deduzione "meccanica" di

Meccanizzazione della Matematica Il fallimento del progetto di Hilbert di una deduzione "meccanica" di tutto ciò che è vero a partire da assiomi e regole di inferenza decretatato dai teoremi di incompletezza di Gödel costituisce il terreno ideale per lo studio di ciò che è EFFETTIVAMENTE CALCOLABILE Ciò si ottenne attraverso la formalizzazione del processo di calcolo, che portò alla nascita di vari MODELLI DI COMPUTAZIONE 31

Meccanizzazione della Matematica Modelli di computazione 1) Gödel-Herbrand-Kleene (1936) calcolo equazionale 2) Church (1936)

Meccanizzazione della Matematica Modelli di computazione 1) Gödel-Herbrand-Kleene (1936) calcolo equazionale 2) Church (1936) calcolo 3) Gödel-Kleene (1936) funzioni ricorsive 4) Turing (1936) macchina di Turing 5) Post (1943) sistemi di deduzione 6) Markov (1951) riscritture di stringhe 7) Shepherdson-Sturgis (1963) modello RAM 32

Meccanizzazione della Matematica Macchine per fare i calcoli Algoritmo o procedura effettiva elenco ordinato

Meccanizzazione della Matematica Macchine per fare i calcoli Algoritmo o procedura effettiva elenco ordinato dei passi elementari (immediatamente eseguibili-istruzioni elementari) per risolvere un certo problema a partire da certi dati iniziali Modello di Turing Modello di Shepherdson-Sturgis 33

Algoritmo o procedura effettiva dati iniziali black box risultati Richieste implicite (e ragionevoli): 1)

Algoritmo o procedura effettiva dati iniziali black box risultati Richieste implicite (e ragionevoli): 1) ogni istruzione elementare si deve attuare in modo “diretto” 2) il numero di istruzioni che descrivono la procedura deve essere finito 3) il numero di passi per ottenere i risultati deve essere finito 34

Macchine per fare i calcoli Meccanizzazione della Matematica Anticipazioni sull’algebra di Boole Variabili Booleane:

Macchine per fare i calcoli Meccanizzazione della Matematica Anticipazioni sull’algebra di Boole Variabili Booleane: sono variabili binarie che assumono due valori, cioè 0 oppure 1 (vero o falso) 0+0 0+1 1+0 1+1 =0 =1 =1 =1 somma logica unione 0· 0 0· 1 1· 0 1· 1 = = 0 0 0 1 prodotto logico congiunzione _ 0 =1 _ 1 =0 complementazione x 1 + x 2 +. . . + xn vale 1 sse almeno una variabile vale 1 x 1 · x 2 ·. . . · xn vale 1 sse tutte le variabili valgono 1

Macchine per fare i calcoli Meccanizzazione della Matematica Interpretazione circuitale x 1 x 2.

Macchine per fare i calcoli Meccanizzazione della Matematica Interpretazione circuitale x 1 x 2. . xn x 1 + x 2 +. . . + xn x 1 x 2 x 1 · x 2 ·. . . · xn xn

Macchine per fare i calcoli Meccanizzazione della Matematica x z w y _ y

Macchine per fare i calcoli Meccanizzazione della Matematica x z w y _ y t _ x y z _ _ w[x y + y z + x y (t+z)] x y xy 00 01 11 10 luce 0 1

Macchine per fare i calcoli Meccanizzazione della Matematica xy 00 01 11 10 0

Macchine per fare i calcoli Meccanizzazione della Matematica xy 00 01 11 10 0 1 _ _ xy+xy _ x x y _ y deviatore