Programmer le "hasard" ? [?] - Algo - Programmation
Marsh Posté le 11-05-2005 à 08:32:21
Si tu veux du pseudo-aleatoire, utilise rand()
Mias pour du vrai hasard, il te faudra utiliser une carte d'extension.
Marsh Posté le 11-05-2005 à 08:49:35
Friday Monday a écrit : Mias pour du vrai hasard, il te faudra utiliser une carte d'extension. |
Il faut que tu m'explique comment tu géneres du "vrai" hasard...
Sinon pour biboune si tu ne fais pas beaucoup de tirage ne te complique pas la vie utilise rand()
autrement de très bon générateur de nombres pseudo aléatoires ici:
http://www.library.cornell.edu/nr/bookcpdf.html (chap 7)
edit: j'avais oublié les guillemets à vrai
Marsh Posté le 11-05-2005 à 08:58:32
Le "hasard", une discusion qui a déja souvent eu lieu sur le forum ...
Effectivement, si ton problème reste aussi simple que ce que tu présentes, la fonction rand() marchera très bien. Par contre, comme le nombre généré sera entre 0 et RAND_MAX (compris), tu devra faire un calcul avant de revenir à un nombre compris entre 1 et 4 (pour ton exemple).
Marsh Posté le 11-05-2005 à 09:59:58
seldon1 a écrit : Il faut que tu m'explique comment tu géneres du "vrai" hasard... |
Avec une carte d'extension, comme je viens de le préciser
Marsh Posté le 11-05-2005 à 10:05:23
seldon1 a écrit : Il faut que tu m'explique comment tu géneres du "vrai" hasard... |
avec certains phénomènes naturels on arrive à avoir des lois de distribution extrèmement bien respectées.
par contre, il ne faut pas oublier que le hasard, c'est une contrainte et qu'un jeu ça ne s'usine pas.
Marsh Posté le 11-05-2005 à 10:52:01
nraynaud a écrit : avec certains phénomènes naturels on arrive à avoir des lois de distribution extrèmement bien respectées. |
On est d'accord que tu vas pouvoir récupérer une distribution aléatoire dans la nature (tout ce qui est évenement stochastique)
Il me semble que ce type de hasard ne peut pas etre générer par du code puisque tous les générateurs sont basés sur des séries plus ou moins longues et + ou - homogènes donc bien qu'on l'approche, on aura toujours des tirages pseudo-aléatoire dans la mesure ou l'on tire un nombre parmi quelque chose de fini.
Marsh Posté le 11-05-2005 à 14:24:25
rand(); en C++ ?
Sinon autre question comment savoir de quel type est une variable ?
Ex :
int i;
bool test;
test= IsInt(i);
??
Merci pr le hasard
Marsh Posté le 11-05-2005 à 14:45:18
rand() fonctionne en C ou en C++
sinon pourquoi veux tu savoir quel est le type d'une variable, c'est le developpeur qui les déclare donc tu es censé savoir ce dont tu as besoin et donc déclarer tes variables en fonction de ces mêmes besoins ...
Marsh Posté le 11-05-2005 à 14:47:35
Je suis dans une fonction je demande un code (int) et tant que je suis pas ds un intervalle je redemande ce code. Sauf que quand je rentre autre chose q'un int, il boucle ds le while :
Code :
|
Marsh Posté le 12-05-2005 à 22:52:59
biboune77 a écrit : Je suis dans une fonction je demande un code (int) et tant que je suis pas ds un intervalle je redemande ce code. Sauf que quand je rentre autre chose q'un int, il boucle ds le while :
|
si tu rentres un caractere il faut le lire donc ton while est typiquement une boucle infinie
if( cin >> c ) pour tester si la lecture a fonctionnée (voir documentation, appel de operator void* qui retourne 0 si un indicateur d'erreur est vrai), si ce n'est pas le cas tu as quelque chose qui traine dans le flux et qui n'est pas un entier, commence par faire cin.clear() pour repositionner les indicateurs d'erreur (flux ok) puis fais un cin.ignore( <grand entier(streamsize)>, '\n' ); pour "passer" ce qui a été saisie et reboucler tant que...
en gros c'est ca
Marsh Posté le 13-05-2005 à 00:58:43
ReplyMarsh Posté le 13-05-2005 à 06:54:29
ReplyMarsh Posté le 13-05-2005 à 08:36:43
D'apres Newton le hazard n'existerait pas étant donné que tout evenement pourrait etre prévu en connaissant le vecteur quantité de mouvement de toutes les particules de l'univers...
Maintenant ... La physique quantique vient fouttre le bronx la dedans car il est physiquement impossible de connaitre la vitesse et la position d'une particule elementaire ...
En gros : Utilise rand et fait nous pas trop reflechir
Marsh Posté le 13-05-2005 à 09:07:12
Je bosse dans une imprimerie, et y garde 2 exemplaires de chaque livre imprimé, qui sont ensuite entreposés dans des cartons (qui sont dans mon bureau) et dans le dernier carton, y'a livre intitulé ......."Le hasard n'existe pas".
Marsh Posté le 13-05-2005 à 09:08:53
Mouais ... je suis sur que tu peux trouve un livre qui dit le contraire
Marsh Posté le 13-05-2005 à 09:43:47
cesarr89 a écrit : Je bosse dans une imprimerie, et y garde 2 exemplaires de chaque livre imprimé, qui sont ensuite entreposés dans des cartons (qui sont dans mon bureau) et dans le dernier carton, y'a livre intitulé ......."Le hasard n'existe pas". |
Ah bon, toi tu forges une opinion sur un thème aussi majeur simplement en lisant le titre d'un livre ? Arf
La hasard existe bel et bien, on l'a même vérifié expérimentalement depuis 20 ans
Marsh Posté le 13-05-2005 à 09:48:58
Friday Monday a écrit : Ah bon, toi tu forges une opinion sur un thème aussi majeur simplement en lisant le titre d'un livre ? Arf |
Ah non pas du tout, tu as pas compris le sens de mon commentaire.
Marsh Posté le 13-05-2005 à 09:50:08
esox_ch a écrit : Mouais ... je suis sur que tu peux trouve un livre qui dit le contraire |
Oui : tous les livres de physique quantique depuis maintenant 1 siècle
Marsh Posté le 13-05-2005 à 10:05:44
esox_ch a écrit : D'apres Newton le hazard n'existerait pas étant donné que tout evenement pourrait etre prévu en connaissant le vecteur quantité de mouvement de toutes les particules de l'univers... |
Mon point de vue est beaucoup plus basique et élémentaire (désolé).
A notre niveau, nous sommes incapables d'évaluer tous les critères/facteurs/données/j'sais-pas-quoi nécessaires pour le plus simple des petits évènements qu'on chercherait à analyser. Par exemple, pour une chose aussi simple qu'un jeu de "Pile ou Face", il nous est impossible de prévoir à l'avance la face de la pièce qui va se présenter. Donc j'ai tendance à croire que le hasard est le fruit de nos propres limitations, un peu comme le temps.
Maintenant existe-t'il réellement ? Je dirais que de notre point de vue, il existe.
Ceci dit, ce n'est que mon humble(?) avis.
Marsh Posté le 13-05-2005 à 10:27:50
Pour l'histoire de la pièce, on peut faire une simulation... On a ce qu'il faut comme moteurs physiques qui permet de gérer l'application d'une force à un élément, puis de gérer rotation, montée en l'air, redescente, et collision avec la main... Alors bien-sûr y'a une marge d'erreur, mais je pense qu'on n'est pas loin d'un résultat très correct...
Marsh Posté le 13-05-2005 à 10:29:25
Si on prends l'idée de Newton, on pourrait décrire le résultat du pile ou face en analysant la manière dont la pièce a été lancée. Donc on peut le prédire, donc ce n'est plus du hasard puisque ca ne depend que de la manière dont la pièce a été lancée (fort, pas fort, vertical et tout autres parametres...).
Marsh Posté le 13-05-2005 à 10:31:37
c0wb0y a écrit : Si on prends l'idée de Newton, on pourrait décrire le résultat du pile ou face en analysant la manière dont la pièce a été lancée. Donc on peut le prédire, donc ce n'est plus du hasard puisque ca ne depend que de la manière dont la pièce a été lancée (fort, pas fort, vertical et tout autres parametres...). |
Bah et les paramètres extérieurs? Le vent, la gravité,...
Marsh Posté le 13-05-2005 à 10:35:41
c0wb0y a écrit : Si on prends l'idée de Newton, on pourrait décrire le résultat du pile ou face en analysant la manière dont la pièce a été lancée. Donc on peut le prédire, donc ce n'est plus du hasard puisque ca ne depend que de la manière dont la pièce a été lancée (fort, pas fort, vertical et tout autres parametres...). |
Dans l'absolu, oui. Après de nombreuses, très nombreuses heures de calcul, on devrait pouvoir prévoir le résultat, à condition bien sûr que les paramètres du lancé effectif soient strictement identiques à ceux de la prévision.
Maintenant, quand le quidam moyen lance une pièce, il n'a aucun moyen de prédire le résultat.
Je parle bien du hasard en tant que produit de nos limitations, pas de hasard dans l'absolu.
Marsh Posté le 13-05-2005 à 12:30:42
Juste pour signaler que le cas de la pièce n'est pas du hasard mais du chaos.
Marsh Posté le 13-05-2005 à 14:47:05
(attention mal de tête assuré à la lecture de ce post)
Dans un système chaotique, il y a encore la notion de causalité, même s'il n'y a plus de déterminisme à long terme. Un phénomène chaotique est sensible aux conditions initiales de manière non-linéaire (l'effet papillon, vulgairement) mais il y a encore la notion d'attracteur (étrange ou non s'il est fractal). Dans un système "hasardeux", comme l'expérience connue des fentes de Young, c'est complètement aléatoire et imprévisible, il reste seulement la notion de probabilité de présence.
La météo, le système solaire, l'écoulement d'un torrent, un D6 ou la bourse est un système chaotique, même si en apparence ça parait très désordonné, c'est "seulement" un ordre très compliqué.
Alors qu'en physique quantique, il n'y a pas un "ordre caché" ayant comme conséquence la présence ou non de la particule à un endroit donné. On peut seulement prédire des probabilités de présence. Rien d'empèche que l'electron qui passe dans ton processeur soit localisé derrière la lune pendant un court instant (c'est une probabilité très faible mais non-nulle)
Fin de la digression (désolé pour le HS), je ne sais pas si j'ai été très clair pour le coup
Marsh Posté le 13-05-2005 à 15:00:08
La je pousse le bouchon on peu loin (que mes connaissances étant donné qu'on a juste effleuré la physique quantique en classe).
Mais la manière avec laquelle bouge la piece de monnaie dans l'air dépend de la position de son centre de masse, et étant donné que le mouvement des éléctrons est un phénomene qui releve de l'hazard et non du chaos, il est impossible de savoir (au point de vue atomique) comment se deplacera ce centre de masse ... ce sera certes un deplacement infime (A cause du rapport entre la masse d'un electron et celui du noyau) mais qui fait (d'apres moi) basculer le probleme sur le plan du hazard et non pas du chaos
Marsh Posté le 13-05-2005 à 15:12:30
Bah non, le principe de correspondance interdit d'utiliser la physique quantique en dehors des echelles quantiques.
Marsh Posté le 13-05-2005 à 15:15:56
Oki , c'est vendredi , je me suis un peu laissé prendre par l'entousiasme . Mais merci pour la precision
Marsh Posté le 19-05-2005 à 11:51:14
le hasard parfait est théorique, il est censé être parfait en physique quantique, mais intuitivement je pense que le hasard en physique quantique est comme d'habitude le reflet de notre incompréhension du monde .
Marsh Posté le 19-05-2005 à 12:57:49
philzzz a écrit : le hasard parfait est théorique, il est censé être parfait en physique quantique, mais intuitivement je pense que le hasard en physique quantique est comme d'habitude le reflet de notre incompréhension du monde . |
Encore un qui n'a pas suivi le topic et qui débarque avec ses gros sabots en racontant n'importe quoi
Bravo
Marsh Posté le 19-05-2005 à 13:57:40
<HS mode='on'>
J'ai fait un peu de maths, un peu de physique quantique, mais pas suffisamment pour m'exprimer avec applomb sur ce sujet, néanmoins, je suis plutôt d'accord avec philzzz intuitivement... Le hasard ne serait-il pas un moyen facile pour expliquer ce que nous ne comprenons pas encore ?
</HS>
Marsh Posté le 19-05-2005 à 15:30:04
Réponse : NON
Se référer à l'expérience d'Alain Aspect
-- Fin du HS
Marsh Posté le 19-05-2005 à 16:16:01
De toute manière pour les questions dans ce genre on peut pas répondre avec certitude.
Marsh Posté le 19-05-2005 à 16:19:07
De toute façon, moi j'avais dit ça au hasard... pour voir...
Et puis t'es gentil, mais l'expérience d'Alain Aspect n'est pas accessible au commun des mortels...
cf cette relation de méca quantique utilisée pour expliquer son expérience :
Donc bon... intuitivement je reste persuadé que le hasard n'existe pas ;-)
Marsh Posté le 11-05-2005 à 08:24:40
Avez vous une solution pr programme le hasard ? Enfin pas le vrai hasard car c'est pas possible mais une forme d'algorithme qui peut reproduire cela.
Imaginons que j'ai un tableau de INT :
1
2
3
4
Comment sortir un chiffreau hasard à chaque fois ?
Merci