Existe-t-il une relation entre la machine de Turing et le calcul Lambda - ou est-ce qu'ils se sont produits à peu près au même moment?
Existe-t-il une relation entre la machine de Turing et le calcul Lambda - ou est-ce qu'ils se sont produits à peu près au même moment?
Réponses:
Le lambda calcul est plus ancien que le modèle de machine de Turing, datant apparemment de la période 1928-1929 (Seldin 2006). Il a été inventé pour intégrer la notion de fonction schématique dont Church avait besoin pour une logique fondamentale qu'il a conçue. Il n'a pas été inventé pour saisir la notion générale de fonction calculable, et une version typée plus faible aurait mieux servi ses objectifs.
Il semble être accessoire au but de ce que le calcul inventé par Church s’est avéré être complet de Turing, bien que plus tard, Church se soit fondé sur le calcul lambda comme fondement de ce qu’il appelait les fonctions effectivement calculables (1936), auxquelles Turing faisait appel dans son article. .
La théorie des types simple de Church (1940) fournit une théorie des fonctions plus modérée et typée qui suffit à exprimer la syntaxe de la logique d'ordre supérieur, mais n'exprime pas toutes les fonctions récursives. Cette théorie peut être considérée comme plus en phase avec la motivation initiale de l'Église.
Remarque Cette réponse a été considérablement révisée en raison d'objections de Kaveh et de Sasho. Je recommande la chronologie Wikipedia suggérée par Kaveh, la thèse Histoire de l'Église-Turing , qui contient des citations de choix tirées d'articles de fond.
Je voudrais simplement souligner que, bien que le calcul lambda et les machines de Turing calculent la même classe de fonctions de la théorie des nombres, elles ne sont pas exactement équivalentes à tous égards imaginables. Par exemple, dans la théorie de la réalisabilité, certaines déclarations peuvent être réalisées par une machine de Turing mais pas par le calcul lambda. Une telle affirmation est la thèse de l'Église formelle, qui dit:
. Cela ne peut pas être fait (je peux expliquer pourquoi, si vous le posez séparément).
Ils sont liés à la fois mathématiquement et historiquement.
Le lambda calcul a été développé de 1928 à 1929 par Alonzo Church (publié en 1932).
La machine de Turing a été développée en 1935-1937 par Alan Turing (publié en 1937).
Alan Turing était le docteur de Alonzo Church étudiant à Princeton de 1936 à 1938.
Les machines de Turing et le lambda calcul sont équivalents en puissance de calcul: chacun peut simuler efficacement l'autre.
Entscheidungsproblem est l’un des 23 problèmes connus du mathématicien David Hilbert.
En 1936 et 1937, respectivement Alonzo Church et Alan Turing, publièrent des articles indépendants montrant qu'il était impossible de déterminer, par un algorithme, si les énoncés arithmétiques étaient vrais ou faux et qu'une solution générale au problème d'Entscheidungs était donc impossible.
Cela a été fait par Alonzo Church en 1936 avec le concept de "calculabilité effective" basé sur son calcul de λ et par Alan Turing la même année avec son concept de machines de Turing. On a reconnu plus tard qu'il s'agissait de modèles de calcul équivalents. - Wikipédia
Donc, le lambda calcul et les machines de Turing ne sont pas seulement étroitement liés mais ce sont des modèles de calcul équivalents .
Vous pouvez également lire notre livre intitulé The Annotated Turing: Une visite guidée du document historique d'Alan Turing sur la calculabilité et la machine de Turing de Charles Petzold . Ce livre contient quelques informations intéressantes sur le sujet.
Les machines de Turing et Lambda Calculus sont deux modèles qui capturent la notion d'algorithme (calcul mécanique). Le calcul lambda a été inventé par Church pour effectuer des calculs avec des fonctions. C'est la base des langages de programmation fonctionnels. Fondamentalement, chaque problème calculable (décidable) par les machines Turing est également calculable à l'aide du calcul Lambda. Il s’agit donc de deux modèles de calcul équivalents (jusqu’à des facteurs polynomiaux), qui tentent tous deux de saisir la puissance de tout calcul mécanique.