¿Existe una relación entre la Máquina de Turing y el cálculo Lambda, o simplemente surgieron al mismo tiempo?
¿Existe una relación entre la Máquina de Turing y el cálculo Lambda, o simplemente surgieron al mismo tiempo?
Respuestas:
El cálculo lambda es más antiguo que el modelo de máquina de Turing, aparentemente data del período 1928-1929 (Seldin 2006), y fue inventado para encapsular la noción de una función esquemática que Church necesitaba para una lógica fundamental que él ideó. No se inventó para capturar la noción general de función computable y, de hecho, una versión tipada más débil habría servido mejor a sus propósitos.
Parece ser incidental el propósito de que el cálculo que inventó la Iglesia resultó ser Turing completo, aunque más tarde Church utilizó el cálculo lambda como base para lo que llamó las funciones efectivamente computables (1936), a lo que Turing recurrió en su artículo .
La teoría simple de los tipos de Church (1940) proporciona una teoría de funciones más moderada y tipificada que es suficiente para expresar la sintaxis de la lógica de orden superior, pero no expresa todas las funciones recursivas. Puede considerarse que esta teoría está más en sintonía con la motivación original de Church.
Nota Esta respuesta se revisó sustancialmente debido a las objeciones de Kaveh y Sasho. Recomiendo la línea de tiempo de Wikipedia que sugirió Kaveh, Historia de la tesis de la Iglesia-Turing , que tiene algunas citas de artículos seminales.
Solo me gustaría señalar que, si bien el cálculo lambda y las máquinas de Turing calculan la misma clase de funciones teóricas de números, no son exactamente equivalentes en todos los sentidos imaginables. Por ejemplo, en la teoría de la realización hay afirmaciones que pueden realizarse con una máquina de Turing pero no con el cálculo lambda. Una de esas declaraciones es la tesis formal de la Iglesia, que establece:
. Esto no se puede hacer (puedo explicar por qué, si lo hace como una pregunta por separado).
Están relacionados tanto matemática como históricamente.
El cálculo lambda fue desarrollado en 1928-1929 por Alonzo Church (publicado en 1932).
La máquina de Turing fue desarrollada en 1935-1937 por Alan Turing (publicado en 1937).
Alan Turing fue el Ph.D. de Alonzo Church Estudiante en Princeton desde 1936-1938.
Las máquinas de Turing y el cálculo lambda son equivalentes en potencia computacional: cada uno puede simular eficientemente al otro.
Entscheidungsproblem es uno de los 23 problemas famosos propuestos por el matemático David Hilbert.
En 1936 y 1937, Alonzo Church y Alan Turing, respectivamente, publicaron artículos independientes que muestran que es imposible decidir algorítmicamente si las declaraciones en aritmética son verdaderas o falsas, y por lo tanto, una solución general al problema de Entscheidungs es imposible.
Esto fue hecho por Alonzo Church en 1936 con el concepto de "cálculo efectivo" basado en su cálculo λ y por Alan Turing en el mismo año con su concepto de máquinas Turing. Más tarde se reconoció que estos son modelos equivalentes de computación. - Wikipedia
Por lo tanto, el cálculo lambda y las máquinas de Turing no solo están estrechamente relacionadas, sino que son modelos equivalentes de cálculo .
También te puede gustar leer The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine de Charles Petzold . Este libro captura información interesante sobre el tema.
Las máquinas de Turing y el cálculo Lambda son dos modelos que capturan la noción de algoritmo (cálculo mecánico). El cálculo de Lambda fue inventado por Church para realizar cálculos con funciones. Es la base de los lenguajes de programación funcionales. Básicamente, cada problema que es computable (decidible) por las máquinas de Turing también es computable usando el cálculo Lambda. Por lo tanto, son dos modelos equivalentes de cálculo (hasta factores polinómicos) y ambos intentan capturar el poder de cualquier cálculo mecánico.