Relation entre la machine de Turing et le calcul Lambda?


49

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?


7
Pouvez-vous élaborer votre question? Les deux modèles ont la même puissance de calcul (les deux peuvent exprimer la famille des fonctions récursives), c'est-à-dire qu'ils sont complets. Voir: en.wikipedia.org/wiki/Turing_completeness
Joel Rybicki


C'est une bonne question!
Tayfun Pay

Réponses:


31

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.

Références

  • Eglise (1936). Un problème insoluble dans la théorie des nombres élémentaire. American Journal of Mathematics 58: 345—363.
  • Eglise (1940). Une formulation de la théorie simple des types . Journal of Symbolic Logic 5 (2): 56—68.
  • Seldin (2006). La logique du curry et de l'église . Dans Handbook of History of Logic, vol.5: La logique de Russell à l'église , p. 819-874. Hollande du Nord: Amsterdam.

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.


2
Church a prétendu que le lambda calcul capturait la notation intuitive de la fonction calculable avant l'article de Turing, c'est pourquoi on l'appelle la thèse de Church. L'idée de capturer la notion générale de fonctions calculables remonte plus loin (par exemple, les fonctions récursives générales de Godel), et Church essayait de la capturer.
Kaveh

5
Je pense qu'il est trompeur de dire que l'équivalence des modèles est un accident complet. Il me semble que Church et Turing ont entrepris de saisir des notions connexes, même s’il n’était pas immédiatement évident que ces notions étaient en fait liées. Diriez-vous que c'est un "accident total" que l'intégration de Riemann et l'anti-différenciation sont étroitement liées?
Sasho Nikolov

@Kaveh: Selon Seldin (2006). La logique de Church et Curry , les objectifs et la syntaxe du lambda calcul ont été développés de 1928 à 1929, bien avant que Church ne connaisse la notion générale de fonction récursive. Ma réponse bénéficierait d'un calendrier, mais je n'ai pas le temps de l'assembler pour le moment.
Charles Stewart

1
λ

1
@Charles, comme je l'écrivais, je suis d'accord pour dire que la motivation première de l'Église était de construire une fondation (quelque chose comme le système de Frege) (AFAIK), mais il l'a aussi considérée comme un modèle de calcul avant le travail de Turing. Je ne pense pas que la réponse doive être supprimée, la révision du deuxième paragraphe devrait nous en convenir. (La raison pour laquelle j'ai commenté est parce que je pense que ces derniers temps, les gens sous-estiment le travail de Church en ce qui concerne la calculabilité.)
Kaveh

26

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:

f:natnat e n k (T(e,n,k)U(k,f(n)))

Tcfeffccf. Cela ne peut pas être fait (je peux expliquer pourquoi, si vous le posez séparément).


4
TEX

Andrej, l'article de Wikipedia utilise un ordre de paramètres différent de celui que vous utilisez, le deuxième argument est l'entrée et le troisième est le code qui stoppe le calcul, le premier argument est le code de la machine. Je suppose que vous dites CT, je l'ai édité sur vDT88.
Kaveh

fλfλ

@Kaveh: Je pense que c'était l'inverse, mais je me demande aussi pourquoi il n'est pas naturel d'avoir aussi une sortie du même type que l'entrée dans le cas du lambda calcul.
Abel Molina

1
f:RR2NNN

11

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.


6

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.


4

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.