Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermée
#1 17-05-2016 12:42:35
- Cirdec
- Invité
variable aléatoire
Bonjour,
pour une simulation avec ALGOBOX, il me faudrait obtenir un nombre aléatoire entre 0 et 1.
Avec un tableur, je sais que c'est la formule =ALEA().
ALGOBOX propose RANDOM en précisant variable pseudo-aléatoire ?
Que signifie pseudo-aléatoire ?
Puis-je quand même prendre cette fonctionnalité ?
Merci beaucoup,
C.
#2 17-05-2016 13:10:32
- Dlzlogic
- Banni(e)
- Inscription : 25-04-2016
- Messages : 461
Re : variable aléatoire
Bonjour,
Les fonctions générant des "nombres aléatoires" avec l'informatique produisent toujours des nombres "pseudo-aléatoires" pour les deux raisons suivantes :
1- la machine commencera toujours par le même nombre
2- lorsque le cycle est terminé, elle recommence toujours au même endroit.
Concernant le point (1) il est généralement prévu une initialisation du générateur. Cette initialisation peut être faite à partir de l'horloge interne. Concernant le point (2) le cycle est généralement de 4 milliards, ce qui est très largement suffisant s'il ne s'agit pas de traitement sensible (jeu ou cryptographie).
Hors ligne
#3 18-05-2016 06:49:29
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : variable aléatoire
Salut,
4 milliards ??? Peux tu donner ta source, stp ? Merci.
Hors ligne
#4 18-05-2016 11:57:14
- Dlzlogic
- Banni(e)
- Inscription : 25-04-2016
- Messages : 461
Re : variable aléatoire
Bonjour Freddy,
La plupart des fonctions rand ont un cycle d'environ 2^32 soir 4 milliards. Je suppose que Wiki doit avoir un article sur le sujet.
Je sais bien que ce sujet de rand a fait couler beaucoup de bits. En plus il est très lié aux questions de probabilités, lequel sujet provoque des discussions interminables.
Si tu as un petit moment, fais le test suivant :
Simule un jet de pile ou face et groupe les résultats par 6 résultats successifs. Tu obtiens un nombre binaire de 0 à 63. Tu fais un assez grand nombre de tirages et tu comptes le nombre de 0, de 1, de 2 ... de 63. Pour chaque nombre, tu calcule l'écart à la moyenne. Si tu reporte ces résultats sur un graphique, par ordre croissant, qu'observes-tu ?
Hors ligne
#5 18-05-2016 12:36:16
- leon1789
- Membre
- Inscription : 27-08-2015
- Messages : 1 203
Re : variable aléatoire
En plus il est très lié aux questions de probabilités
Tu m'étonnes... une fonction rand qui est liée aux probabilités, étonnant :)
lequel sujet provoque des discussions interminables. Si tu as un petit moment, fais le test suivant :
Simule un jet de pile ou face et groupe les résultats par 6 résultats successifs. Tu obtiens un nombre binaire de 0 à 63. Tu fais un assez grand nombre de tirages et tu comptes le nombre de 0, de 1, de 2 ... de 63. Pour chaque nombre, tu calcule l'écart à la moyenne. Si tu reporte ces résultats sur un graphique, par ordre croissant, qu'observes-tu ?
Quel lien avec les questions posées par Cirdec : tu comptes faire voir comment faire en ALGOBOX avec la fonction RANDOM ?
Dernière modification par leon1789 (18-05-2016 12:44:37)
Hors ligne
#6 18-05-2016 16:04:57
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 401
Re : variable aléatoire
Bonjour,
Un lien explicatif : http://www.pimpmycode.fr/alea/13-php-ge … toire.html
Deux topos sur un générateur pseudoaléatoire, le Blum Blum Shub :
https://fr.wikipedia.org/wiki/Blum_Blum_Shub
https://crypto.junod.info/bbs.pdf
Si ta simulation est l'objet d'un exercice spécifique avec AlgoBox, ok.
Si AlgoBox est ton choix pour une simulation pointue dans un cadre non "scolaire", je te conseille vivement d'opter pour un autre langage :
avec AlgoBox, on se trouve très vite à l'étroit.
C'est un langage conçu pour une initiation : en Lycée, il est très utilisé.
@+
Une implémentation en Python
http://python.jpvweb.com/mesrecettespyt … enalea_bbs
Avec AlgoBox, la syntaxe est celle-ci :
ALGOBOX_ALEA_ENT(p,n) : renvoie un entier pseudo-aléatoire compris entre p et n.
Hors ligne
#7 18-05-2016 21:33:49
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : variable aléatoire
Bonjour Freddy,
La plupart des fonctions rand ont un cycle d'environ 2^32 soir 4 milliards. Je suppose que Wiki doit avoir un article sur le sujet.
Je sais bien que ce sujet de rand a fait couler beaucoup de bits. En plus il est très lié aux questions de probabilités, lequel sujet provoque des discussions interminables.
Si tu as un petit moment, fais le test suivant :
Simule un jet de pile ou face et groupe les résultats par 6 résultats successifs. Tu obtiens un nombre binaire de 0 à 63. Tu fais un assez grand nombre de tirages et tu comptes le nombre de 0, de 1, de 2 ... de 63. Pour chaque nombre, tu calcule l'écart à la moyenne. Si tu reporte ces résultats sur un graphique, par ordre croissant, qu'observes-tu ?
Salut,
ne me prends pas pour un débutant, stp. Il existe des mètres linéaires de tests pour vérifier que le générateur simule bien le hasard, ce n'est pas le sujet.
Donne moi simplement tes sources, car j'ai comme un gros doute sur ton cycle de 4 milliards pour tout simulateur commercial connu. Par exemple, alea() sur Excel boucle rapidement sur lui même, et même sur SAS, puissant outil statistique, ranuni(-1) résiste difficilement à des milliers de simulations.
Le seul"truc" solide à ma connaissance est le Mersenne's Twister, mais faut rentrer dans la bécane pour le programmer si j'ai bien compris.
Ça fait plus de 35 ans que je me pose des questions sur ces générateurs de nombres pseudo-aléatoires, alors ton affirmation me fait un tantinet tomber de l'armoire. Toutefois, si à l'aube d'un changement de dizaine, tu pouvais me démontrer que tu as raison, je serai alors rassuré pour les 25 prochaines années de vitalité intellectuelle que je me souhaite.
Hors ligne
#8 18-05-2016 22:02:20
- Dlzlogic
- Banni(e)
- Inscription : 25-04-2016
- Messages : 461
Re : variable aléatoire
@ freddy,
Le cycle de 2^32 je l'ai lu quelque parts et il n'est pas question que je cherche où.
La question est la suivante : pour des tests aléatoires, sans caractère critique les fonctions rand() conviennent-elles, la réponse est OUI, sans doute possible.
Par contre, pour des questions sensibles, je m'abstiens de répondre.
Bon, pour répondre plus précisément à ta question, les phénomènes de l'aléatoire répondent à des lois très précises, loi normale et loi des grand nombres. On peut lire des affirmation en référence à la mécanique quantique, ces lois ne sont pas vérifiées parce que les évènements ne sont pas observables. Ce sujet dépasse largement le cadre de ce topic.
Dans le cas présent de la question et dans 99% ds cas [des utillisations], la fonction rand() convient parfaitement. Je peux le prouver, mais essaye de prouver le contraire.
Hors ligne
#9 19-05-2016 07:17:42
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : variable aléatoire
@ freddy,
Le cycle de 2^32 je l'ai lu quelque parts et il n'est pas question que je cherche où. Bravo pour la rigueur de tes affirmations
La question est la suivante : pour des tests aléatoires, sans caractère critique les fonctions rand() conviennent-elles, la réponse est OUI, sans doute possible.
Par contre, pour des questions sensibles, je m'abstiens de répondre. Tiens donc ... on se demande bien pourquoi ?Bon, pour répondre plus précisément à ta question, les phénomènes de l'aléatoire répondent à des lois très précises, loi normale et loi des grand nombres (pas toujours, mon ami, pas toujours. Que penses tu de la loi de Cauchy par exemple ?). On peut lire des affirmation en référence à la mécanique quantique, ces lois ne sont pas vérifiées parce que les évènements ne sont pas observables. Ce sujet dépasse largement le cadre de ce topic. Pas du tout, bien au contraire.
Dans le cas présent de la question et dans 99% ds cas [des utillisations], la fonction rand() convient parfaitement. Je peux le prouver, mais essaye de prouver le contraire. T'es un marrant, toi ...
Dzl,
le problème est que je ne me contente pas de spéculer sur ce sujet, je suis un grand utilisateur de ces générateurs à titre professionnel, comme beaucoup d'autres, d'où mes interrogations. Et "avoir lu quelque part" n'est pas la preuve que je cherchais. Comme disait Euclide, "ce qui est affirmé sans preuve peut être nié sans preuve".
J'ai posé récemment la question à un universitaire parisien, grand spécialiste du calcul stochastique appliqué à ma discipline, et sa réponse me laisse sur ma faim, car il n'a jamais été confronté à des situations réelles dont les réponses engagent l'avenir d'une entreprise. La crise des Subprime en 2008 aux USA en est une cuisante réponse.
Bon, je vais m'arrêter là, je pense que tu cherches plus à t'occuper qu'à nous faire progresser.
Hors ligne
#10 19-05-2016 08:26:03
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 401
Re : variable aléatoire
RE,
Le cycle de 2^32 je l'ai lu quelque parts et il n'est pas question que je cherche où.
Je n'aime pas du tout...
Alors je vais te répondre à ta façon.
Donc, on dira que ce n'est qu'une rumeur sans fondement et il n'est pas question que je le prouve. Essaie de me montrer que j'ai tort.
La question est la suivante : pour des tests aléatoires, sans caractère critique les fonctions rand() conviennent-elles, la réponse est OUI, sans doute possible.
Là aussi, pas question que tu prouves ton affirmation ?
pour des tests aléatoires, sans caractère critique
Qu'entends-tu par " tests aléatoires sans caractère critique" ?
http://www.picsi.org/parcours_impression_52.html
http://www.commentcamarche.net/faq/7070 … -avec-rand
(...) Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes.(...)
http://www.alrj.org/docs/algo/random.php ici il est question de 2^32... et on n'y est pas tendre avec rand() et srand() notamment.
Enfin je remets des liens vers le générateur de Blum, Blum et Shub :
https://fr.wikipedia.org/wiki/Blum_Blum_Shub
https://crypto.junod.info/bbs.pdf
Et une implémentation en Python :
http://python.jpvweb.com/mesrecettespyt … enalea_bbs
Voilà, moi, j'ai mis les sources de mes lectures.
@+
Hors ligne
#11 19-05-2016 12:12:24
- Dlzlogic
- Banni(e)
- Inscription : 25-04-2016
- Messages : 461
Re : variable aléatoire
Bonjour,
Je vais essayer de répondre gentiment.
Les notions de probabilité, aléatoire etc. sont fondamentales dans ma profession. De plus, Je m'y suis particulièrement intéressé, depuis que je suis en retraite : on pouvait lire trop de bêtises.
Il y a quelques années, un membre un peu plus curieux que les autres a annoncé très clairement la couleur : "je te crois pas, où as-tu lu ça, je vais faire un test". Le lendemain, sa réponse "C'est vrai, je n'en reviens pas". Mais un autre membre est arrivé avec une fonction GenRand(). Ses auteurs, compétents comme tous les spécialistes de ces choses, ont réalisé leur application de façon à avoir TOUJOURS le bon résultat, cad strictement conforme à la répartition normale. J'ai toujours cette fonction dans ma machine, mais elle est introuvable sur le Net.
Pour répondre rapidement (mais je serai plus détaillé cet après-midi), j'ai fait des quantités de test de cette fonction rand() de mon compilateur C. Jamais eu de souci. Par contre, les test que j'ai faits avec des langages comme Scilab ont donné des anomalies.
Je répondrai plus en détail tout à l'heure point par point. Mais il me semble que cette discussion dépasse largement la question posée par Cirdec.
Hors ligne
#12 19-05-2016 12:53:22
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 401
Re : variable aléatoire
Re,
Mais il me semble que cette discussion dépasse largement la question posée par Cirdec.
Bien d'accord.
Ouvre une discussion comparative étayée des avantages et des défauts des générateurs pseudo-aléatoires...
Je vais essayer de répondre gentiment.
Je voudrais bien voir le contraire !!!
@+
Hors ligne
#13 19-05-2016 13:28:12
- Fred
- Administrateur
- Inscription : 26-09-2005
- Messages : 7 352
Re : variable aléatoire
Bonjour,
Deux documents presque accessible en Tale S qui répondent en partie aux questions posées dans ce fil :
* http://www.apprendre-en-ligne.net/random/alea.pdf
* http://www.univers-ti-nspire.fr/files/p … -TNS21.pdf
F.
Hors ligne
#14 19-05-2016 14:14:30
- leon1789
- Membre
- Inscription : 27-08-2015
- Messages : 1 203
Re : variable aléatoire
bonjour
Les notions de probabilité, aléatoire etc. sont fondamentales dans ma profession.
Je ne me souviens pas t'avoir vu calculé autre chose que des moyennes et des écarts. Mis à part les moyennes et les écart-types & co de séries statistiques, tu utilisais quelles autres notions de proba-stat ?
De plus, Je m'y suis particulièrement intéressé, depuis que je suis en retraite : on pouvait lire trop de bêtises.
On peut en lire, car depuis que tu es à la retraite, tu en écris des tonnes... par exemple, ce document que je n'avais pas encore vu http://www.dlzlogic.com/aides/Applicati … ormale.pdf , où tu "démontres" en 5 lignes, page 1, que la fonction de densité de la loi Gamma (du type x.exp(-x) sur [0,+oo[ ) est de la même forme que celle de la loi Normale (du type exp(-x²) sur ]-oo, +oo[ )... C'est énorme...
EDIT : j'ai lu trop vite ton document. Tu vois que les deux lois ne sont pas les mêmes... En fait, tu essaies de montrer que << L'énoncé de l'exercice n'a aucun rapport avec des notions de probabilité. >>, et de savoir << si l'affirmation "variable aléatoire" est justifiée ou non. >> . pfffff
Par contre, les test que j'ai faits avec des langages comme Scilab ont donné des anomalies.
C'est marrant car, quand j'ai voulu le vérifier avec toi (avec ton document http://www.dlzlogic.com/aides/TCL_Hasard.pdf où tu affirmes en bas de page 2 que la loi uniforme est identique à la loi normale, énorme également... ),
tu n'as pas retrouvé le code Scilab qui montrait une anomalie... Donc on n'a jamais pu voir ta grande découverte !
Allez, arrêtons le Hors Sujet prévisible depuis le message #4 ...
Dernière modification par leon1789 (19-05-2016 19:23:45)
Hors ligne
Pages : 1
Discussion fermée







