Fonction déterministe

En informatique, une fonction déterministe est une fonction qui pour le même argument renverra toujours le même résultat[1].

En mathématiques, la définition de la fonction, dans la théorie des ensembles, est implicitement déterministe, c'est pourquoi le terme est essentiellement utilisé en informatique où le terme fonction est utilisé dans une définition moins formelle.

Le terme fonction déterministe correspondant à la définition mathématique classique d'une fonction, nous donnerons quelques exemples de fonctions non déterministes. Le propre des fonctions non déterministes est de renvoyer des résultats différents pour plusieurs appels utilisant les mêmes arguments. Ce cas recouvre deux cas de figure principaux:

  • soit la fonction comprend des arguments cachés, i.e. appelle des arguments qui ne figurent pas dans les arguments entrés par l'utilisateur, par exemple une fonction qui donne l'âge en fonction de la date de naissance, prendra comme argument la date de naissance mais appellera également, de façon "cachée", la date en cours au moment de l'appel de la fonction, depuis l'horloge de l'ordinateur par exemple
  • soit la fonction comprend une composante aléatoire (ou, en général, plus précisément pseudo-aléatoire)

Références

  1. Microsoft developer Network, Fonctions déterministes et non déterministes, consulté le 31 juillet 2014.

Voir aussi