Aller au contenu

Sujets conseillés

Posté (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é par Dash
Posté

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! :)

Posté
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 :fou: , et je ne fais rien pour me soigner :)

Posté
...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 :P

NB : Je n'ai pas trouvé de référence à l'algo en question sur le manuel

Posté (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é par Dash

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...