Esiste una relazione tra la Macchina di Turing e il calcolo di Lambda - o si sono verificati nello stesso momento?
Esiste una relazione tra la Macchina di Turing e il calcolo di Lambda - o si sono verificati nello stesso momento?
Risposte:
Il calcolo lambda è più antico del modello di macchina di Turing, apparentemente risalente al periodo 1928-1929 (Seldin 2006), ed è stato inventato per incapsulare l'idea di una funzione schematica di cui la Chiesa aveva bisogno per una logica fondamentale che ha ideato. Non è stato inventato per catturare la nozione generale di funzione calcolabile, e in effetti una versione tipizzata più debole avrebbe servito meglio i suoi scopi.
Sembra essere secondario allo scopo del fatto che il calcolo inventato dalla Chiesa si sia rivelato completo di Turing, sebbene in seguito Church abbia usato il calcolo lambda come base per quelle che ha chiamato le funzioni effettivamente calcolabili (1936), a cui Turing fece appello nel suo documento .
La semplice teoria dei tipi di Church (1940) fornisce una teoria delle funzioni più moderata e tipizzata che è sufficiente per esprimere la sintassi della logica di ordine superiore ma non esprime tutte le funzioni ricorsive. Questa teoria può essere vista come più in sintonia con la motivazione originale della Chiesa.
Nota Questa risposta è stata sostanzialmente rivista a causa delle obiezioni di Kaveh e Sasho. Raccomando la sequenza temporale di Wikipedia suggerita da Kaveh, Tesi di Storia della Chiesa-Turing , che ha alcune citazioni scelte da articoli seminali.
Vorrei solo sottolineare che, sebbene il calcolo lambda e le macchine di Turing calcolino entrambe la stessa classe di funzioni teoriche dei numeri, non sono esattamente equivalenti in ogni modo immaginabile. Ad esempio, nella teoria della realizzabilità ci sono affermazioni che possono essere realizzate da una macchina di Turing ma non dal calcolo lambda. Una di queste affermazioni è la tesi formale della Chiesa, che afferma:
. Questo non può essere fatto (posso spiegare perché, se lo fai come domanda separata).
Sono collegati sia matematicamente che storicamente.
Il calcolo lambda fu sviluppato nel 1928-1929 dalla chiesa Alonzo (pubblicato nel 1932).
La macchina Turing fu sviluppata tra il 1935 e il 1937 da Alan Turing (pubblicata nel 1937).
Alan Turing era il Ph.D. della Alonzo Church studente a Princeton dal 1936 al 1938.
Le macchine di Turing e il calcolo lambda sono equivalenti in termini di potenza computazionale: ciascuno può simulare efficacemente l'altro.
Il problema di Entscheidungs è uno dei 23 famosi problemi proposti dal matematico David Hilbert.
Nel 1936 e nel 1937 Alonzo Church e Alan Turing, rispettivamente, pubblicarono articoli indipendenti che mostravano l'impossibilità di decidere algoritmicamente se le affermazioni in aritmetica sono vere o false, e quindi una soluzione generale al problema di Entscheidungs è impossibile.
Ciò è stato fatto da Alonzo Church nel 1936 con il concetto di "calcolabilità effettiva" basato sul suo calcolo λ e da Alan Turing nello stesso anno con il suo concetto di macchine di Turing. Successivamente è stato riconosciuto che si tratta di modelli equivalenti di calcolo. - Wikipedia
Quindi le macchine di calcolo lambda e di Turing non sono solo strettamente correlate ma sono modelli equivalenti di calcolo .
Ti potrebbe piacere anche leggere The Annotated Turing: una visita guidata attraverso il documento storico sulla computabilità di Alan Turing e la macchina di Turing di Charles Petzold . Questo libro raccoglie alcune informazioni interessanti sull'argomento.
Le macchine di Turing e Lambda Calculus sono due modelli che catturano la nozione di algoritmo (calcolo meccanico). Il calcolo Lambda è stato inventato dalla Chiesa per eseguire calcoli con funzioni. È la base dei linguaggi di programmazione funzionale. Fondamentalmente, ogni problema che è calcolabile (decidibile) dalle macchine di Turing è anche calcolabile usando il calcolo Lambda. Quindi, sono due modelli equivalenti di calcolo (fino a fattori polinomiali) ed entrambi cercano di catturare la potenza di qualsiasi calcolo meccanico.