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 25 di Fondamenti di informatica

Docenti: Marina Madonia & Giuseppe Scollo

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

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

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. esercizi e 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, 0 in caso contrario, dove M* è la codifica di M e b è il simbolo blank che li separa 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

esercizi e approfondimenti

  1. ideare un programma URM per il calcolo della somma di due numeri
  2. se un predicato è semidecidibile, e lo è anche la sua negazione, allora il predicato è decidibile; perché?
  3. la composizione di funzioni λ-calcolabili è λ-calcolabile; perché?
  4. reperire in rete la definizione della funzione di Ackermann e farsi un'idea della sua velocità di crescita; cosa si può dire in proposito?
  5. 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)