Aller au contenu

Ordinateur/Hasard


melhzar

Messages recommandés

Membre, 40ans Posté(e)
melhzar Membre 43 messages
Baby Forumeur‚ 40ans‚
Posté(e)

Comment un ordinateur génère il le hasard ?

Par exemple dans un jeu de stratégie comme starcraft où vous avez une chance sur 3 d'apparaitre dans une des trois positions de départ, comment l'ordinateur choisi pour vous ?

Où bien dans un programme qui doit choisir un nombre entre 0 et 9, comment l'ordinateur fait il pour choisir ? c.a.d par quel mécanisme ?

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Invité Kuolema Kristukselle
Invités, Posté(e)
Invité Kuolema Kristukselle
Invité Kuolema Kristukselle Invités 0 message
Posté(e)

c'est pas le PC qui choisit, c'est le logiciel / jeux qui le fait pour lui... un PC c'est con, ca execute que des commandes

Lien à poster
Partager sur d’autres sites

Membre, 40ans Posté(e)
melhzar Membre 43 messages
Baby Forumeur‚ 40ans‚
Posté(e)

Oui et ma question est: comment le logiciel choisi ?

Je veux dire par la que si je ne trouve pas en informatique une réponse satisfaisante, il faut chercher du coté de l'électronique, la où le mécanisme prend lieu.

Lien à poster
Partager sur d’autres sites

Membre, Le Dieu Lapin, 35ans Posté(e)
Lapinkiller Membre 10 149 messages
35ans‚ Le Dieu Lapin,
Posté(e)

Bonjour

oulà dur comme question,

je crois que ca dépend des logiciels/langages, certains se basent sur l'heure

mais dans tout les cas, ce n'est pas vraiment de l'aléatoire, et ce n'est pas au niveau electronique que ca se passe, mais au niveau logiciel...

Lien à poster
Partager sur d’autres sites

Membre, Sado coin-coin, 43ans Posté(e)
Naas Membre 3 165 messages
43ans‚ Sado coin-coin,
Posté(e)

Comme toi, une question que je me suis également posé (parmi tant d'autres...) : Comment un programme peut-il choisir un nombre aléatoire alors que par définition tout est programmé ? Petit début de réponse ICI (Vérifie que tu ais bien une boite d'Ibuprofène à côté de toi quand même... :smile2: )

Lien à poster
Partager sur d’autres sites

Membre, Admiratrice de Scrat, 35ans Posté(e)
Adenora Membre 5 400 messages
35ans‚ Admiratrice de Scrat,
Posté(e)

C'est vrai que je me posais la question. ;)

Merci Naas, pour la réponse.

Peut-être que demain à l'exam, j'aurai une question dessus. :smile2:

Lien à poster
Partager sur d’autres sites

Modérateur, A ghost in the shell, 48ans Posté(e)
Nephalion Modérateur 32 343 messages
48ans‚ A ghost in the shell,
Posté(e)

Il suffit d'un algorithme mathématique basé par exemple sur un temps que la machine ne maîtrise pas, par exemple le temps écoulé entre 2 actions de l'utilisateur.

Lien à poster
Partager sur d’autres sites

Membre, 65ans Posté(e)
Agrenoble Membre 722 messages
Baby Forumeur‚ 65ans‚
Posté(e)

Oui, pour tirer "un" aléatoire dans un jeux, ce n'est vraiment pas compliqué et ça ne pose pas de problème théorique complexe. En effet, on part souvent du temps, de l'horloge interne. Imaginons que nous partions des millièmes de secondes, ces millièmes vont de 0 à 999 puis repassent à 0. En interrogeant à un temps T la valeur de ce temps T avec la précision du millième, on obtient un chiffre entre 0 et 999. Dans le cas de 1/3, on découpe en 333 pour faire la décision. Lors du déroulement du logiciel de jeu, le "moment" ou la fonction time() ou rnd() - qui utilise time() - est interrogé est vraiment aléatoire par rapport à la position de l'horloge en millièmes de secondes.

Bon, là c'était simple. Dans le cas plus complexe ou un jeu appelle de façon fréquente la fonction, pour éviter que pendant 1/3 de secondes le résultat soit toujours inférieur à 1/3 et donc que ce soit toujours le même choix qui est fait, on s'apperçoit qu'il faut une transformée de la fonction time. Par exemple, le reste de la division par 3 (modulo) est une bonne méthode pour éviter la bévue signalée ci-dessus. C'est ce que font des fonctions rnd() qui appellent time() avec pour argument le pas du tirage (une chance sur 2, sur 3 ?). Parfois, il faut bien vérifier les sources des fonctions appelées pour savoir si l'aléatoire n'est pas bugé.

Après ces problèmes simples, un autre plus compliqué : tirer par avance une série de nombres parfaitement éléatoire ! Là, je passe lâchement mon tour :smile2:

Lien à poster
Partager sur d’autres sites

Invité Gallium
Invités, Posté(e)
Invité Gallium
Invité Gallium Invités 0 message
Posté(e)

Très intéressante question à laquelle je ne connais rien pour y répondre.

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×