Article de reference

Fonction récursive générale

En logique mathématique et en informatique , une fonction récursive générale , également appelée fonction récursive partielle ou fonction μ-récursive , est une fonction partiell...

En logique mathématique et en informatique , une fonction récursive générale , également appelée fonction récursive partielle ou fonction μ-récursive , est une fonction partielle des nombres naturels vers les nombres naturels qui est « calculable » au sens intuitif comme au sens formel . Si la fonction est totale , on l'appelle aussi fonction récursive totale (parfois abrégée en fonction récursive ). En théorie de la calculabilité , il a été démontré que les fonctions μ-récursives sont précisément les fonctions calculables par les machines de Turing (c'est l'un des théorèmes qui soutiennent la thèse de Church-Turing ). Les fonctions μ-récursives sont étroitement liées aux fonctions récursives primitives , et leur définition inductive (ci-dessous) s'appuie sur celle des fonctions récursives primitives. Cependant, toute fonction récursive totale n'est pas une fonction récursive primitive ; l'exemple le plus connu est la fonction d'Ackermann .

D’autres classes de fonctions équivalentes sont les fonctions du lambda-calcul et les fonctions qui peuvent être calculées par des algorithmes de Markov .

Le sous-ensemble de toutes les fonctions récursives totales avec des valeurs dans la théorie de la complexité computationnelle sous le nom de classe de complexité R.

des n-uplets finis de nombres naturels et renvoient un seul nombre naturel. Elles constituent la plus petite classe de fonctions partielles incluant les fonctions initiales et sont stables par composition, récursion primitive et par l' opérateur de minimisation fonctions récursives primitives . Toutes les fonctions récursives primitives sont totales, ce qui n'est pas le cas des fonctions récursives partielles ; par exemple, la minimisation de la fonction successeur n'est pas définie. Les fonctions récursives primitives sont un sous-ensemble des fonctions récursives totales, qui sont elles-mêmes un sous-ensemble des fonctions récursives partielles. Par exemple, on peut démontrer que la fonction d'Ackermann est totalement récursive et non primitive.

Fonctions primitives ou « basiques » :

  1. Fonctions constantes
  2. Fonction successeur S :
  3. Fonction de projection (également appelée fonction identité ) : Pour tout nombre naturel tel que :

Opérateurs (le domaine d'une fonction définie par un opérateur est l'ensemble des valeurs des arguments telles que chaque application de fonction effectuée lors du calcul fournisse un résultat bien défini) :

  1. Opérateur de composition (également appelé opérateur de substitution ) : Étant donné une fonction m -aire et m fonctions k -aires :
  2. Opérateur de récursion primitive
  3. Opérateur de minimisation

Intuitivement, la minimisation cherche, en partant de 0 et en remontant, le plus petit argument qui annule la fonction ; s’il n’existe pas d’argument de ce type, ou si l’on rencontre un argument pour lequel

Alors que certains manuels utilisent l'opérateur μ tel que défini ici d'autres exigent que l'opérateur μ soit appliqué uniquement aux fonctions totales Kleene (voir ci -dessous ) . La seule différence est qu'il devient indécidable de déterminer si une définition de fonction spécifique définit une fonction μ-récursive, de même qu'il est indécidable de déterminer si une fonction calculable (c'est-à-dire μ-récursive) est totale

La relation d'égalité forte peut être utilisée pour comparer des fonctions μ-récursives partielles. Elle est définie pour toutes les fonctions partielles f et g de sorte que

Cela se vérifie si et seulement si, pour tout choix d'arguments, soit les deux fonctions sont définies et leurs valeurs sont égales, soit les deux fonctions ne sont pas définies.

Exemples

Des exemples n'impliquant pas l'opérateur de minimisation peuvent être trouvés dans la section Fonction récursive primitive#Exemples .

Les exemples suivants sont destinés uniquement à illustrer l'utilisation de l'opérateur de minimisation ; ils pourraient également être définis sans lui, bien que d'une manière plus compliquée, puisqu'ils sont tous récursifs primitifs.

