Bonjour, je ne suis pas sur que ce soit la bonne section du forum mais je n'ai pas trouvé mieux. La question est commune au c ou c++ et je pense à tout les générateurs pseudo aléatoire.
Pour ma part je code sous linux en c++ et utilise le PRNG standard de stdlib.
Voila mon problème : afin de tester mon programme je lance une série de ~500 exécutions indépendantes de mon programme. Dans mon programme j'utilise la fonction rand(), préalablement initialisé via srand() et l'heure du système, je n'ai donc pas de problème ici.
Mon problème est que, si je fait une modification du programme et que je relance une nouvelle série de 500 exécutions j'aimerais utiliser LES MÊMES graines que la première série, et dans le même ordre.
Je cherche donc une liste de ~500 graines pour en donner une à chaque exécution du programme, ma question est comment constituer cette liste ?
Générer ma liste d'une quelconque manière (un premier tirage random, noter l'heure lors de l’exécution de la toute première série, ect ...) afin de la stocker quelque part et l'utiliser ensuite était ma première idéé, mais cette méthode serait complexe à mettre en oeuvre dans mon cas.
Il me faudrait donc une manière de déterminer la graine en me basant seulement sur le nombre de lancement du programme. (Par exemple quand je vais lancer pour la 5° fois mon programme au cours d'une même série il sait que c'est le 5°). Est ce que le fait de prendre juste ce numéro et donc d'avoir des graines 1,2,3.....,500 suffit pour avoir une bonne répartition des nombre aléatoires ou est ce que c'est une mauvaise idée ? Comment procéder sinon ?
Merci d'avance
Partager