bonjours, voila, j'aimerais faire un algo de randomisation qui donne un nombre aleatoire sans qu'on lui donne rien en entrée
ca fait bien 3 jours que je me creuse la tete et que je retourne le net sans succes ... quelqun a til une idée ?
bonjours, voila, j'aimerais faire un algo de randomisation qui donne un nombre aleatoire sans qu'on lui donne rien en entrée
ca fait bien 3 jours que je me creuse la tete et que je retourne le net sans succes ... quelqun a til une idée ?
Petite correction : c'est un nombre pseudo-aléatoire...
Question bête : que veux-tu dire par "sans rien lui donner en entrée" ? En général, une suite pseudo-aléatoire est calculée via une fonction très dispersée avec des tas de raffinements possibles comme des convergences, des divergences, etc... Bref, c'est déjà un problème à part entière, surtout mathématique d'ailleurs. Le problème, c'est qu'en général la suite de nombres générée est prévisible si l'on connaît la racine (le terme initial), et tu voudrais justement le fixer, c'est ça ? Ta fonction ne serait alors plus vraiment aléatoire, puisque prévisible...
Ou alors, il y a un truc qui m'échappe dans ta question... Pourrais-tu détailler stp ? Avec le besoin initial éventuellement ?
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
merci et escuze moi![]()
donc de je disais , je recherche a faire une fonction de generation de nombtre aléatoire, sans terme initial, sans rien du tout , l'algorithme doit etre tel qu'il ne necessite aucun argument et qu'il genere un nombre sans le moindre apport externe (il ne doit PAS se baser sur l'heure ,NI sur un nombre du dd mais rien du tout)
et la j'ai aucune idée , je trouve pas comment faire jaillir un terme du néant
merci pour toutes les reponses
Ca semble impossible car il te faut au moins un élément aléatoire pour initier la suite. (a moins d'utiliser rand())
En théorie de l'information, comme en thermodynamique :Ton nombre pseudo-aléatoire sera toujours le résultat d'une fonction, qui elle même aura reçu des informations en entrée.rien ne se perd, rien ne se crée
Dans les cas les plus simples, ces informations sont des variables non initialisées, qui vaudront zero, ou le contenu antérieur de la mémoire, etc.
Et sinon, classiquement, on utilise des éléments de mesure temporelle.
Et même comme ça, les nombres sont dits pseudo-aléatoires, car les mêmes conditions (valeurs) d'entrées vont créer les mêmes valeurs de sortie.
Le hasard est très difficile à créer, et d'autant plus ex-nihilo.
Et c'est bien agréable et nécessaire quand tu veux debuguer !Envoyé par 2Eurocents
Je partage l'avis de mes valeureux confrères: un ordinateur est déterministe, il te faut bien au moins te baser sur l'heure par exemple pour initialiser ta suite de pseudo-aléatoires!
Penser le contraire, c'est ne pas avoir compris le fonctionnement de base d'une bécane![]()
arg j'en etais sur merci pour vos reponses
donc je vais reformuler ce topic
comment faire un algo de generation de nombre pseudo aleatoire qui ne donne jamais 2 fois la meme suite de nombre ? (tout du moins sur 500 appels)
est surtout qui soit ultra rapide
parce que en fait avec le rand fourni dans le C, on retrouve tres tres souvent les memes suites de valeur
et c nul !
merci infiniment pour toutes vos reponses
fait un randomize time...![]()
Ou choppe sur le net un algo de type Mersenne Twister: ton cycle est de l'ordre de 2^19000...
Ce n'est pas parce que tu retrouves la même suite de nombre que ce n'est pas pseudo-aléatoire ! "Retrouver la même suite de nombre" a une probabilité calculable ...
Maintenant, rand est une fonction cyclique, donc ça finit par reboucler (tout a déja été expliqué ICI), donc il faut trouver d'autres implémentations, effectivement, si le cycle est trop court pour toi![]()
merci infiniment a tous, j'ai trouvé mon bonheur grace a vous
merci merci merci
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Partager