la macchina universale di turing, la relazione tra...

38
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

Upload: buixuyen

Post on 17-Feb-2019

223 views

Category:

Documents


0 download

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

+-

off

on

s

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"

L!,R!

L",R"

L!,R" L",R!

L!

R"

R!

L"

L"

R!

R"

L!

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

Macchina di Turing

Internal State

Infinite Tape

Alan Turing (1912-1954)

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

2 33 2

1 2 3 4

9 4 1 8

7 8

5

6 7 8 9

8 7

2 9 6 1

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

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?

Ricerca della veritàLa conquista 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) ?

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

The End