Importance de la récursivité dans la théorie de la calculabilité

12

On dit que la théorie de la calculabilité est également appelée théorie de la récursivité. Pourquoi ça s'appelle comme ça? Pourquoi la récursivité a-t-elle autant d'importance?

user5507
la source

Réponses:

20

Dans les années 1920 et 1930, les gens essayaient de comprendre ce que signifie "calculer efficacement une fonction" (rappelez-vous, il n'y avait pas de machines informatiques à usage général et l'informatique était quelque chose de fait par les gens).

Plusieurs définitions de «calculable» ont été proposées, dont trois sont les plus connues:

  1. Le -calculusλ
  2. Fonctions récursives
  3. Machines de Turing

Celles-ci se sont avérées définir la même classe de fonctions théoriques des nombres. Parce que les fonctions récursives sont plus anciennes que les machines de Turing, et le -calculus encore plus ancien n'a pas été immédiatement accepté comme une notion adéquate de calculabilité, l'adjectif "récursif" a été largement utilisé (fonctions récursives, ensembles récursifs, ensembles récursivement énumérables, etc.)λ

Plus tard, il y a eu un effort, popularisé par Robert Soare , pour changer "récursif" en "calculable". Ainsi, de nos jours, nous parlons de fonctions calculables et d'ensembles énumérables par calcul. Mais de nombreux manuels plus anciens et de nombreuses personnes préfèrent toujours la terminologie "récursive".

Voilà pour l'histoire. On peut aussi se demander si la récursivité est importante pour le calcul d'un point de vue purement mathématique. La réponse est un "oui!" Très précis. La récursivité est à la base des langages de programmation à usage général (même les whileboucles ne sont qu'une forme de récursivité car elles while p do csont les mêmes que if p then (c; while p do c)), et de nombreuses structures de données fondamentales, telles que les listes et les arbres, sont récursives. La récursivité est tout simplement inévitable en informatique, et en théorie de calculabilité en particulier.

Andrej Bauer
la source
1

La théorie de la calculabilité est l'étude des fonctions calculables :-).

De telles fonctions sont généralement (dans cette communauté) définies comme des fonctions qui peuvent être exprimées avec une machine de Turing.

Plus formellement, une fonction est calculable s'il existe un Turing tel que si l'entrée de est la sortie de est T T x = 1 n T 1 f ( x ) .f:NNTTx=1nT1f(x).

Il s'avère que si vous définissez les fonctions calculables de cette manière (programmes), elles sont équivalentes à l'ensemble des fonctions que l'on peut obtenir en utilisant les règles décrites ici . On les appelle fonctions récursives car l'une des règles d'obtention de telles fonctions est une définition récursive (Voir la 5ème règle sur wikipedia).

Ainsi, la raison pour laquelle la théorie de la récursivité a beaucoup d'importance équivaut à la question de savoir pourquoi les fonctions calculables sont importantes. Et la réponse à cette dernière devrait être assez évidente :)

Jernej
la source