racine carrée entière de x peut être définie comme le plus petit z tel que . En utilisant l'opérateur de minimisation, une définition récursive générale est , où Not , Gt et Mul sont respectivement la négation logique , le signe supérieur à et la multiplication . En fait, est x" x (z+1)2>x{\displaystyle (z+1)^{2}>x}x

Les exemples suivants définissent des fonctions récursives générales qui ne sont pas récursives primitives ; par conséquent, elles ne peuvent éviter d'utiliser l'opérateur de minimisation.

fonction d'Ackermann

Fonction récursive totale

Une fonction récursive générale est dite totale si elle est définie pour toute entrée, ou, de manière équivalente, si elle peut être calculée par une machine de Turing totale . Il n'existe aucun moyen de déterminer par le calcul si une fonction récursive générale donnée est totale — voir le problème de l'arrêt .

Équivalence avec d'autres modèles de calculabilité

équivalence des modèles de calculabilité , un parallèle est établi entre les machines de Turing qui ne s'arrêtent pas pour certaines entrées et le résultat indéfini de cette entrée dans la fonction récursive partielle correspondante. L'opérateur de recherche non borné n'est pas définissable par les règles de la récursivité primitive, car celles-ci ne fournissent aucun mécanisme pour les « boucles infinies » (valeurs indéfinies).

théorème de la forme normale

Un théorème de forme normale dû à Kleene affirme que pour chaque k, il existe des fonctions récursives primitives et telles que pour toute fonction μ-récursive à k variables libres, il existe un e tel que

Le nombre e est appelé un indice ou un nombre de Gödel pour la fonction f . Une conséquence de ce résultat est que toute fonction μ-récursive peut être définie en utilisant une seule instance de l'opérateur μ appliqué à une fonction récursive primitive (totale).

Minsky observe que l' ensemble défini ci-dessus est en substance l'équivalent μ-récursif de la machine de Turing universelle :

Construire U consiste à écrire la définition d'une fonction récursive générale U ( n , x ) qui interprète correctement le nombre n et calcule la fonction appropriée de x . Construire U directement impliquerait essentiellement le même effort et les mêmes idées que ceux que nous avons investis dans la construction de la machine de Turing universelle

Symbolisme

Plusieurs symbolismes différents sont utilisés dans la littérature. L'un des avantages de l'utilisation de ces symbolismes est qu'il est plus facile d'écrire la dérivation d'une fonction par « imbrication » des opérateurs les uns dans les autres sous une forme compacte. Dans ce qui suit, la chaîne de paramètres est abrégée comme suit :

  • Fonction constante : Kleene utilise " " et Boolos-Burgess-Jeffrey (2002) (BBJ) utilise l'abréviation " " :
par exemple
par exemple
  • Fonction successeur : Kleene utilise « et » pour « Successor ». Comme « successor » est considéré comme primitif, la plupart des textes utilisent l’apostrophe comme suit :
  • Fonction identité : Kleene (1952) l'utilise pour désigner la fonction identité sur les variables ; BBJ utilise la fonction identité sur les variables pour :
par exemple
  • Opérateur de composition (substitution) : Kleene utilise le gras (à ne pas confondre avec son utilisation du terme « successeur » !). L’exposant se réfère à la fonction , tandis que l’indice se réfère à la variable .
Si on nous donne
alors
De la même manière, mais sans les indices et les exposants, BBJ écrit :
  • Récursivité primitive : Kleene utilise le symbole où n indique le nombre de variables ; BBJ utilise . Étant donné :
  • étape de base :
  • étape d'induction :
Exemple : définition de récursion primitive de

Exemple : Kleene donne un exemple de dérivation récursive (notez l'inversion des variables ) . Il commence par des fonctions initiales

  1. étape de base :
étape d'induction :

Il arrive à :

Exemples

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index