PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più...

33
PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo “più potente” della Macchina di Turing, ossia capace di risolvere una classe più ampia di problemi. Dunque...

Transcript of PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più...

Page 1: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

PROBLEMI RISOLUBILI E COMPUTABILITÀ

Secondo la Tesi di Church-Turing, non esiste un formalismo “più potente” della Macchina di Turing, ossia capace di risolvere una classe più ampia di problemi.

Dunque...

Page 2: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

PROBLEMI RISOLUBILI E COMPUTABILITÀ

se neanche la macchina di Turing riesce a risolvere un problema, quel problema non è risolubile!

Secondo la Tesi di Church-Turing, non esiste un formalismo “più potente” della Macchina di Turing, ossia capace di risolvere una classe più ampia di problemi.

Dunque...

Page 3: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

QUALCHE DEFINIZIONE

PROBLEMA RISOLUBILE

• Un problema la cui soluzione può essere espressa da una Macchina di Turing o formalismo equivalente.

Page 4: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

QUALCHE DEFINIZIONE

PROBLEMA RISOLUBILE

• Un problema la cui soluzione può essere espressa da una Macchina di Turing o formalismo equivalente.

La macchina di Turing calcola funzioni, quindi occorre un modo (semplice) per associare a un problema una funzione.

Page 5: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

QUALCHE DEFINIZIONE

FUNZIONE CARATTERISTICA DI UN PROBLEMA• Dato un problema P, l’insieme X dei suoi dati di ingresso, l’insieme Y delle risposte corrette, si dice funzione caratteristica del proble- ma P la funzione:

fP: X Y

che associa a ogni dato d’ingresso la corri- spondente risposta corretta.

Page 6: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

QUALCHE DEFINIZIONE

FUNZIONE CARATTERISTICA DI UN PROBLEMA• Perché questo artificio?

• Perché grazie a questa funzione, decidere se un problema è risolubile equivale a chiedersi se la funzione fP è computabile

Page 7: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

QUALCHE DEFINIZIONE

FUNZIONE CARATTERISTICA DI UN PROBLEMA• Perché questo artificio?

• Perché grazie a questa funzione, decidere se un problema è risolubile equivale a chiedersi se la funzione fP è computabile

D’ora in poi parleremo quindi solo di funzioni computabili, sapendo che ciò equivale a parlare di problemi risolubili.

Page 8: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

QUALCHE DEFINIZIONE

FUNZIONE COMPUTABILE

• Una funzione f: AB per la quale esiste una Macchina di Turing che

– data sul nastro una rappresentazione di xA

dopo un numero finito di passi – produce sul nastro una rappresentazione del

risultato f(x)B

Page 9: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

QUALCHE DEFINIZIONE

Attenzione• Nel seguito considereremo solo funzioni

f: N N• questo non è limitativo perché

– ogni informazione è necessariamente finita, – quindi può essere codificata in una collezione

di numeri naturali– la quale collezione può essere a sua volta

espressa con un unico numero naturale mediante il procedimento di Gödel.

Page 10: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

IL PROCEDIMENTO DI GÖDEL

“Data una collezione di numeri naturali, esprimerla con un unico numero naturale.”

Procedimento: • Siano N1, N2, … Nk i numeri naturali dati

• e siano P1, P2, … Pk i primi k numeri primi• Il nuovo numero R definito come

R ::= P1N1 · P2

N2 · … · PkNk

• rappresenta univocamente la collezione N1, … Nk grazie all’unicità della scomposi-zione in fattori primi.

Page 11: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

È noto dall’analisi matematica che l’insieme F = { f: N N }

non è enumerabile (cardinalità del continuo)

Page 12: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

È noto dall’analisi matematica che l’insieme F = { f: N N }

non è enumerabile (cardinalità del continuo)

Invece, l’insieme delle Macchine di Turing (e quindi delle funzioni computa-bili) è enumerabile.

Infatti, poiché il numero di simboli di ingresso, di uscita e di stati di una TM è finito, ogni Macchina di Turing può essere associata a un numero naturale con il procedimento di Gödel.

Page 13: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

CONSEGUENZA:

la maggioranza delle funzioni NON può essere calcolata!!!

Page 14: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

Però…a pensarci bene, le sole funzioni che davvero ci interessano sono quelle che possiamo definire

Page 15: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

Però…a pensarci bene, le sole funzioni che davvero ci interessano sono quelle che possiamo definire

ma per definire qualcosa ci vuole un linguaggio…

