Ordinateur/Hasard


melhzar Membre 43 messages
Forumeur balbutiant‚ 34ans
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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Annonces
Maintenant

Messages recommandés

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

Modifié par Kuolema Kristukselle

Partager ce message


Lien à poster
Partager sur d’autres sites
melhzar Membre 43 messages
Forumeur balbutiant‚ 34ans
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.

Modifié par melhzar

Partager ce message


Lien à poster
Partager sur d’autres sites
Lapinkiller Membre 10 109 messages
Le Dieu Lapin‚ 29ans
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...

Partager ce message


Lien à poster
Partager sur d’autres sites
Naas Membre 3 165 messages
Sado coin-coin‚ 37ans
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: )

Partager ce message


Lien à poster
Partager sur d’autres sites
Adenora Membre 5 400 messages
Admiratrice de Scrat‚ 29ans
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:

Partager ce message


Lien à poster
Partager sur d’autres sites
Nephalion Modérateur 27 884 messages
A ghost in the shell‚ 42ans
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.

Partager ce message


Lien à poster
Partager sur d’autres sites
Agrenoble Membre 722 messages
Forumeur forcené‚ 59ans
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:

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité Gallium
Invité Gallium Invités 0 message
Posté(e)

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

Modifié par Gallium

Partager ce message


Lien à poster
Partager sur d’autres sites
Annonces
Maintenant

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant