Logo dell'Università di Catania: Siciliae Studium Generale 1434 Logo DMI, Fondamenti di informatica
matite e gomma
Loghi istituzionali: Siciliae Studium Generale 1434, Università di Catania, Facoltà di Scienze Matematiche, Fisiche, Naturali, Insegnamento di Fondamenti di Informatica

Modelli di calcolo, Tesi di Church-Turing

Lezione 28 di Fondamenti di informatica

Docente: Giuseppe Scollo

Università di Catania
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica, I livello, AA 2009-10

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0 Validazione XHTML 1.0 Validazione CSS 3

Indice

  1. Modelli di calcolo, Tesi di Church-Turing
  2. algoritmi e modelli di calcolo
  3. macchine a registri
  4. calcolabilità e decidibilità
  5. macchina di Turing universale
  6. problema dell'arresto delle MdT
  7. λ-calcolo
  8. β-riduzione e combinatori
  9. λ-calcolabilità
  10. Tesi di Church-Turing
  11. altri modelli di calcolo
  12. temi per ulteriori approfondimenti

algoritmi e modelli di calcolo

cos'è un modello di calcolo?

ingredienti tipici di un modello di calcolo:

N.B. per semplicità, la classe degli algoritmi in considerazione è limitata al calcolo di funzioni sui numeri naturali, cioè di tipo Nm→N

a che servono i modelli di calcolo?

macchine a registri

un modello di calcolo concettualmente fedele all'architettura Von Neumann:

la classe delle funzioni URM-calcolabili coincide con la classe delle funzioni calcolabili da una Macchina di Turing

calcolabilità e decidibilità

non tutte le funzioni sui numeri naturali sono URM-calcolabili:

per la stessa ragione, non miglior sorte tocca alla sottoclasse delle funzioni in questione costituita dalle funzioni caratteristiche di appartenenza a un insieme (sottoinsieme di Nm), le quali hanno immagine in {0, 1}

decidibilità di un insieme = calcolabilità della sua funzione caratteristica

un insieme è semidecidibile, ovvero ricorsivamente enumerabile, se è calcolabile la sua funzione caratteristica parziale, data dalla co-restrizione della funzione caratteristica all'immagine {1}:

macchina di Turing universale

una Macchina di Turing (MdT), modello già noto dalle lezioni precedenti, è essenzialmente determinata dal suo programma, e calcola dunque una (sola) funzione, tuttavia ...

esiste una MdT in grado di calcolare ogni funzione calcolata da qualsiasi MdT, e detta pertanto MdT Universale (MdTU)

il "trucco" sta nell'ingresso della MdTU, la quale emula una data MdT: una codifica di questa (ovvero del suo programma) e il suo input costituiscono l'input della MdTU

epperò anche la MdTU ha i suoi limiti, non diversi da quelli delle URM

problema dell'arresto delle MdT

problema: decidere, per qualsiasi MdT M e input I, se l'esecuzione di M con input I giunga o meno all'arresto

ipotizziamo per assurdo la decidibilità del problema: esiste allora una MdT P che, con input M*bI, dà output 1 quando M con input I si arresta, output 0 in caso contrario, dove M* è la codifica di M e b è il simbolo blank che la separa da I nel nastro

l'arresto di una MdT avviene per mancanza di istruzioni applicabili, possiamo quindi aggiungere opportune istruzioni a P per ottenere una MdT Q che

esiste poi una MdT S che duplica il contenuto del nastro e poi esegue Q su tale input

dopo la duplicazione di S* sul nastro, S esegue Q con input S*bS*... si traggono due conclusioni alternative, che ricordano quelle del paradosso di Russell:

qui però non siamo in presenza di un paradosso, bensì di una dimostrazione dell'assurdità dell'ipotesi di decidibilità del problema dell'arresto della MdTU

λ-calcolo

il λ-calcolo, fondamento della programmazione funzionale, fu ideato da A. Church per fondare la matematica sul concetto (intensionale) di funzione quale regola di calcolo

dove il non-terminale V produce un insieme infinito di variabili e l'operatore di astrazione lega una variabile nell'ambito di un λ-termine

analogamente a quanto accade con i quantificatori nella logica predicativa, si definiscono le variabili libere di un λ-termine, la libera sostituibilità di un λ-termine per una variabile in un λ-termine, e si stipula l'α-convertibilità di λ-termini

le regole del λ-calcolo formalizzano la relazione (binaria) di β-riduzione "→" fra λ-termini, che mutua il nome dalla regola:

dove E[x/M] è il λ-termine ottenuto da E per sostituzione delle occorrenze libere di x con M (dopo l'eventuale ridenominazione di variabili vincolate in E, per garantire la libera sostituibilità)

β-riduzione e combinatori

le altre regole del λ-calcolo formalizzano le proprietà di riflessività, transitività e chiusura per contesti della β-riduzione, nonché le proprietà della relazione di equivalenza (invero, congruenza) da essa generata, detta β-convertibilità

per l'applicabilità in contesto della β-regola, ossia a sottotermini propri di un dato λ-termine, questo può avere riduzioni distinte; il Teorema di Church-Rosser garantisce che ciò non danneggia la semantica funzionale della β-riduzione:

un combinatore è un λ-termine privo di variabili libere; eccone esempi significativi:

Ω mostra l'esistenza di β-riduzioni infinite; la β-regola in questo caso dà solo Ω→Ω

le riduzioni dei combinatori I, K, S, possono essere formalizzate senza ricorso esplicito alla λ-astrazione, ottenendo così un calcolo applicativo senza variabili vincolate, detto logica combinatoria:   Ix → x, Kxy → x, Sxyz → (xz)(yz)

λ-calcolabilità

un λ-termine è una forma normale se non è suscettibile di β-riduzione

un λ-termine ha una forma normale se è β-riducibile ad una forma normale

il fatto che un termine abbia forma normale non garantisce che ogni sua β-riduzione termini, tuttavia vale l'unicità della forma normale:

il calcolo di funzioni sui numeri naturali nel λ-calcolo si rappresenta mediante una rappresentazione dei numeri, e di operazioni elementari quali: successore, condizionale, coppia ordinata e proiezioni, etc., quali combinatori

una funzione sui naturali è λ-calcolabile se esiste un combinatore che, applicato alle rappresentazioni degli argomenti, β-riduce alla rappresentazione del risultato ogniqualvolta la funzione sia definita

Tesi di Church-Turing

la Tesi asserisce l'equivalenza di effettiva calcolabilità di una funzione ed esistenza di un programma che la calcola (in uno qualsiasi dei modelli di calcolo visti sopra)

la Tesi è corroborata dalle dimostrazioni di equivalenza dei modelli di calcolo considerati, e di numerosi altri modelli (v. appresso) proposti in seguito a quelli di Church e Turing

altri modelli di calcolo

schemi di funzioni ricorsive (Gödel, Kleene)

sistemi di Post

sistemi di Markov

modelli di calcolo non convenzionali

temi per ulteriori approfondimenti

  1. Modelli di calcolo
    ciascuno dei modelli di calcolo indicati alla fine della lezione costituisce un tema suscettibile di vari approfondimenti, quali: caratteristiche del modello, rappresentazione del calcolo nel modello, relazione con altri modelli, paradigmi correlati, etc. (né questa lista di tipi di approfondimento, né la lista di modelli proposta, sono esaustive)