Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ETUDE DE FONCTIONS ALÉATOIRES


Information sur la source

Catégorie :Maths Classé sous : aléatoire, hasard, simulation Niveau : Initié Date de création : 03/05/2006 Date de mise à jour : 08/05/2006 16:02:46 Vu / téléchargé: 7 399 / 965

Note :
7 / 10 - par 2 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce dossier contient un programme de 5 fonctions aléatoires différentes, un cours sur les fonctions aléatoires et une feuille d'analyse de ces 4 fonctions. Le but est de montrer plusieurs méthodes simulant le hasard, bonnes ou mauvaises et de les étudier pour dire si ce sont des fonctions facilement utilisables ou non.
 

Conclusion

Ce programme n'est pas fini, je compte le continuer en ajoutant d'autres fonctions en particulier le BBS et une autre fonction qui ne soit pas pseudo-aléatoire mais qui utilisera le mouvement du pointeur sur un certain intervalle de temps mais je n'ai pas encore commencé à y réfléchir et il me semble assez difficile.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Fonctions aléatoires

Télécharger le zip

Historique

04 mai 2006 19:12:27 :
j'ai corrigé la fonction Randu (Merci US) et j'ai analysé cette fonction, j'ai donc ajouté une feuille ecxel avex les valeures et un graphique et complété la feuille explicative.
08 mai 2006 16:02:46 :
Voilà le Mersenne Twister et son analyse sont disponibles Merci Gobillot.

Commentaires et avis

signaler à un administrateur
Commentaire de pekch le 03/05/2006 16:19:05

interressant tout ca!

signaler à un administrateur
Commentaire de lexsty le 04/05/2006 02:40:13

     Bonjour Julien39.

