Dash Posté 22 Janvier 2005 Posté 22 Janvier 2005 (modifié) absolument pas. Il s'agit de probabilites, pas de certitude La probabilite que le resultat soit 0 est de 50%. Cela ne signifie pas qu'une fois sur deux on aura effectivement 0 Modifié 22 Janvier 2005 par Dash
Eclipsis Posté 22 Janvier 2005 Posté 22 Janvier 2005 J'ai déjà fait un test sur un 1000 rand() et ça m'a donné 494 '0' et 506 '1'... Je suis sûr que si je refaisais le test le résultat serait différent, mais assez proche de 500/500. Globalement, on peut dire que la probabilité veut que ce soit 50%. Donc oui!
Bug Posté 23 Janvier 2005 Posté 23 Janvier 2005 Globalement, on peut dire que la probabilité veut que ce soit 50% Je suis d'accord avec ça, mais comment fonctionne la fonction rand() ? Il y a un algorithme derrière ? Et si c'est le cas, peut on réellement parler de choix aléatoire ? Est-ce en fonction du cycle d'horloge (ce qui correspondrait à un pile ou face) ? Mais dans ce cas, comment choisir un chiffre entre 0 et 9 ? C'est ce genre de détail qui m'interesse moi dans cette question. Je sais, je suis un peu , et je ne fais rien pour me soigner
MarvinLeRouge Posté 23 Janvier 2005 Posté 23 Janvier 2005 ...Il y a un algorithme derrière ? Et si c'est le cas, peut on réellement parler de choix aléatoire ?Est-ce en fonction du cycle d'horloge (ce qui correspondrait à un pile ou face) ? ... Générateur de nombres pseudo-aléatoires : il se base sur un algorithme qui rend statistiquement des résultats suffisament équilibrés pour qu'on puisse les considérer comme aléatoires sur un grand nombre de tirages. Quant à savoir quel algo est utilisé par rand, je suppose que c'est basé sur l'horloge, mais le meilleur moyen de le savoir serait probablement de demander aux auteurs de php NB : Je n'ai pas trouvé de référence à l'algo en question sur le manuel
Dash Posté 23 Janvier 2005 Posté 23 Janvier 2005 (modifié) rand(), pseudo-aleatoire, 1°/ n'est pas equiprobable : il n'y a aucune raison d'avoir 50% de 0 et 50% de 1 2°/ n'a rien d'original par rapport aux autres langages de programmation : c/c++, java, etc... 3°/ est donc basee sur une suite dite chaotique, comme dans les autres langages. PHP n'a rien invente. 4°/ n'est pas influencee par le temps : vous obtiendez les memes resultats en commencant vos tests a differents moments. srand() permet de varier la suite utilisee. Et une utilisation de srand() en fonction du temps permet d'obtenir des resultats plus aleatoires. C'est a cet endroit que le temps intervient Modifié 23 Janvier 2005 par Dash
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant