Les contributions d'Alan Turing à l'informatique

34

Alan Turing , l'un des pionniers de l'informatique (théorique), a apporté de nombreuses contributions scientifiques fondamentales à notre domaine, notamment la définition des machines de Turing, la thèse de Church-Turing, l'indécidabilité et le test de Turing. Cependant, ses importantes découvertes ne se limitent pas à celles que j'ai énumérées.

En l'honneur de son 100e anniversaire, j'ai pensé qu'il serait bien de demander une liste plus complète de ses contributions importantes à l'informatique, afin d'avoir une meilleure appréciation de son travail.

Alors, quelles sont les contributions importantes / influentes d'Alan Turing en informatique?

Lev Reyzin
la source
2
aimerait un Q comme celui-ci, mais ce forum semble appropos à un niveau mais n’est ironiquement pas le meilleur endroit. le problème est que, inévitablement, le niveau de recherche CS a considérablement élargi / déplacé n'importe où au-delà de ce que Turing a étudié au cours des décennies écoulées depuis sa contribution. par conséquent, un Q lié à l'histoire de Turing devrait être formulé avec beaucoup de soin pour s'intégrer ici. vous avez déjà énuméré ses principales contributions dans la question, que reste-t-il donc à répondre? les contributions ne sont pas dans la liste? ils seraient un peu obscurs et pas aussi importants ...
vzn
1
Voir également cette question connexe pour savoir si les machines Turing ont influencé la création de modèles d'automates ultérieurs dans CS . Jeffe remarque de manière remarquable que la réponse la mieux notée à l'heure actuelle affirme qu'il n'y avait pas de lien historique. En d'autres termes , les chercheurs qui ont inventé les modèles clés d'automates CS n'étaient véritablement pas directement inspirés de Turing!
vzn
1
Merci pour les pointeurs. Btw, je pensais que nous avions convenu que l'histoire de TCS est sur le sujet de ce site, d'où le tag. En ce qui concerne les autres contributions de Turing, certaines sont peut-être encore importantes, mais elles ne changent pas le monde.
Lev Reyzin

Réponses:

16

Cette question est un peu comme demander les contributions de Newton à la physique, ou celles de Darwin à la biologie! Cependant, de nombreux commentateurs ont déjà saisi un aspect intéressant: à part les contributions énormes que tout le monde connaît, il existe de nombreuses contributions plus modestes que la plupart des gens ne connaissent pas - ainsi que de nombreuses idées que nous considérons comme plus "moderne", mais que Turing a démontré dans diverses remarques qu’il comprenait parfaitement. (Incidemment, il en va de même pour Newton et Darwin.)

Quelques exemples me plaisent (à part ceux mentionnés plus haut):

Dans "Informatique et intelligence", Turing propose une discussion assez moderne sur les avantages des algorithmes aléatoires:

    Il est probablement sage d'inclure un élément aléatoire dans une machine d'apprentissage. Un élément aléatoire est plutôt utile lorsque nous cherchons une solution à un problème. Supposons, par exemple, que nous voulions trouver un nombre compris entre 50 et 200 égal au carré de la somme de ses chiffres, nous pourrions commencer à 51 puis essayer 52 et continuer jusqu'à obtenir un nombre qui fonctionne. Alternativement, nous pourrions choisir des nombres au hasard jusqu'à ce que nous en obtenions un bon. Cette méthode a pour avantage qu’il n’est pas nécessaire de garder trace des valeurs qui ont été essayées, mais l’inconvénient de pouvoir essayer deux fois la même, mais ce n’est pas très important s’il existe plusieurs solutions. La méthode systématique présente l’inconvénient qu’il peut y avoir un bloc énorme sans solution dans la région, qui doit être étudié en premier lieu, Maintenant, le processus d'apprentissage peut être considéré comme une recherche d'un comportement qui satisfasse le professeur (ou un autre critère). Comme il existe probablement un très grand nombre de solutions satisfaisantes, la méthode aléatoire semble être meilleure que la méthode systématique. Il convient de noter qu'il est utilisé dans le processus d'évolution analogue.

Turing aurait également été la première personne à utiliser un ordinateur numérique pour rechercher des exemples allant à l’encontre de l’hypothèse de Riemann - voir ici .

Outre les résultats techniques de la thèse de doctorat de Turing de 1939 (mentionnée par Lev Reyzin), cette thèse est extrêmement remarquable pour l'introduction des concepts d' oracle et de relativisation dans la théorie de la calculabilité. (Certaines personnes pourraient souhaiter que Turing ne l'ait jamais fait, mais je ne suis pas l'un d'entre eux! :-D)

Enfin, bien que cela soit fondamental, il semble que personne n’a encore mentionné la preuve de l’existence de machines de Turing universelles - c’est une contribution distincte de la définition du modèle de la machine de Turing, de la formulation de la thèse de Church-Turing ou de la preuve de la non-solvabilité de la machine. Entscheidungsproblem, mais sans doute le plus "pertinent" d’entre eux, dans le déroulement de la révolution informatique.

Scott Aaronson
la source
27

Je ne les connaissais pas jusqu'à récemment.

1) La décomposition en LU d'une matrice est due à Turing! Compte tenu de l’importance fondamentale de la décomposition de LU, il s’agit là d’une contribution qui mérite d’être soulignée et connue plus largement (1948).

2) Turing a été le premier à proposer un "algorithme papier" pour les échecs. À cette époque, les premiers ordinateurs numériques étaient encore en construction (1952).

Shannon, Turing, Herb Simon, Ken Thompson, etc. ont été associés à la programmation d'échecs. Les deux derniers ont remporté le prix Turing. Et Simom, bien sûr, a également remporté le prix Nobel. (Shannon a trouvé un moyen d'évaluer une position d'échecs en 1948.)

V Vinay
la source
4
Je ne connaissais pas le résultat de la décomposition de LU. C'est super ! Y a-t-il une référence?
Suresh Venkat
2
Suresh, j'ai ajouté la référence à la décomposition de LU.
V Vinay
1
Ce n'est pas vrai que Turing a écrit le premier programme d'échecs, cet honneur semble revenir à Konrad Zuse , l'inventeur du premier ordinateur. Il a écrit un programme d'échecs simple «sur papier» comme référence pour son langage de programmation Plankalkuel , le premier langage de programmation de haut niveau. Voir ici et ici . Désolé, aucune bonne description en anglais de cette œuvre ne semble exister.
Martin Berger
21

Comme mentionné dans la question, Turing était au centre de la définition des algorithmes et de la calculabilité. Il faisait donc partie des personnes qui ont aidé à assembler la lentille algorithmique. Cependant, je pense que sa plus grande contribution était de regarder la science à travers l’optique algorithmique et pas seulement le calcul pour le calcul.

Au cours de la Seconde Guerre mondiale, Turing a utilisé l'idée du calcul et des ordinateurs électromécaniques (par opposition aux ordinateurs humains) pour créer le bombe Turing – Welchman et d'autres outils et techniques formels permettant d'effectuer une analyse cryptographique. Il a commencé la transformation de la cryptologie, la forme artistique, en cryptographie, la science, que Claude Shannon a achevée. Alan Turing a examiné la cryptologie à travers des lentilles algorithmiques.

En 1948, Turing suivit son intérêt pour le cerveau afin de créer le premier réseau de neurones artificiels d'apprentissage . Malheureusement, son manuscrit a été rejeté par le directeur du NPL et n'a pas été publié (jusqu'en 1967). Cependant, il a précédé à la fois l'apprentissage hebbien (1949) et les perceptrons de Rosenblatt (1957) que nous associons généralement au premier réseau de neurones. Turing prévoyait les bases du connexionnisme (encore un énorme paradigme en sciences cognitives) et de la neuroscience computationnelle. Alan Turing a examiné le cerveau à travers des lentilles algorithmiques.

En 1950, Turing publie ses fameuses machines et son intelligence informatiques et lance l'IA. Cela a eu un effet transformateur sur la psychologie et la science cognitive, qui continuent à voir la cognition comme un calcul sur des représentations internes. Alan Turing a examiné l'esprit à travers des lentilles algorithmiques.

Enfin, en 1952 (comme mentionné par @vzn), Turing publia The Chemical Basis of Morphogenesis. C'est devenu son travail le plus cité. Il y posait (et commençait à répondre) la question suivante: comment un embryon à symétrie sphérique se développe-t-il en un organisme à symétrie non sphérique sous l'action d'une diffusion chimique des morphogènes préservant la symétrie? Son approche dans cet article était très physique, mais certaines de ses approches avaient un air de TCS; Son article énonçait des déclarations qualitatives rigoureuses (valables pour diverses constantes et paramètres) au lieu d’énoncés quantitatifs basés sur des constantes et des paramètres spécifiques (dans certains domaines: potentiellement impossible à mesurer). Peu de temps avant sa mort, il poursuivait cette étude en travaillant sur les idées de base de ce qui allait devenir des simulations de vie artificielles et un traitement de la biologie plus discret et non différentiel. Dans un blogJe spécule sur la façon dont il développerait la biologie s'il avait plus de temps. Alan Turing a commencé à regarder la biologie à travers des lentilles algorithmiques.

Je pense que la plus grande contribution (et souvent ignorée) de Turing à la science informatique montrait que nous pouvions recueillir de grandes informations en examinant la science à travers l’optique algorithmique. J'espère seulement que nous honorerons son génie en continuant son travail.


Questions connexes

Artem Kaznatcheev
la source
13

L' estimateur de Good-Turing, qui permet d'estimer la fraction d'une population "non encore vue" lors du prélèvement d'échantillons, est une contribution moins connue . Ceci est utilisé dans la biodiversité.

Suresh Venkat
la source
11

Le document de Turing intitulé « Checking an routine», présenté lors d'une conférence à Cambridge en 1949, précède le raisonnement formel des programmes développés par Floyd et Hoare depuis près de deux décennies. Le document ne fait que trois pages et contient l’idée d’utiliser des invariants pour prouver les propriétés des programmes et le bien-fondé de prouver la terminaison.

Comment peut-on vérifier une routine dans le sens de s'assurer qu'elle est correcte?

Pour que l'homme qui vérifie n'ait pas une tâche trop difficile, le programmeur doit faire un certain nombre d'assertions précises pouvant être vérifiées individuellement et à partir desquelles la correction de l'ensemble du programme suit facilement.

Vijay D
la source
So Turing a inventé les tests unitaires :)
Lev Reyzin
1
Pas dans ce papier. Il présente une méthode statique pour prouver l'exactitude fonctionnelle et la résiliation.
Vijay D
7

Turing était intéressé et a effectué des travaux précurseurs sur les modèles de réaction-diffusion chimique. ce domaine de recherche s'est considérablement élargi depuis qu'il a commencé ses recherches. il a été démontré qu'elle est liée à la calculabilité, par exemple, elle est "turing complète" [1]. les réactions chimiques peuvent être modélisées avec des équations différentielles non linéaires complexes. Il a donc été démontré que des équations différentielles non linéaires suffisamment complexes peuvent simuler des machines de Turing. issu de son article de 1951 intitulé "Base chimique de la morphogenèse" [4]

[1] la cinétique chimique est universelle de Turing par Magnasco dans PRL 97

[2] Structures de Turing dans des réactions chimiques simples

[3] Schémas de Turing dans les systèmes de réactions chimiques linéaires à diffusion croisée non linéaire par Franz

[4] base chimique de la morphogenèse, wikipedia

vzn
la source
5

Voici un autre que j'ai trouvé sur le blog de Scott Aaronson (et le Q + A est tiré de là):

Dans son doctorat thèse, Turing a étudié la question ( est une théorie):Fα

Étant donné une machine de Turing qui fonctionne pour toujours, est - il toujours un ordinal α tel que prouve que fonctionne toujours?MFαM

Turing a prouvé:

Pour toute machine de Turing fonctionnant pour toujours, il existe un encodage de ses axiomes ( ) qui prouve que fonctionne pour toujours.MFω+1M

Malheureusement, les définitions et les détails techniques sont plus difficiles à résumer, mais l'article de blog lié permet de bien les expliquer.

Lev Reyzin
la source
1

Voici une vaste enquête / rétrospective en ligne 9p très documentée et détaillée sur les contributions spécifiques et plus générales / à plus longue portée de Turing dans les Notices de l'American Mathematical Society de SB Cooper à l'occasion du 100e anniversaire, Incomputability after Alan Turing . quelques autres contributions mentionnées dans cette enquête:

  • Les erreurs d'arrondi dans les processus matriciels papier, 1948. influent dans l'analyse numérique et le calcul scientifique dans la théorie du calcul

  • Un rapport publié en 1948 par le National Physical Laboratory, Intelligent Machinery, décrit un premier modèle connexionniste , similaire et contemporain des célèbres réseaux de neurones de McCulloch et de Pitts .

  • souligne que l'analyse et la théorie de la morphogenèse de Turing peuvent être considérées comme le premier fondement intellectuel d'une théorie ultérieure massive (et toujours en cours / active) dans l' auto-organisation et les phénomènes émergents .

(etc)

vzn
la source
Je