Un test simple des fonctions pseudo aléatoires : arriver par exemple à simuler la fréquence d'apparition des 6 numéros du Loto de la Française Des Jeux.
RND de Visual Basic(avec l'utilisation de randomize) arrive à simuler à peu près bien,la fréquence de sortie de 5 numéros et pas plus à cause de sa période qui n'est pas assez grande.

Mersenne Twister par contre est autrement plus performant que RND.
Mersenne à une période de (2^19937)-1 (C'est très très grand).

Si tu intègres la fonction Mersenne Twister dans ta source,
ça sera très interressant.
Pour des petits tirages de 200 nombres (Dans tes analyses), RND est plus que parfait.
C'est bien d'avoir joint des documents sur les fonctions aléatoires.
















signaler à un administrateur
Commentaire de us_30 le 04/05/2006 10:43:41

Salut julien,

Gros boulot de recherche !

J'ai tout de même quelques remarques, en passant. J'ai pas tout lu et tout regardé, mais bon... si plus tard, je me plonge dedans, je sais par où commencer...

=

Pour ton histoire de l'algo RANDU.

Premier point : le dépassement de capacité est dû déjà au type utilisé : LONG... Il faut des variables DOUBLE.

Deuxième point : L'utilisons de la fonction MOD, fonctionne que dans la plage des nombres en LONG. C'est à dire que tu peux l'utiliser avec des DOUBLE à la condition de ne pas dépasser la limite 2147483647 (limite du type LONG) qu'alors le type DOUBLE va au-delà.

Par conséquent, il faut réécrire la fonction MOD, avec des instructions compatibles avec le type DOUBLE, pour toutes sa plage. Cette fonction peut être programmée comme suit :

===

Function MOD2(ByVal D As Double, ByVal N As Double) As Double
'Renvoi le modulo de D et N pour des nombres jusqu'à Double
'contrairement à MOD d'Excel ou de VBA

'Converti en entier
D = Int(D): N = Int(N)
'Calcul du reste
MOD2 = D - N * Int(D / N)

End Function

===

Ensuite, je ne reprends pas ton algo, mais j'ai encore qlq petites remarques...

Tu utilises la variable "a", en type String. Or, ici on ne fait que du calcul ! Un choix de type numérique, me semble beaucoup plus logique. Car, là tu forces VB à faire une conversion Texte vers Nombre, donc le type de "a" est "Variant"... c'est pas terrible en terme de vitesse, et tu risques des erreurs à mal définir le type.

-

Les lignes :

If X0 And 1 = 0 Then
   MsgBox ("X0 doit être impair")
   Exit Function
End If

IL serait plus souple, dans le cas où X0 est pair de le transformer en impair, non ?

avec, par exemple :
If X0 And 1 = 0 Then X0 = X0 + 1

=

Ensuite, dans l'introduction du document Word (passe la correction automatique), tu écris : " ... je le prouve, de nombre 0,1495 est issu du hasard, je l’ai tapé sans réfléchir et par conséquent j’ai généré un nombre aléatoire."
Et là, je ne suis pas d'accord ! En effet, l'être humain n'est pas capable de bien simuler le hasard. C'est la raison pour laquelle on a une si mauvaise intuition à priori de la forme du hasard... IL est même intéressant d'étudier cette aspect, en étudier les biais. Récemment un petit article dans "Pour la Science" est sorti, montrant un certain nombre de biais que l'esprit humain utilise... mais bon, je n'arrête là.

Simuler du pur hasard n'est pas chose facile, d'autant que le champ de recherche peut vite devenir très grand.


Bravo tout de même pour ce gros travail !


Amicalement,
Us.

signaler à un administrateur
Commentaire de Julien39 le 04/05/2006 15:51:46

Us merci pour la fonction Randu je vais corriger sa le plus tôt possible mais pas tout de suite car l'étude est assez longue.

Par contre je n'aime pas tellement l'idée de transformer un nombre pair en nombre impair.

Pour la variable "a" en type String tu as 1000 fois raison.

Enfin je n'épilogue pas sur la remarque philosophique...



lexsty simuler la fréquence d'apparition des 6 numéros du Loto revient à étudier la densité dans un cas particulier et j'ai fait 2 fois cette étude une fois de facon peu rigoureuse mais pédagogiquement interressante, avec le graphique et une fois avec le test de khi² qui est une étude de l'ecartr à la fréquence type.

signaler à un administrateur
Commentaire de Warning le 06/05/2006 03:27:31 administrateur CS

Salut! Félicitation ce travail est très interessant.

signaler à un administrateur
Commentaire de Gobillot le 08/05/2006 21:31:02

qu'est ce que je raconte !!!
je dis des bêtises
excuses moi je lis à l'envers

ignore le message précedent, sauf le bravo.

signaler à un administrateur
Commentaire de Julien39 le 08/05/2006 21:33:12

J'étais entrain d'écrire que je ne voyais pas ce que tu voulais dire, maintnenant je comprend miex...
Merci pour tes encouragements et pour Mersenne Twister

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Recherche aléatoire [ par Domino ] Dans un but de contrôle (auditeurs) on me demande de sélectionner (afficher dans un grid ou charger dans un recordset), 3 records provenant d'une tabl attribuer un identifiant aléatoire calculé avec des chiffre et des lettres [ par yobogs ] Bonjour,quelqu'un aurait il un script me permettant de calculer un identifiantaléatoire et verifier dans la base de donnée s'il n'existe pas.Je ne veu nombre aléatoire [ par inconnu24 ] je veux créer des nombres aléatoires de 12 digits qui sont stocké dans une base de donné. chaque fois que je fais la création, il faut vérifier qu'un comment créer un tableau... [ par mike ] Voilà en fait je voudrais créer un tableau dans lequel une valeur tirée au hasard ne revienne plus ensuite! Par exemple si je fais un programme de lot Vraiment aléatoire ? [ par Niaphron ] Bonjour, je voudrais savoir quand un on à 2 ordianteurs qui tire un nombre aléatoire à la mm heure, mm minute et mm seconde, est-ce-que les 2 ordi tir Tirage aléatoire [ par commeunpic ] Je cherche un code htmlpour générer un tirage aléatoire d'un texte ou d'un fichier parmi une vingtaine de textes ou fichiers .Cela existe t'il par ici JEU DE SIMULATION [ par cumu ] NetTrader est un jeu qui vous permet de goûter aux joies et aux frayeurs de la Bourse mais sans le moindre risque. Achetez, revendez, gagnez ou perdez Simulation de F1(J'ai un problème) [ par Viacman ] Je suis en train de créé un simulateur de formule 1 mais j'ai un gros problème.Quand je simule, quelques pilotes arrivent à la même position. Exemple Simulation de train (pb sur la conception) [ par romain ] Voilà, j'aimerais faire une petite simulation ferroviaire.Je me heurte deja à un pb.Comment faire pour que lorsq'un train passe le feu passe au rouge Nombre aléatoire, réelement... [ par yobogs ] Bonjour, j'utilise cette fonction Int(2000 * Rnd + 1) pour génèrer un entier aléatoire entre 1 et 2000.Or je me rends compte que lorsque je lance mo


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.