|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Bonjour, voilà en faitje dois faire une étude statistique sur le jeudu verger
je rappelle le principe du jeu : -4 arbres avec des 10 fruits -corbeaux -enfant quand l enfant lance le dé : au 6, le corbeau marque un point au 5, l enfant ramasse deux fruits (voir deux identiques) entre 1 et 4 l enfant recupere un fruit d un des arbres le jeu se termine quand les enfants on tous les fruits =40, ou quand le corbeau marque 9 points je dois tester sous l hypothese 1 que l enfant quand il fait 5 recupere les fruits dont il reste le plus. Ma question est de savoir comment intégrer un dé? J'utilise une fonction random? enfin si quelqu 'un avait des idées car je ne vois pas comment établir la structrure du programme merci |
|
|
00
|
|
|
#2 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Dans tes règles, tu ne dis pas si l'enfant et le corbeau lancent le dé à tour de rôle.
Pour le jeu, j'ai ça mais pour les stats, tu devras comptabiliser les valeurs des lancés de dé dans une feuille de calculs et réaliser soit un semi de point, soit une courbe de gauss. Reste à savoir le but de l'exercice : Réaliser le lancé du dé et gérer les arbres ou faire des stats. Pour Randomize et pour le principe, voilà toujours Code :
A+ |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Tout d'abord merci,
Non en fait le corbeau ne joue pas, c'est quand les enfants font un 6 qu'ils marquent des points Bien en fait le but est d'évaluer la meilleure stratégie pour les enfants selon des hypothèses quand le dé=5 : -prendre deux fruits identiques dans l'arbre ayant le moins de fruit -prendre deux fruits identiques dans l'arbre ayant le max de fruit Quand tu dis que tu as ça? tu parles du code? Pour la partie statistique, il s'agit d'évaluer le pourcentage de victoire dans chaque stratégie, mais aussi de déterminer à partir un IC pour un risque de 5%.. merci de ton aide.. retiens moi au courant.. |
|
|
00
|
|
|
#4 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Ok. Donc, l'intéressant sont les stats. Alors je peux te refiler mon code (pas optimisé mais bon... Qu'importe le flacon...
Code :
Tu ne manques pas de nous tenir au courant |
||
|
|
00
|
|
|
#5 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Bon, je te dois bien deux indices quant à la méthode...
De 1 à 4, je fais une razzia sur le premier arbre, puis sur le second, puis... etc. Pour 5, je pars du pommier 4 en sens inverse. S'il est vide, je passe sur le 3... etc. Mais comme il peut ne me rester qu'une pomme sur le dernier arbre où il en reste, et que je veux en enlever deux, je passe mon tour jusqu'à ce qu'un 1 à 4 sorte. Tu en es où ? |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Ok merci je vois comment tu fonctionnes...
Bien le plus interessant pour moi est d ajouter une case de simulation qui fera tourner le programme en boucle afin d'avluer les différentes hypothèses.. Cependant, pour le 5 tu as mis dans le code l'hypothèse 1 si je ne m'abuse? |
|
|
00
|
|
|
#7 | |||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
Code :
A+ |
|||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
donc si je veux effectuer les différentes hypothèese je peux tout simplement faire deux fois ce code en modifiant juste les conditions?
Pour effetuer une simulation il suffit que je modifie la boucle? par exemple for i=1 to n next i avec un imput pour le n demadant le nbre de simulation |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Hum.. je voulais avoir un autre petit renseignement..
Bien en fait je regardais le code, et je voulais savoir si il était possible de lui empecher de nous faire cliquer toute le temps sur lancer le dé, et de récupérer les résultats afin que je puisse effectuer des simulations? |
|
|
00
|
|
|
#10 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
Je l'ai juste ajouté pour le fun |
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
ok un peu bête ma question j'ai vu après...
J'ai inséré une boucle while afin de simuler selon le nombre d'essai que l'on veut.. J'aimerais inséré à la fin un msg box comme tu as fait mais qui donne le pourcentage de victoire des enfants J'ai pour cela insérer une variable qui rajoute 1 quand le enfant>corbeau, mais le probleme c'est qu elle ne s'ajoute pas (pas facvile pour simuler :p ) |
|
|
00
|
|
|
#12 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Je ne suis pas sûr d'avoir compris ta question.
Si tu veux ajouter 1 à Hyp1, tu dois l'ajouter... à Hyp1. Et si tu veux compter le nombre de Hyp1, tu ne dois pas remettre Hyp1 à 0 quand c'est le corbeau qui gagne. Enfin, enfant est forcément > à corbeau à moins que corbeau gagne 9 fois pendant qu'enfant ne gagne même pas 9... J'essaie de mettre ce que j'ai compris. Je déduis que tu as mis une boucle sur l'ensemble de la boucle d'origine... Code :
A+ |
||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Je voulais juste savoir une précision
En fait je dispose de plusieurs hypothèses comme je l'avais precedemment expliquée et le but de la manoeuvre est de voir quelle hypothèese est la meilleure (pourcentage de victoire) H1 : l'enfant qui fait 5 choisit les deux fruits dont il reste le plus H2: l'enfant qui fait 5 choisit les deux fruits au hasard H3:l'enfant qui fait 5 choisit les deux fruits dont il reste le moins Cependant quand j'ai regardé le code, je voudrais savoir ou implémenter ces hypothèses. En effet, quand l'enfant fait de 1 à 4 il enlève un fruit sur l arbre correspondant à condition qu'il en reste, sinon c'est l'enfant suivant qui joue. Or est ce que dans le code, il ne prend pas sur l'arbre qui en a le moins directement? |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Oui désolé je m'exprime mal
Bien en fait malgrès mon explication pas très compréhensible, tu as vu juste, je voulais compter sur par exemple 10 lancers le nombre de victoire des enfants sur le corbeau afin d'établir des probabilités sur la victoire. Donc voilà, j'ai précisé dans le poste au dessus les différentes hypothèses... |
|
|
00
|
|
|
#15 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
Je m'explique : Le nombre de chances que l'enfant sorte un 5 est statistiquement inférieur au nbre de chances de sortir l'une des 4 autres valeurs. Comme avec 5, tu dois ôter 2, il est préférable de les enlever sur l'arbre auquel il reste le plus de cerises. En commençant par le premier arbre pour enlever 1, je laisse toutes les chances aux deux cerises de pouvoir être ramassées sur le dernier arbre, puis éventuellement sur le précédent. Par contre, ce n'est pas de chance si le dernier jeté de dé = 5, tombe sur un arbre dont il ne reste qu'une cerise... mais ce n'est pas nul. Pour changer d'hypothèse, au lieu de choisir l'arbre, tu dois le faire au hasard en mettant un rnd sur le N° de l'arbre pour le ramassage et compter pour chaque série le nombre de jets de dé. Je te laisse faire, c'est férié... A+ Citation:
|
||
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Ok merci j'y vois plus clair...
Juste une dernière question concernant le fait que lorsque je simule par exmple 100 lancers, la case ou devrait s'afficher le nbre de victoire des enfants est en général très très faible (1 ou2)... N'ai je pas mis une erreur dans le code? Merci en tt cas pour le dérangement occasionné |
|
|
00
|
|
|
#17 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Je te donne déjà une piste
Code :
A+ Nouvelle correction : ici "ok = ok and NoDeLarbre(n) <> NoArbre" |
||
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Bien j'ai travaillé sur une patie de mon code mais j'ai quelques problèmes concernant les différentes hypothèses...
Voici ce que j'ai mis dans le cas H (on prend au hasard un arbre et on prend un fruit dans celui-ci, on reitère cette opération deux fois) Je voulais savoir si dans le cas du minimum (on prend deux fruits sur l'arbre ayant le moins de fruit il faut bien mettre caci? merci d'avance pour vos aides... |
|
|
00
|
|
|
#19 | ||||||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Je réponds à ta deuxième question
Code :
Par contre, dans ton premier code, je ne comprends pas : Qu'appelles-tu le cas H ? Ce que je comprends : Si l'enfant fait 5, il prend une cerise sur un arbre et une cerise sur le même arbre si l'arbre(j) > 1 ou une cerise sur un arbre pris au hasard et une cerise sur un autre arbre pris au hasard sans condition. Et si cet arbre est vide ? Que-se-passe-t-il ? Pour vérifier les résultats, fais-toi une boucle à la fin de ta sub (si ce n'est pas fait) Code :
Code :
Tu verras l'évolution de chacun de tes arbres. Tu dis A+ |
||||||
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 29 ![]() |
Bien dans le cas de l'hypothèse H (qui est H2 en fait à cause d 'une faute de frappe), quand l'enfant fait 5 il choisit aléatoirement un arbre (cerisier, pommier...) en retire le fruit, puis reeffectue l'opération identique.
dans le cas justement où il n'y a plus q'un fruit (j'allais y venir), le problème est que l'enfant passera alors de 39 à 41 (ce qui n'est pas bon si je veux compter le nbre de fuits restants).. Ma question concerne donc l'hypothèse H2, d'où mon code... Pour le cas du 39, dois je mettre un if ou la boucle me protège de cette erreur.. merci.. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com