Page 16: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

Però…a pensarci bene, le sole funzioni che davvero ci interessano sono quelle che possiamo definire

ma per definire qualcosa ci vuole un linguaggio…

.. e quindi un alfabeto…

Page 17: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

Però…a pensarci bene, le sole funzioni che davvero ci interessano sono quelle che possiamo definire

ma per definire qualcosa ci vuole un linguaggio…

.. e quindi un alfabeto… ..che è fatto di un numero finito di simboli!

Page 18: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

CONSEGUENZA:

le funzioni che possiamo realmente defi-nire sono molte di meno, e costituiscono un insieme enumerabile!

Page 19: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

CONSEGUENZA:

le funzioni che possiamo realmente defi-nire sono molte di meno, e costituiscono un insieme enumerabile!

Ergo, potremmo sperare che almeno queste si potessero calcolare tutte…

Page 20: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

COMPUTABILITÀ

Ergo, potremmo sperare che almeno queste si potessero calcolare tutte…… E INVECE NO!!

CONSEGUENZA:

le funzioni che possiamo realmente defi-nire sono molte di meno, e costituiscono un insieme enumerabile!

Page 21: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

È facile dimostrare che esistono funzioni definibili ma non computabili

e, quindi, problemi non risolubili.

Page 22: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

È facile dimostrare che esistono funzioni definibili ma non computabili

e, quindi, problemi non risolubili.

ESEMPIO: Problema dell’ halt della macchina di Turing.

Dire se una data macchina di Turing T, con un generico ingresso X, si ferma oppure no.

Page 23: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

Questo problema è perfettamente definito, ma non è computabile (nel caso generale).

Page 24: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

Questo problema è perfettamente definito, ma non è computabile (nel caso generale).

Dimostrazione• Sia M l’insieme di tutte le Macchine di Turing• e X l’insieme di tutti i possibili ingressi.

Sia poi:– x X un generico dato di ingresso– m Muna generica Macchina di Turing.

Page 25: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

La funzione caratteristica fH di questo problema può essere così definita:

fH (m,x) =

1, se m con ingresso x si ferma

0, se m con ingresso x non si ferma

Page 26: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

La funzione caratteristica fH di questo problema può essere così definita:

fH (m,x) =

1, se m con ingresso x si ferma

0, se m con ingresso x non si ferma

Dimostreremo che questa funzione è definita ma non computabile, in quanto tentare di calcolarla conduce a un assurdo.

Page 27: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

Se fH è computabile, deve esistere una Macchina di Turing TF capace di calcolarla.

Page 28: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

Se fH è computabile, deve esistere una Macchina di Turing TF capace di calcolarla.

Definiamo allora una nuova funzione gH come segue:

dove n è il numero naturale che rappresenta una data Macchina di Turing (procedimento di Gödel).

gH (n) =

1, se fH (n,n) = 0

, se fH (n,n) = 1

Page 29: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

In pratica, con un dato ingresso n:

g si ferma e risponde 1quando f non si ferma

g non si ferma e entra in un ciclo infinito quando invece f si ferma.

gH (n) =

1, se fH (n,n) = 0

, se fH (n,n) = 1

Page 30: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

Come caso particolare, sia ora n = ng,

ossia prendiamo come ingresso proprio quel particolare numero che rappresenta la Macchina di Turing TG che calcola gH.

Page 31: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

Come caso particolare, sia ora n = ng,

ossia prendiamo come ingresso proprio quel particolare numero che rappresenta la Macchina di Turing TG che calcola gH.

Questo significa dare come ingresso a TG, come caso particolare, la sua stessa descrizione.

Page 32: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

Sostituendo si ottiene:

che è assurdo, in quanto afferma che:se g vale 1 (e quindi TG si ferma), f vale 0 (e quindi TG non si ferma)

se invece g è indefinita (cioè TG non si ferma), f vale 1 (perciò TG si ferma).

gH (ng) =

1, se fH (ng, ng) = 0

, se fH (ng, ng) = 1

Page 33: PROBLEMI RISOLUBILI E COMPUTABILITÀ Secondo la Tesi di Church-Turing, non esiste un formalismo più potente della Macchina di Turing, ossia capace di risolvere.

FUNZIONI NON COMPUTABILI

Conclusione:

il problema di decidere se una data Macchina di Turing T, con un generico ingresso X, si ferma oppure no non è computabile:

È UN PROBLEMA INDECIDIBILE.