begin process at 2012 02 13 13:50:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Generateur de nombre aleatoire non determinée.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Generateur de nombre aleatoire non determinée.

mercredi 24 décembre 2008 à 11:30:13 | Generateur de nombre aleatoire non determinée.

SnOOpss

Bonjour je suis a la recherche d'un generateur de nombre aleatoire utilisant un phenomene physique de l'ordinateur. Sur ce site j'en ai trouvé un qui utilise le bruit blanc de l'entree micro mais meme si celui ci est aleatoire, les resultats ne sont pas assez aleatoire, trop de dominance de certains chiffres.
J'ai decouvert la librairie BOOST (de la TR1) et sa fonction random_device() mais je ne suis pas arrivé a installer la librairie, et je preferais un code simple que je n'aurais pas a nettoyer pour ne garder que l utile.
Je suis prenneur de toute les pistes possible :).

mercredi 24 décembre 2008 à 13:16:53 | Re : Generateur de nombre aleatoire non determinée.

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Pourquoi ne pas tout simplement utiliser rand et srand ?

Correctement initialisé, ces fonctions doivent fournir une distribution qui paraît tout à fait aléatoire.

Le tout est de l'initialiser avec une valeur aléatoire via srand pour qu'elle ne répète pas son enchaînement à chaque fois. C'est là qu'une grandeur physique peut être intéressante. On peut utiliser tout bêtement l'horloge via GetTickCount. Si le générateur risque d'être initialisé plusieurs fois par millisecondes (Y a quand même peut de risque...) tu peux utiliser QueryPerformanceCounter. Si le générateur doit être initialisé plusieurs fois par 10 millionnième de seconde (Les perfs de QueryPerformanceCounter varies d'un PC à l'autre), tu peux utiliser RDTSC (Qui s'incrémente à chaque front processeur). Et là, tu es sûr que srand ne sera jamais appelé deux fois de suite avec la même valeur, sauf... Coincidence ! Mais là tu es dans le domaine de l'aléatoire !
mercredi 24 décembre 2008 à 15:43:48 | Re : Generateur de nombre aleatoire non determinée.

SnOOpss

Le probleme c'est que pour des raisons de legalité (pour un jeu de hazard) il me faut vraiment un generateur aleatoire. Pour la fonction rand() j'ai vu des tests et elle sont loin d'etre purement aleatoire, ils on fait des images avec des points ( 0 si < 0.5 ou 1 si > 0.5) et il y a des figures qui apparaissent et qui se repettent. Donc quelqu'un peu augmenter ses chances de gain en connaissant les precedentes vlaeurs.
Et perso je ne sais pas si de reinitialiser la "graine" de la fonction me permettra de passer les tests.
mercredi 24 décembre 2008 à 16:21:22 | Re : Generateur de nombre aleatoire non determinée.

rt15

Membre Club Administrateur CodeS-SourceS

Tu as des liens vers ces articles ?

Je doute que M$ laisse trainer ce genre de bug...

Cela c'est déjà effectivement arrivé que certains propose une version buguée de cette fonction.

Le php par exemple.

Et j'ai aussi entendu parlé d'une autre plus ancienne en Pascal ou autre.

mercredi 24 décembre 2008 à 17:21:55 | Re : Generateur de nombre aleatoire non determinée.

SnOOpss

Non, désolé, j'ai recherché rapidement et je suis tombé uniquement sur celui du php().
Sinon ce n'est pas un bug, microsoft a justement une fonction pour eviter ca (celle du tr1 que je n'arrive pas a installer) http://msdn.microsoft.com/en-us/library/bb982250.aspx mais je vais surement utiliser un algorithme, celui de Marsaglia avec 2 graines, une hardware et une tirée de l horloge de l'ordi.


Cette discussion est classée dans : nombre, generateur, librairie, aleatoire, determinée


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec la librairie <conio.h> et avec le type "float" en c++ [ par Rigel Io ] Salut, j'aurai besoin de vos conseils éclairé en c++. Je suis débutant et j'apprends encore sur les tutorials possible de trouver sur Internet, je pro Nombre aleatoire [ par BastienL21 ] Bonjour à tous,    Je développe actuellement une bataille navale en console. Pour placer les bateaux du PC et les tirs du pc, il faut que je crer un n generation nombre aleatoire sous dev cpp [ par dionysos ] Bonjour,En c, sous dev cpp, comment generer des nombre de façon aleatoire (entiers) ?Quelle(s) bibliotheque(s)?Quelle(s) fonction(s)?J'ai pensé à rand nombre speudo aleatoire en c [ par flofloo ] bonjouyr tout le monde...je voudrais tout simplement qu'on m'explique comment marche les nombre speudo a l'aleatoire? j'ai fait une petite recherche s Nombre aleatoire [ par samaie ] Bonsoir j'ai un petit exercice que je n'arrive pas a faire.Il faut creer un nombre float aleatoire entre 0(inclu) et 1 (exlu).Si quelqu'un pourrai m'a moyenne png [ par shub85 ] Bonjour, Je suis novice en programmation et j'aimerais savoir si il y aurait des personnes qui connaissent bien la librairie libpng. Je souhaiterais e savoir si un string n'est que numérique [ par nord666 ] Bonjour tout le monde!À première vue, utiliser un String pour stocker un chiffre est assez inscenser. Sauf lorsque le nombre maximal de caractère pour modulo et nombre de 66 chiffres [ par velvetwizard ] J'ai un problème à résoudre en C. « faire un un pgm C permettant de donner le résultat de A mod X.A étant un nombre de 66 et X= 1 à 100 » 1/ déjà threads c pur windows [ par Moomoon07 ] Bonjour,Je crée un code que je compile en une librairie statique (.lib) avant de le linker avec un programme c pur autogénéré.Je travaille sous window winSock sous VC 6 [ par Vlad Mortelame ] BonjourJ'ai fait un programme de serveur ( avec #include ) dont j'arriver à compiller sous DEV C++ (en ajoutant la librairie). Cependant je voudrais


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales