Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#351 Café mathématique » Matheu contre Matheu » 15-06-2016 12:45:49

Dlzlogic
Réponses : 32

Bonjour,

Ci dessous un sujet qui a provoqué de nombreux échanges entre spécialistes.

Le joueur A possédé deux dés à six faces, et le joueur B possède un dé à douze
faces. Le joueur qui fait le plus grand score remporte la mise (match nul si égalité).
Le jeu est-il équilibré ? On calculera la probabilité que A gagne et la probabilité
d’avoir un match nul.

Voici la question que je me pose : en matière de probabilité, n'est-on pas entrain de compliquer les choses inutilement, au point de ne plus savoir résoudre des problèmes simples ?
L'histoire des dés est un piège classique et on a déjà essayé de m'y prendre. En effet, on fait fréquemment un amalgame entre le nombre de points blancs marqués sur chaque face et la valeur correspondante à la face considérée, c'est à dire, on confond le numéro d'ordre, ou label, et la valeur obtenue. Pour preuve, j'ai posé un jour la question "si à la place du nombre de points il y avait un petit dessin, type chiffre en chinois ou dessin d'un animal, que se passerait-il [dans le cadre d'un cours de proba]" Réponse : "on ne pourrait rien faire".

Comment résoudriez-vous ce problème ? 
Bonne journée.

#352 Re : Café mathématique » Variable aléatoire at fonction rand() » 01-06-2016 13:09:54

Bonjour,
Je voudrais ajouter un point supplémentaire.

Les 10 valeurs d'Emq listées et comparées dans le message #170 correspondent au résultat de 10 jeux, donc, avec une moyenne de 1000.
Ci-dessous, le même calcul avec le résultat de 1 seul jeu, naturellement de premier ce chaque essais.
/* 10 simulations au niveau de 100
*/
10.14
9.57
8.80
9.15
9.54
10.30
9.09
9.62
8.75
9.79
FIN

Nombre de valeurs = 10  valeur minimale =8.75 valeur maximami=10.30
Rapport Emq/Ema = 1.18 Théorique = 1.25
Nombre = 10  Moyenne = 9.47  emq=0.53  ep=0.35

Classe 1  nb=   0  0.00%  théorique 0.35%     |
Classe 2  nb=   0  0.00%  théorique 2%     |
Classe 3  nb=   1  10.00%  théorique 7%     |HHHHHHHHHH
Classe 4  nb=   2  20.00%  théorique 16%     |HHHHHHHHHHHHHHHHHHHH
Classe 5  nb=   1  10.00%  théorique 25%     |HHHHHHHHHH
Classe 6  nb=   4  40.00%  théorique 25%     |HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 7  nb=   1  10.00%  théorique 16%     |HHHHHHHHHH
Classe 8  nb=   1  10.00%  théorique 7%     |HHHHHHHHHH
Classe 9  nb=   0  0.00%  théorique 2%     |
Classe 10 nb=   0  0.00%  théorique 0.35%     |

On remarque, et c'est ça qui me parait intéressant, que le résultat de comparaison des Emq obtenu avec 10 fois plus de tirages n'est pas vraiment meilleur. En l'occurrence les chiffres sont "moins bons", mais naturellement les "erreurs relatives" sont plus faibles.
L'intérêt de cette observation est que la valeurs moyenne, appelée aussi "espérance", est obtenue assez rapidement.
Ceci peut se traduire par le fait qu'il est préférable de faire 10 fois le même test et comparer les résultats qui faire 1 fois 10 fois plus de tirages et se contenter du résultat. Dans le cas de l'expérience présente, on connait la moyenne théorique, donc la seule valeur recherchée est la dispersion, dans le ces général, par exemple la méthode de Monte-Carlo, on ne connait pas la valeur recherchée, puisque c'est le but de l'opération, on l'obtiendra assez vite avec quelques dizaines de tirages, et une dizaine de test donnera une idée précise de la dispersion.

Les 10 essais auxquels j'ai fait référence dans ce message et dans le précédent sont dans ma machine et donc les résultats sont toujours utilisables pour d'autres vérifications.

#353 Re : Café mathématique » Variable aléatoire at fonction rand() » 31-05-2016 13:35:10

Concernant "somme" "nulle". c'est exactement à cela que je faisais allusion.
Je propose ce code.

int main()  // suivant 188
{
  srand (time (NULL)) ; // si on veut indexer la graine sur le temps machine
  int Res[100];
  for (int i=0; i<100; i++) Res[i]=0;
/* le proncipe est de faire 5 successifs, de cumuler les résultats
et à chaque étape calculer l'emq
*/
fprintf(espion,"\nTest de la fonction rand\n");
  for (int jeu=0; jeu < 10; jeu++)
  {
    for (int fois=0; fois<10000; fois++)
    {
// on lance 10000 fois un dé à 100 faces et
// on compte le nombre de fois de sortie de chaque face
      Res[rand()%100]++ ;
    }
    double Moy=100. + 100.*jeu;
    double Var=0;
    for (int j=0; j<100; j++)
    {
      double diff = Moy-Res[j];
      Var+=diff*diff;
    }
    double Emq=sqrt(Var/Moy);
    fprintf(espion,"Jeu=%d Moy=%0.2f Emq=%0.2f\n",jeu,Moy,Emq);
  }
//  for (int i=0; i<100; i++)
//    fprintf(espion,"%d\n",Res[i]) ;
//  system("pause");    //getch();
  return 0 ;
}
 

L'idée est la suivante : à partir d'une graine ne dépendant que de l'horloge interne, donc aléatoire, on suit le même schéma.
Dix jeux successifs. Chaque jeu réalise 10000 tirage d'un dé à 100 faces. Donc le résultat moyen pour chaque face est 10000/100 = 100.
Les résultats sont comptabilisés dans le tableau Res[100].
Donc la première "fois", la moyenne est 100, la deuxième 200 etc.
Après ces 10000 tirages, je calcule la variance, puis l'Emq, que j'imprime.
Pour un essai, on a donc l'évolution de l'Emq avec les moyenne de 100, 200, 300, ... 1000.
J'ai fait 10 essais, j'ai donc 10 emq pour une moyenne de 1000. La répartition est la suivante :
/* 10 simulations de 100 à 1000
*/
9.27
11.01
9.15
10.60
9.68
9.41
8.75
10.93
9.75
9.42
FIN

Nombre de valeurs = 10  valeur minimale =8.75 valeur maximami=11.01
Rapport Emq/Ema = 1.18 Théorique = 1.25
Nombre = 10  Moyenne = 9.80  emq=0.78  ep=0.52

Classe 1  nb=   0  0.00%  théorique 0.35%     |
Classe 2  nb=   0  0.00%  théorique 2%     |
Classe 3  nb=   1  10.00%  théorique 7%     |HHHHHHHHHH
Classe 4  nb=   2  20.00%  théorique 16%     |HHHHHHHHHHHHHHHHHHHH
Classe 5  nb=   4  40.00%  théorique 25%     |HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 6  nb=   0  0.00%  théorique 25%     |
Classe 7  nb=   1  10.00%  théorique 16%     |HHHHHHHHHH
Classe 8  nb=   2  20.00%  théorique 7%     |HHHHHHHHHHHHHHHHHHHH
Classe 9  nb=   0  0.00%  théorique 2%     |
Classe 10 nb=   0  0.00%  théorique 0.35%     |

#354 Re : Café mathématique » Variable aléatoire at fonction rand() » 31-05-2016 11:23:13

Bonjour Léon,
J'ai relu avec grand plaisir ce chapitre.
Si c'est le terme "somme" sur lequel tu t'attaches, alors je crois que nous sommes parfaitement d'accord. Il est précisé par ailleurs que les variables aléatoires sont telles que leur somme est nulle.
J'avais crains un moment que tu ne veuilles dire "en moyenne", comme je l'ai lu par ailleurs.

Revenons à notre question de base : quelle procédure et quel test pour vérifier la qualité d'un générateur pseudo-aléatoire ?
Moi, je propose 100 expériences de 10000 tirages d'un dé à 100 faces, tel que je l'ai proposé, et comparaison avec les résultats théorique de la loi normale, avec un échantillonnage en 10 classes comme j'ai l'habitude de le faire.

#355 Re : Café mathématique » Variable aléatoire at fonction rand() » 30-05-2016 22:26:10

@ Freddy, je suis prêt à toutes les lectures toutes les controverses.
Pour l'instant, on en est sur le livre du Pr Harthong.
Essayons de cerner la question. Peut-être qu'on se mettra d'accord. On verra ensuite si Lagrange avait raison ou pas.
Par ailleurs, tu ne m'as pas dit si tu avais lu mes papiers et fait la simulation que je t'ai proposée. Même Léon a fait les deux.
Bonne soirée.

PS. Je t'ai écrit par MP parce qu'il est inadmissible d'écrire à un membre comme tu l'as fait. Pour qui te prends-tu ?

#356 Re : Café mathématique » Variable aléatoire at fonction rand() » 30-05-2016 20:02:07

Bonsoir Léon,
Là, il est un peu tard, mais je te promets que demain, je le relirai très soigneusement.
J'ai relu le chapitre premier "Le hasard". Ca a été assez vite, puisque je l'avais déjà soigneusement lu et relu. Le sous-chapitre sur le trajet de la bille sur son tapis vert est un peu plus compliqué à suivre, d'autant que c'est un exemple que je ne connaissais pas avant de l'avoir lu il y a trois ans.
Si tu croises Freddy, explique lui qu'un individu de septante deux ans est de toute façon irrécupérable. Soit on accepte de faire avec et de discuter, histoire de faire avancer le schmilblick, soit on s'abstient des réflexions tout à fait désagréables et insultantes.

#357 Re : Café mathématique » Variable aléatoire at fonction rand() » 30-05-2016 13:10:09

Concernant le livre "Probabilités et statistique - John Hartong.zip" je l'ai téléchargé de 14/05/2013. Ce lien m'a été donné par un membre d'un forum, connu sous le nom de Nuage, à l'occasion de mon anniversaire. Léon était déjà très agressif il y a trois ans.
Une simple petite recherche sur Google donne de nombreuses références.

#358 Re : Café mathématique » Variable aléatoire at fonction rand() » 30-05-2016 11:07:07

Bonjour,
Ne serait-ce pas le N°32 de 1998 ? Mais je n'ai pas trouvé l'article voulu.
Par contre Jacques Harthong a publié sous le pseudo John Hartong un gros bouquin de titre "Probabilités et statistiques". Le chapitre premier a pour titre "Le Hasard", et il détaille le "paradoxe" de Bertrand. C'est très intéressant. Plus tard, j'ai appris son vrai nom et son poste à l'université de Strasbourg, mais respectons son choix d'avoir signé ce livre sous un pseudo.

J'ai fini par trouver.
http://www.univ-irem.fr/exemple/reperes … le_217.pdf
Mais j'avoue que je ne suis pas allé jusqu'au bout de la lecture. Je ne sais pas si cet article est destiné aux professeurs de philosophie, ou aux pédagogues, toute spécialité, pour meubler les périodes de vacance scolaire, en tout cas je ne l'ai pas terminé.
Par contre, si quelqu'un peut préciser le chapitre qui justifie l'expression très souvent employée "Quelle loi de hasard ?", ça m'intéresse.

J'ai tout de même relevé une erreur fondamentale : Synthèse 4, page 103. Il n'y a pas lieu de dissocier ou distinguer "probabilité" et "statistiques". A cette question, la réponse pourrait être "toute question de statistique pourrait faire l'objet d'un exercice d'un cours de probabilité". En d'autres termes, les statistiques sont une application des probabilités.

#359 Re : Café mathématique » Variable aléatoire at fonction rand() » 29-05-2016 22:12:09

[Petit aveu]
D'abord, je tiens à préciser que le message #153 n'a rien à voir avec le présent message, je suis habitué à la méthode, elle est désagréable, mais c'est comme ça.

Je n'ai pas l'habitude d'avouer mes incompréhensions et mes recherches, mais la construction de nombre à partir de bloc de comptage de pile ou face est l'occasion.

Dans mon cours, il est écrit "cette expérience a été faite bien souvent, sur des objets très différents [...].
Par exemple :
  [...]
  - les gains et les pertes à pile ou face. 
  etc...

Pendant des années, je me suis demandé comment, avec le jeu de pile ou face, on avait pu vérifier cela.
Il n'y a que quelques mois que j'ai eu cette idée de groupe de sorties pile ou face pour former un nombre, lequel pouvait servir à une vérification certaine de ce constat de répartition aléatoire (c'est à dire le TCL).
Pour les curieux, je peux naturellement faire un scan de le page. (D'ailleurs, je suis presque sûr de l'avoir déjà fait et diffusé.)
Je tiens à préciser que les notions dont je parle (répartition normale) constituent exactement le sujet de ce topic. 
[/Petit aveu]

#360 Re : Café mathématique » Variable aléatoire at fonction rand() » 29-05-2016 20:43:42

Oh, mais justement, l'expression "prendre un réel aléatoirement" est justement le sujet de cette discussion, et tu l'évites soigneusement. Te souviens-tu de la corde de Bertrand ?
Si tu te sens capable de décider de la loi de l'aléatoire à choisir pour conclure sur le résultat, alors t'es drôlement fort.
Que tu le veuilles ou non, il n'y a qu'un hasard, un seul aléatoire, et il ne dépend pas du matheux qui rédige l'exercice.

A propos de ta répartie concernant la loi de Cauchy, qu'on prenne tangente, arctg, 1/x, n'importe quoi à partir du moment on change la variable, le résultat est le même, on triche. En bon français, ça s'appelle prendre un argument fallacieux pour prouver qu'on a raison. En math, c'est très désagréable. Y'avait longtemps que je l'avais sur le coeur

#361 Re : Café mathématique » Variable aléatoire at fonction rand() » 29-05-2016 19:22:57

Bon, en C la distinction entre int et float est fondamentale.
rand() renvoie un int. rand()%2 renvoie mod(rand,2), c'est à dire le reste de la division de rand() par 2, autrement dit, 0 ou 1.
floor(float) arrondi par troncature du float et renvoie un float. int(float) renvoie un entier, cette fonction est à éviter, puisqu'on sait pas très bien ce qui se passe, sauf si on vient de relire la doc.
Il est bien évident que j'ai utilisé cette méthode lors d'échanges par mail avec Léon, pour essayer de lui expliquer le résultat d'un tirage aléatoire de nombres. Je pensais qu'il avait compris, puisqu'il a fait le test que j'ai copié, avec son autorisation, à la fin de mon papier. 

Bonne soirée.

#362 Re : Café mathématique » Variable aléatoire at fonction rand() » 29-05-2016 18:18:07

@ Yoshi,
Si je sors 4 nombres binaires, en prenant les puissances de 2 et en additionnant, on obtient un nombre entier entre 0 et 15. Le code que tu donnes avec l'utilisation de floor n'est pas le mien. Habituellement, si j'ai besoin d'entiers et que j'utilise des entiers. Voila mon code :

  for (int i=0; i<16000; i++)
  {
    int a=rand()%2;
    int b=rand()%2;
    int c=rand()%2;
    int d=rand()%2;
    int r=a*8 + b*4 + c*2 + d;
    Res[r]++;
  }  

(je viens de le copier à partir de mon papier http://www.dlzlogic.com/aides/TCL_Hasard.pdf cité un peu plus haut par Léon.

@ Freddy, bien sûr que la loi de Cauchy existe. Pour l'obtenir, on prend un réel aléatoire et on en prend sa tangente. Aurais-je dit le contraire ?
Si un générateur de nombres pseudo-aléatoires utilise une formule qui donne directement un nombre réel compris en 0 et 1, ça m'intéresserait de savoir comment.

#363 Re : Café mathématique » Variable aléatoire at fonction rand() » 29-05-2016 17:30:45

@ Freddy,
Les fonctions rand produisent généralement un entier entre 0 et RAND_MAX. Si on veut obtenir un réel entre 0 et 1, on fait (float)rand()/RAND_MAX. Si on veut un entier entre 0 et 15 on fait rand()%16 etc.
Si une fonction rand() produit un réel entre 0 et 1 directement, ça m'intéresserait de savoir comment.

#364 Re : Café mathématique » Variable aléatoire at fonction rand() » 29-05-2016 16:09:15

Pour le fun.
Cette longue liste de chiffres, résultat d'une opération quelconque, doit avoir une répartition des écarts à la moyenne conforme à la normale. Donc je l'ai testée. Bien-sûr, le nombre de chiffres est assez faibles, mais j'ai un autre liste, récupérée je ne sais où, qui donne des résultats plus spectaculaires   

 Nombre total 232
chiffre= 0  nombre = 27
chiffre= 1  nombre = 25
chiffre= 2  nombre = 20
chiffre= 3  nombre = 16
chiffre= 4  nombre = 24
chiffre= 5  nombre = 26
chiffre= 6  nombre = 27
chiffre= 7  nombre = 18
chiffre= 8  nombre = 30
chiffre= 9  nombre = 19
Répartition des chiffres 0 à 10
Nombre = 10  Moyenne = 23.20  emq=4.64  ep=3.09
Classe 1  nb=   0  0.00%      théorique 0.35%     |
Classe 2  nb=   0  0.00%      théorique    2%     |
Classe 3  nb=   1  10.00%      théorique    7%     |HHHHHHHHHH
Classe 4  nb=   3  30.00%      théorique   16%     |HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 5  nb=   0  0.00%      théorique   25%     |
Classe 6  nb=   3  30.00%      théorique   25%     |HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 7  nb=   2  20.00%      théorique   16%     |HHHHHHHHHHHHHHHHHHHH
Classe 8  nb=   1  10.00%      théorique    7%     |HHHHHHHHHH
Classe 9  nb=   0  0.00%      théorique    2%     |
Classe 10 nb=   0  0.00%      théorique 0.35%     |
Répartition des caractères en base 100
Nombre = 100  Moyenne = 1.16  emq=1.03  ep=0.69
Classe 1  nb=   0  0.00%      théorique 0.35%     |
Classe 2  nb=   0  0.00%      théorique    2%     |
Classe 3  nb=   0  0.00%      théorique    7%     |
Classe 4  nb=  33  33.00%      théorique   16%     |HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 5  nb=  30  30.00%      théorique   25%     |HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 6  nb=   0  0.00%      théorique   25%     |
Classe 7  nb=  26  26.00%      théorique   16%     |HHHHHHHHHHHHHHHHHHHHHHHHHH
Classe 8  nb=  10  10.00%      théorique    7%     |HHHHHHHHHH
Classe 9  nb=   0  0.00%      théorique    2%     |
Classe 10 nb=   1  1.00%      théorique 0.35%     |H
 

[HS] Loin de moi l'idée de critiquer un langage où un autre. Chacun choisi la marque de son stylo pour écrire. Le plus important est naturellement ce qu'on écrit. [/HS]

#365 Re : Café mathématique » Variable aléatoire at fonction rand() » 29-05-2016 12:48:47

Bonjour Freddy,
Je ne relève pas tes affirmations gratuites. Si tu as lu mes papiers http://www.dlzlogic.com et que tu as quelque chose à dire, je te répondrai volontiers.

Pour essayer de répondre à ta question "comment ont été fabriqués les nombres 0 à 15", je vais essayer de situer le fond du problème.
1- les probabilités reposent sur des lois et on en tire des résultats.
2- pour vérifier ces résultats sur un grand nombre, il n'y a pas d'autre moyen que faire des simulations
3- la méthode actuelle de simulation est l'utilisation de la fonction rand. Je passe les recherches et études de générateurs "parfaits", nécessaires à certaines activités critiques.
4- la contradiction est facile : c'est à cause du générateur !
5- pour éviter cet argument trop facile et passer outre le phénomène "générateur de chez untel", j'ai proposé une méthode de création de nombres aléatoires à partir d'une simulation de pile ou face. Relis les messages #15, #17, #19.
6- la discussion a dévié, on change de loi, on ne décrit pas le protocole etc. Apparemment et après confirmation, il s'agit de la technique moderne de faire des mathématiques.   
7- donc au lieu de discuter de la répartition des résultats de tirages aléatoires, on est revenu à la comparaison de tel ou tel générateur, sans accepter de fixer, au préalable, les règles du jeu.   

Pour mémoire, le nombre de tirages (100000 que tu proposes) n'est pas le plus important, ce qui est important, c'est l'examen des résultats. Léon a reçu beaucoup d'informations de la part de membres d'un autre forum. Je n'ai pas lu qu'il en ait tenu compte.

#366 Re : Entraide (supérieur) » Polynome » 28-05-2016 21:48:02

Petite précision linguistique indispensable : on appelle algorithme une suite logique d'actions, écrites dans un langage compréhensible par tout le monde, en l'occurrence en français, pour détailler un problème et arriver à sa solution.
Je suis sûr que si vous écrivez l'algorithme, vous n'aurez aucune difficulté à le traduire dans votre langage informatique préféré, apparemment le Python.

#367 Re : Entraide (supérieur) » Polynome » 28-05-2016 21:23:57

Bonsoir,
A mon avis, la première étape consiste à écrire l'algorithme.
Le code viendra ensuite, et cela dépend du langage.
Bon travail.

#368 Re : Café mathématique » Variable aléatoire at fonction rand() » 28-05-2016 13:38:10

Bonjour Yoshi,
J'ai relu soigneusement ton message d'hier.
Donc, je confirme que je n'ai pas compris le but. Soit il s'agit de montrer les avantages de Python, alors, pas de problème, chaque langage a ses avantages, si ce n'était pas le cas, il n'y aurait qu'un seul langage universel. C'est un peu comme les langues parlées et écrites.

Concernant le nombre de chiffres possibles dans les opérations arithmétiques, c'est un faux problème, pour plusieurs raisons. Si on veut ajouter des entiers entre-eux, on utilise une variable unsigned int (9 chiffres exacts). Si on doit faire une moyenne et que la somme des éléments risque de dépasser la capacité maximum, on fait, au fur et à mesure, une petite opération telle que la valeur actuelle soit toujours de l'ordre de la moyenne. Cette méthode est souvent utilisée pour calculer un centre de gravité.
Je crois savoir que cette utilisation des grands nombres a été provoquée par des préoccupations de cryptographie.     

Autre hypothèse sur le but de ton message, relancer la discussion sur les générateurs. Si c'est le cas, alors, il y a plusieurs points à préciser.
1- on ne peut pas juger un générateur sur le résultat de tirage de 2 valeurs. En l'occurrence x et y. On admet généralement qu'il en faut une trentaine. Habituellement j'en calcule 100.
2- le nombre de tirages n'a pas besoin d'être aussi énorme que 16000.
3- d'où vient le dénominateur 12 dans la formule, ainsi que les constantes 2.6 et 180 ?
4- Une caractéristique d'un caractère aléatoire est la répartition des écarts à la moyenne. Je n'ai pas vu cela dans le calcul. 

J'ai proposé dans mon message #86 un petit code pour vérifier efficacement la qualité d'un générateur. Il teste la répartition de 100 nombres.

#369 Re : Café mathématique » Variable aléatoire at fonction rand() » 28-05-2016 11:27:28

Bonjour,
Oui, c'est bien lui, mais il a signé le livre dont je parle de son pseudo. "Probabilités et statistiques". C'est moi qui ai fait allusion à l'intuition. Titre du Chapitre  : Le hasard avec une citation de Pierre-Simon Laplace qui les matheux actuels refusent : elle ne concerne que les probabilités à variables discrète (!) Bref, on n'arrête pas le progrès. 
Si je parle de toi en public, le vais te nommer par ton pseudo. Je pense que tu n'apprécierais pas que je t'appelle de ton vrai nom.
D'ailleurs, à mon avis, l'utilisation des pseudos fausse les relations
signé : Un Ami Qui Vous Veut Du Bien.

S'il te plait, revenons au sujet :
  tu veux comparer les qualités des générateurs (ordinaires) de nombres aléatoires, quels sont ces critères ?
Evite de parler de différentes lois à choisir suivant ce qu'on veut démontrer. Avant de nommer les critères commence par décrire le phénomène par le détail.

#370 Re : Café mathématique » Variable aléatoire at fonction rand() » 27-05-2016 23:39:48

Bon,
L'aléatoire est une notion parfaitement claire intuitivement. Le Pr John Hartong a écrit un livre très détaillé sur le sujet et a expliqué et justifié la notion mathématique. Il n'est pas question que je le résume ou que je le paraphrase. Pour faire simple, c'est un évènement imprévisible.
Quant au protocole, je l'ai expliqué et j'ai donne un petit programme qui correspond assez bien à une méthode simple.
Pour mémoire, si on propose un protocole il doit être accepté de chacun. Je t'ai dit ce que je pensais de tes scripts.
C'est marrant que tu dises "A toi l'honneur ..." N'aurais-tu pas lu ce que j'ai écrit ?

#371 Re : Café mathématique » Variable aléatoire at fonction rand() » 27-05-2016 22:35:44

Léon, je te rappelle que le sujet de ce fil est la vérification de la fiabilité de générateurs de nombres aléatoires. J’exclue les cas sensibles du type jeu d'argent, cryptographie etc.
D'abord il faut définir ce qu'est un nombre aléatoire. Je compte sur toi pour le faire.
Ensuite, il faut définir un protocole pour estimer la qualité de tel ou tel générateur et éventuellement les classer.
Ces deux phrases me paraissent être des méthodes mathématiques normales, peut-être révolues, mais nécessaires si tu veux continuer la discussion.

#372 Re : Café mathématique » Variable aléatoire at fonction rand() » 27-05-2016 22:08:13

Bonsoir Léon,
Décidément tu changeras pas. A ton age, c'est dommage de ne pas être capable de se remettre en cause, de poser tes certitudes sur la table, voir les relations entre elles etc. Que puis-je dire de plus ?
Tu sais, en ce qui me concerne, j'ai fait mes preuves. Et toi ?, tu as construit quelque-chose ? montré ce que tu savais faire ? A lire tes réactions, j'ai vraiment des doutes.
Tu sais un petit détail simple, il y a deux jours la loi était binomiale, aujourd'hui, elle est uniforme. Qu'est-ce qui a changé ? Ton humeur ? Des nombres qui t'arrangent plus ?
J'ai cru comprendre que c'était ça mes maths modernes. BRAVO.

#373 Re : Café mathématique » Variable aléatoire at fonction rand() » 27-05-2016 21:16:50

Bonsoir Yoshi,
Tes questions m'étonnent, mais je suis prêt à toutes les expériences.
D'abord, en C les variables dans N sont limitées à 2^32. donc, pas possible de produire des nombres à 200 chiffres. Par contre, je sais qu'il existe des bibliothèques qui le permettent, c'est une bonne occasion d'aller voir cela.
Cependant, si c'est un concours avec Python, là je ne vois pas vraiment l'intérêt.
Mon truc, c'est plutôt la CAD/DAO, mais je suis prêt à me diversifier.
Pour moi (ie d'après mes lectures), le Python est une alternative au Basic de mes jeunes années.
Ceci étant dit, je suis prêt à toutes les expériences. Dès demain, je me renseigne sur les grands nombres.
Bonne soirée.

PS. dès les premières lignes, il y a un truc que je ne comprends pas
m=(face-1)/2 # esperance de rand()%face
v=(face*face-1)/12 # variance de rand()%face
w=(face*face-4)*(face*face-1)/180 # variance de variance de rand()%face

1- l'espérance, c'est la moyenne. Voir postulat de la moyenne. Cette notion est acquise comme une évidence, mais sa démonstration demande plusieurs pages.
2- la variance de rand()%face ne peut certainement pas être une valeur connue : la variance se calcule à partit de valeurs observées.
3- variance de la variance, ça me rappelle ce que disait Lapalice "si une erreur était connue ce ne serait plus une erreur" (authentique).
Je veux bien faire tous les tests et essais que tu voudras, sauf si c'est pour rentrer dans le cycle élucubratoire de Léon. Sur un autre site http://forums.futura-sciences.com/mathe … oires.html à mon avis il a eu les bonnes réponses.
Pour être plus précis, il n'a pas compris ce que dit le TCL.
Donc, dans l'état, ton script ne représente pas grand-chose.

Je crois utile de préciser mes affirmations.
1- la notion d'écart-type n'a de justification mathématique que dans le cas de la loi normale.
2- on peut toujours calculer une erreur moyenne quadratique pour n'importe quelle loi, mais cela ne mérite le qualificatif d'écart type. Pour être plus précis, si j'appelle "écart probable" 2/3 de l'écart-type, alors, la moitié des résultats ont une différence à la moyenne égale ou inférieure à 1 ep, (25% + 16%)x2 inférieure à 2.ep etc. Ca c'est des mathématiques, pas la recopie de formules non comprises.
3- le résultat d'un générateur de nombres aléatoires doit être conforme à la loi normale. C'est comme ça.

#374 Re : Café mathématique » Variable aléatoire at fonction rand() » 26-05-2016 20:05:37

L'histoire du float n'était qu'un détail technique.
Ici, c'est un forum de math. alors, ta remarque soigneusement mise entre parenthèse : "(C'est possible qu'elle soit différente, si elle se réfère à une loi différente.)" est de la politique, soit du mysticisme, soit une tentative d'intimidation, mais certainement pas des Maths.

#375 Re : Café mathématique » Variable aléatoire at fonction rand() » 26-05-2016 18:56:44

Léon a écrit :

Encore un motif de suspecter gravement ce sacré DevC++

Je ne peux pas lire cela sans réagir
1- l'opération consiste à cumuler 16000 fois un nombre de moyenne 50. On dépasse la précision d'un float qui est de 7 chiffres significatifs.
2- l'écart-type se calcule avec les valeurs observées. Il n'y a pas à ma connaissance de formule théorique de valeur d'écart type. A moins que le 1/12 soit en relation, au signe près, avec la somme des nombres entiers ???
3- l'opération est faite avec 2 variables (x et y). On ne peut donc pas apprécier la dispersion.
4- la "co-variance nulle" n'est qu'une motion mathématique abstraite. Cette valeur, étant le rapport de deux variables réelles, elle ne peut être nulle que sur le papier.
5- il y a deux jours, ta formule de la variance était différente. Que s'est-il passé ?

Pied de page des forums