Non seulement c'est normal, mais c'est même indispensable de pouvoir obtenir les mêmes séries "aléatoires".
Par exemple, je désire simuler une file d'attente à un guichet. Les arrivées se font. en général selon une loi statistique impliquant des nombres aléatoires, le temps de service également. Pour pouvoir déterminer le nombre de guichets adéquats, et ne pas faire trop attendre (le logiciel ne concerne pas les guichets de l'administration :-) ) sans mettre trop de guichets ce qui coûte cher, il faut pouvoir faire une simulation avec différents guichets et les mêmes séries "aléatoires".
Je mets des " à aléatoire parce qu'il ne s'agit pas en fait de nombre aléatoires. La série est calculée à partir d'un germe (seed), on applique à ce germe, on applique à ce germe une fonction suffisament compliquée (comportant le plus souvent des débordements de capacité) pour que f(germe) puissent être considéré comme aléatoire. f(germe) constitue le premier nombre de la série, f(f(germe)) le deuxième, et ainsi de suite.
Dans notre cas particulier, srandom() fixe le germe et random implémente f(..).
La vie est belle !
Poste le Tuesday 16 December 2003 16:26:07