Dans le cadre de la pré ébauche de pré réalisation d’éventuels prototypes embryonnaires (oui ca fait loin ),existe t’il le logiciel suivant:
On créé un paquet de carte,et sa composition.
Disons que les cartes sont des valeurs,mais pas forcement.
Le logiciel nous fait des tirages de mains possibles,et la somme des valeurs dans chaque main.Histoire d’avoir une moyenne des valeurs supposés que l’on peut avoir en main sur X tirages.
Bon je me dit que je pourrais en fouillant des
formules et en me retroussant les manches bosser sur un programme de ce genre,mais c’est loin tout ça (et puis faut choisir une bonne formule random avec un germe pertinent pour avoir des tirages a peu près "hasardeux)…et cela doit se trouver quelque part non?
C’est entre autre histoire de savoir comment composer un deck de cartes spéciales,car c’est pas évident a bout de nez,faire les tirages a la main,et remodifier a chaque fois…comment dire
arbre2vie dit:A priori tu peux faire ça sous excel
http://www.excel-pratique.com/fr/fonctions/alea.php
ca c'est une fonction aléatoire,celle d'excel.Je sais même pas si elle est très pertinente d'ailleurs.
Mais cela va pas me donner une liste disons de 100 mains tirées dans un deck que j'ai établi.

Tu as combien de cartes dans ton deck ?
Si tu as 55 cartes par exemple, je pense que cela doit pas être compliqué de faire un programme qui va générer toutes les mains (5554535251) donc 417451320 mains et faire une moyenne de toutes ces mains.
Sinon créer un programme pour créer un deck de X cartes avec pour chaque carte une valeur numérique. Puis faire une fonction pour tirer une main de X cartes et avoir le résultat. Ce ne doit pas être compliqué.
Si tu veux je peux essayer de te développer cela, MP moi si besoin.
Avec R c’est facile (mais pas très convivial) :
> deck = c(“carte 1”, "carte 2 ", rep(“carte 3”,4), rep(“carte 4”,4) )
> deck
[1] “carte 1” "carte 2 " “carte 3” “carte 3” “carte 3” “carte 3” “carte 4” “carte 4” “carte 4”
[10] “carte 4”
> sample(deck,3)
[1] “carte 4” “carte 3” “carte 4”
> for( i in 1:10) print(sample(deck,3))
[1] “carte 4” “carte 4” “carte 4”
[1] “carte 3” “carte 4” “carte 3”
[1] “carte 1” "carte 2 " “carte 3”
[1] “carte 3” “carte 3” “carte 1”
[1] “carte 3” “carte 4” “carte 4”
[1] “carte 4” “carte 3” “carte 4”
[1] “carte 3” “carte 3” “carte 3”
[1] “carte 3” “carte 4” “carte 1”
[1] “carte 3” “carte 1” "carte 2 "
[1] “carte 1” “carte 3” “carte 4”
Pour le généraleur aléatoire c’est un inverse Merse twister initialisé avec le temps courant. C’est un excellent générateur pseudo-aléatoire.
C’est quoi ton “R” ?
sinon pour le generateur aléatoire,tiens je croyais me souvenir (mais bon ca date) que partir d’une donnée telle que le temps courant n’était pas super pertinent pour générer l’aléatoire,mais peut être me trompe je.
Enfin peu importe.
Euh ouais donc oui c’est un truc comme ton code (je ne sais pas en quoi tu l’as fait par contre…du coup je pige pas toute la syntaxe) auquel je pensais,mais en un peu moins roots.
Je suis supris qu’il n’existe pas de logiciel le faisant déjà en fait.
Il y a sans doute des trucs sur le poker,mais le deck n’est pas modifiable.
R c’est ca : http://www.r-project.org/
C’est sur que c’est roots, mais tu peux faire plein de trucs avec y compris divers graphiques et tests statistiques avancés.
Pour de l’aléatoire, partir du temps courant peut poser des soucis mais c’est pour les applications “sécurisés” ou bien sur des truc de recherche avancés.
Pour ce genre de tâche, j’utilise excel :
- en haut, je prépare mes variables (celle que je veux modifier pour tester) - Ex : chaque valeur possible ; nombre d’item ayant cette valeur
- ensuite, à partir de ces variables, je crée sur 1 ligne 1 main aléatoire (un petit random sur les valeurs initiales).
- un bon copier coller sur les 1000 lignes suivantes histoire de générer 1000 mains aléatoires
- enfin, en haut, je rajoute quelques lignes sur lesquelles je colle mes stats (valeur moyenne des mains ; nombre de main sans X ; nombre de mains avec des doubles…)
Ensuite, tu bidouilles tes données initiales jusqu’à trouver quelque chose qui te plaise…
Parfaitement d’accord avec toi, lynkowsky. Sauf que comme il s’agit d’un tirage de cartes pour former une main. Il faudra gérer et écarter les possibilités de doublons dans les tirages aléatoires issus du paquet initial. Cela complique donc un peu les formules à élaborer dans excel.
Ben oui…c’est pour ça qu’un p’tit programme existant cela serait bien.
Pour Crapules, après des heures perdues à faire des calculs compliqués (trop pour moi) après avoir contacté plein de personnes, dont plusieurs profs de fac dont certains de très haut niveau, j’ai fait un truc tout con …
J’ai fait des tirages de cartes. J’en ai fait plus de 1500. Ce qui soit dit en passant ne sert à rien car dès 300 j’étais dans les bons chiffres en gros.
Puis j’ai reçus les résultats de calculs, et seul un docteur en mathématique avait fait les bons calculs (c’est fou ce que ça peut être compliquer les probas et les stats).
Mais bon, maintenant je fais mes 500 tirages aléatoires quand j’ai besoin et ça me prend moins de temps que de faire des calculs, les refaire car je change la compo de mon degk et tout et tout.
Zous, le cancre qui fait avec ses mains ce qu’il ne sait pas faire avec sa tête.
Hadoken, je dispose d’Excel en allemand, et ne sais donc pas si mes formules seront “lisibles” pour toi. Mais si tu veux un exemple de ma part, avec un paquet de 10 cartes et 2 tirages aléatoires de mains de 5 cartes, fais-moi connaître ton adresse email par mp. Il est évident que tu pourras allonger le nombre de tirages aléatoires possibles et / ou modéliser le tableau selon tes souhaits.
P.S. Je n’ai pas compliqué avec une formule particulière pour éviter les doublons mais le calcul de nombre aléatoire va à 16 chiffres après la virgule, ce qui te laissera une très grande marge.
Si vous tenez à faire des tirages sans remise en utilisant excel, le plus simple est sans doute d’utiliser la fonction RANDPERM pour générer un vecteur contenant autant d’éléments que le deck.
Cette formule ne me semble pas accessible sur Excel 2003. Dommage.
Zut je viens de vérifier, j’ai confondu avec un fonction matlab.
Sous excel, le plus simple est de créer une colonne avec une valeur ALEA(), puis une seconde qui contient la position avec RANG(postion_alea_1;range;1). Il existe un risque de collision (deux tirage de ALEA identiques, mais c’est avec une proba faible moins de 1/2^32 )
sample() en R fait le boulot directement… L’esprit est un peu le même qu’excel pour les trucs de base, simplement l’affichage n’a jamais lieu sans demande.
Oui, Jeremie ! Je me doutais que tu serais sur le coup. C’est comme ça que j’ai réglé le “problème” :
- colonne A pour des identifiants des cartes (1,2,…)
- colonne B pour les valeurs des cartes
- colonne C pour les nombres aléatoires (rsique de doublon très faible)
- colonne D pour rang
- colonne E pour index avec rendu des valeurs en colonne B selon la colonne A
Et pour une seconde main aléatoire, on répète les colonnes C à E. Mais apparemment, Hadoken ne semble pas intéressé. Tant pis…