Etude de fonctions aléatoires

Soyez le premier à donner votre avis sur cette source.

Vue 11 702 fois - Téléchargée 1 202 fois

Description

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.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
350
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
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
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.
Messages postés
516
Date d'inscription
samedi 3 février 2001
Statut
Modérateur
Dernière intervention
24 octobre 2006
1
Salut! Félicitation ce travail est très interessant.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
350
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.
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
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.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.