Problèmes de probabilités et statistiques

Pour développer idées, projets de jeux, univers, règles et scénarios
Avatar de l’utilisateur
Nolendur
Dieu matters
Messages : 2703
Inscription : mar. mai 20, 2008 3:51 pm
Localisation : Bordeaux
Contact :

Re: Anydice , Help ?

Message par Nolendur » mar. juin 13, 2017 3:02 pm

fredmicroblog a écrit :
mar. juin 13, 2017 2:42 pm
Tant pis. C'était une simple curiosité de ma part. Merci pour vos infos Nemesis et Nolendur.
Tiens, je t'ai fait quelques stats par la force brute (10000 progressions de la jauge jusqu'à 6) :

Nombre moyen de jets pour atteindre 6 = 13,7
Chances d'atteindre 6 en 5 jets = 1,5%
Chances d'atteindre 6 en 10 jets = 36%
Chances d'atteindre 6 en 15 jets = 69%
Chances d'atteindre 6 en 20 jets = 87%
Jauge finale moyenne après 5 jets = 4
Jauge finale moyenne après 10 jets = 5,2
Jauge finale moyenne après 15 jets = 5,7
Jauge finale moyenne après 20 jets = 5,9

Même chose avec 1d8 :

Nombre moyen de jets pour atteindre 8 = 20,7
Chances d'atteindre 8 en 5 jets = 0%
Chances d'atteindre 8 en 10 jets = 6%
Chances d'atteindre 8 en 15 jets = 30%
Chances d'atteindre 8 en 20 jets = 58%
Jauge finale moyenne après 5 jets = 4,4
Jauge finale moyenne après 10 jets = 6,2
Jauge finale moyenne après 15 jets = 7,1
Jauge finale moyenne après 20 jets = 7,5

A mon avis, le d8 n'est pas une bonne idée...
Pour ceux qui cherchent Minidonjon, c'est ici : jeux de rôle perso.
_________________
- [...] il s'passe des tas de trucs dont on est pas au parfum [...]
- Comme quoi, exactement ? répliqua Côlon. cite-moi un seul truc qui s'passe dont t'es pas au courant.
Terry Pratchett

Avatar de l’utilisateur
fredmicroblog
Profane
Messages : 30
Inscription : mer. juin 10, 2015 11:42 am
Contact :

Re: Anydice , Help ?

Message par fredmicroblog » mar. juin 13, 2017 3:27 pm

Nolendur a écrit :
mar. juin 13, 2017 3:02 pm
Tiens, je t'ai fait quelques stats par la force brute (10000 progressions de la jauge jusqu'à 6) :
Génial ! Merci beaucoup !
Je trouve qu'en tant que MJ, avec ces informations, on part un peu moins à l'aveugle dans un one-shot.

Avatar de l’utilisateur
lepropre
Dieu de l'hygiène
Messages : 5416
Inscription : mer. janv. 27, 2010 11:41 am

Re: Anydice , Help ?

Message par lepropre » mer. juin 14, 2017 9:49 am

Hop je vais utiliser Anydice pour la première fois et je voudrais savoir mes probabilités de faire en lançant des dés 6
--> Des doubles, triples,...
--> Double 1 ; triple 1 ;...

Quelqu'un peux m'expliquer comment paramétrer ces calculs ?

Avatar de l’utilisateur
Nolendur
Dieu matters
Messages : 2703
Inscription : mar. mai 20, 2008 3:51 pm
Localisation : Bordeaux
Contact :

Re: Anydice , Help ?

Message par Nolendur » mer. juin 14, 2017 11:56 am

lepropre a écrit :
mer. juin 14, 2017 9:49 am
--> Double 1 ; triple 1 ;...
Ça c'est le plus facile, y'a une fonction qui le fait.
Par exemple :
output [count 3 in 3d6]
te donne les chances d'obtenir "aucun 3", "un seul 3", "deux 3" et "trois 3"
donc notamment les chances pour un double-3 et un triple-3
lepropre a écrit :
mer. juin 14, 2017 9:49 am
--> Des doubles, triples,...
Ça c'est beaucoup plus difficile, essentiellement parce qu'il faut se battre avec les arcanes du langage d'Anydice, ce qui n'est pas une mince affaire.
Mais j'ai trouvé un gars qui a pondu une façon assez intelligente de traiter le problème :

Code : Tout sélectionner

function: unique values in S:s {
  U: {}
  loop N over S { if !(N = U) { U: {U, N} } }
  result: U
}
  
function: find PATTERN:s in ROLL:s {
  COUNTS: {}
  loop N over [unique values in ROLL] {
    COUNTS: {COUNTS, N = ROLL}
  }
  result: [sort PATTERN] = [sort COUNTS]
}
Après avoir tapé ces deux fonctions, tu peux les appeler comme ça :

Code : Tout sélectionner

output [find {3} in 3d6] named "chances pour un triple dans 3d6"
output [find {2, 1} in 3d6] named "chances pour un double + un simple dans 3d6"

output [find {4} in 4d6] named "quadruple"
output [find {3, 1} in 4d6] named "triple + simple"
output [find {2, 2} in 4d6] named "double + double différent"
output [find {2, 1, 1} in 4d6] named "double + simple + autre simple"
output [find {1, 1, 1, 1} in 4d6] named "que des résultats différents"
Donc si tu veux par exemple connaître les chance d'obtenir un triple ou mieux (quadruple et quintuple) en lançant 5d6, il faut faire la somme de tous les pourcentages pour le résultat "vrai" (c.-à-d. "1") après avoir saisi :

Code : Tout sélectionner

output [find {3, 1, 1} in 5d6]
output [find {3, 2} in 5d6]
output [find {4, 1} in 5d6]
output [find {5} in 5d6]
Pour ceux qui cherchent Minidonjon, c'est ici : jeux de rôle perso.
_________________
- [...] il s'passe des tas de trucs dont on est pas au parfum [...]
- Comme quoi, exactement ? répliqua Côlon. cite-moi un seul truc qui s'passe dont t'es pas au courant.
Terry Pratchett

Avatar de l’utilisateur
lepropre
Dieu de l'hygiène
Messages : 5416
Inscription : mer. janv. 27, 2010 11:41 am

Re: Anydice , Help ?

Message par lepropre » mer. juin 14, 2017 12:00 pm

Nickel merci beaucoup

Avatar de l’utilisateur
philippe_j
Dieu des salariens musicaux
Messages : 4242
Inscription : ven. janv. 27, 2006 8:44 pm
Localisation : Wuhan, Chine

Re: Anydice , Help ?

Message par philippe_j » jeu. juin 15, 2017 5:08 pm

Sinon pour un truc facile comme ça, tu peux aussi le faire à la main, hein.
Un triple sur 3d6, c'est 6 combinaisons possibles sur 216 totales (6^3). Donc 6/216 = 1/36 = 2.7%
Un double sur 3d6, c'est 6 combinaisons possibles, mais 5 possibilités pour le dé flottant. 6 * 5 / 216 = 5/36 = 13.8%

Pas exactement dur et ça t'évites de te faire du mal en allant essayer de comprendre Anydice :mrgreen:

bon après si tu veux creuser, on est d'accord que c'est cool d'avoir le travail déjà fait.
Éventuellement, cherche les stats pour ORE qui est basé sur l'obtention de multiples, donc y'a déjà qui auront fait du boulot là-dessus (c'était un point de curiosité sur ce système)
- Philippe -
Poe's Law : without a winking smiley or other blatant display of humor, it is impossible to create a parody of Fundamentalism that SOMEONE won't mistake for the real thing.

Avatar de l’utilisateur
Zeben
Dieu des hypoglycémistes
Messages : 7012
Inscription : jeu. sept. 06, 2007 5:10 pm
Localisation : Villeurbanne

Re: Anydice , Help ?

Message par Zeben » mer. juil. 19, 2017 8:15 am

Salut, j'ai besoin d'un expert Anydice.

Je voudrais reproduire les stats de Tales From The Loop : on lance une poignée de d6, les 6 sont des succès, je peux relancer une seule fois tous les dés qui ne sont pas des 6.

J'ai bricolé un truc pour voir ce que ça donne avec ou sans relance, pour une poignée qui va de 1 à 10d6, quelqu'un peut me dire si ce que j'ai fait est bon ?

http://anydice.com/program/c548

Code : Tout sélectionner

function: compte SUCCES:s in POIGNEE:s {
 TOTAL: 0
 loop X over {1..#SUCCES} {
  TOTAL: TOTAL + (X@SUCCES = POIGNEE)
 }
 if POIGNEE < 6 { result: TOTAL + [compte 6 in d6] }
 result: TOTAL
}

loop Y over {1..10} {
 loop Z over {1..2} {
  set "maximum function depth" to Z
  if Z = 1 { 
   output [compte 6 in Yd6] named "Résultat pour [Y]d6 sans relance"
  }
  if Z = 2 {
   output [compte 6 in Yd6] named "Résultat pour [Y]d6 avec relance"
  }
 }
}
Come get some !

Avatar de l’utilisateur
Zeben
Dieu des hypoglycémistes
Messages : 7012
Inscription : jeu. sept. 06, 2007 5:10 pm
Localisation : Villeurbanne

Re: Anydice , Help ?

Message par Zeben » ven. juil. 21, 2017 8:31 am

Personne ?
Come get some !

Avatar de l’utilisateur
philippe_j
Dieu des salariens musicaux
Messages : 4242
Inscription : ven. janv. 27, 2006 8:44 pm
Localisation : Wuhan, Chine

Re: Anydice , Help ?

Message par philippe_j » ven. juil. 21, 2017 10:22 am

Mmh, alors comme ça au vol, je peux te dire que tu te prends la tête pour une chose : pour les lancers où tu comptes le nombre de succès, où une valeur sur le dé est un succès, tu remplace tes dés par des dés virtuels.
Genre, si le 6 sur un d6 est un résultat, sur utilise des d{0:5,1}

Après faudrait faire un seul relancer, sur un résultat de 0.
En fait, ça revient au final à ce que chaque dé ait 25 chances sur 36 de ne pas te donner un bon résultat. Soit 11 sur 36 d'y arriver, non?

Donc tu lances X d{0:25,1:11} et c'est tout.

Quelqu'un pourrait-il me corriger, si nécessaire?

Le programme comparant les stats pour 6d6, une fois avec la relance, une fois sans. On voit bien une amélioration.
http://anydice.com/program/c5b5

A toi de tester pour un nombre de dés lancés variable.
- Philippe -
Poe's Law : without a winking smiley or other blatant display of humor, it is impossible to create a parody of Fundamentalism that SOMEONE won't mistake for the real thing.

Avatar de l’utilisateur
Zeben
Dieu des hypoglycémistes
Messages : 7012
Inscription : jeu. sept. 06, 2007 5:10 pm
Localisation : Villeurbanne

Re: Anydice , Help ?

Message par Zeben » ven. juil. 21, 2017 11:03 am

Damned, j'ai pas du tout les mêmes résultats... et j'ai pas tout compris ^^

Edit : ah, j'ai compris @philippe_j !

Par contre ya un truc qui cloche, ya pas 36 résultats possibles mais 31 :

1 => 1
1 => 2
1 => 3
1 => 4
1 => 5
1 => 6 => succès

2 => 1
2 => 2
2 => 3
2 => 4
2 => 5
2 => 6 => succès

3 => 1
3 => 2
3 => 3
3 => 4
3 => 5
3 => 6 => succès

4 => 1
4 => 2
4 => 3
4 => 4
4 => 5
4 => 6 => succès

5 => 1
5 => 2
5 => 3
5 => 4
5 => 5
5 => 6 => succès

6 => succès


31 résultats différents
6/31 de faire 1 succès
25/31 de pas faire de succès

Donc ça donnerait : output 6d{0:25,1:6} named "une relance", ce qui est proche de mes résultats mais pas tout à fait pareil !
Come get some !

Avatar de l’utilisateur
XO de Vorcen
Dieu du brandy
Messages : 4093
Inscription : ven. août 29, 2008 10:18 am
Localisation : Savigny sur Orge (Essonne)

Re: Anydice , Help ?

Message par XO de Vorcen » ven. juil. 21, 2017 11:39 am

Philippe "triche" : il ne vise pas à reproduire exactement la mécanique mais seulement un résultat strictement équivalent.

Sans relance : tu comptes 0 succès de 1 à 5, 1 succès à 6. Cela peut se traduire par un dé à 6 faces ayant 5 faces à 0 et 1 face à 1 soit dans anydice d{0:5,1:1}. J'ai forcé 1 face valant 1 mais comme c'est la valeur par défaut on peut abréger ainsi d{0:5,1}. Et ça se lit : {valeur1:nombre_de_faces, valeur2:nombre_de_faces, etc.}

Maintenant tu veux faire une unique relance. On peut donc partir dans de la programmation ou présenter différemment :
1d6 sera systématiquement lancé 2 fois. Il y a donc 36 combinaisons possibles. Imaginons un "d36".
Si on obtient un 6 au premier jet, c'est un succès quelque soit le second jet (dont on se dispense dans les faits) soit 6 "faces" à 1 succès / 36.
Les autres faces représentent les combinaisons de 1 à 5 puis 1 à 6, soit les 30 combinaisons restantes. Soit 5 "faces" à 1 succès supplémentaires donc 11/36. Reste 25 "faces" à 0 succès.
Ou on peut faire comme Philippe, compter directement ce qui ne donne pas de succès : il faut que le premier jet face de 1 à 5 (5/6) et idem pour le second (5/6) soit (5*5)/(6*6) soit 25/36 "faces" à 0 succès et par complément 11 "faces" à 1 succès.

Et on traduit ce dé spécial à 36 faces en d{0:25,1:11}

C'est strictement équivalent mais ça évite de programmer des boucles.
Savage Worlds : règles d'essai gratuites et scénarios gratuits, les gammes en français (et en anglais pour Achtung! Cthulhu, Beasts & Barbarians et Lankhmar), ressources chez Torgan, discussions Casus NO avec d'autres liens.

Avatar de l’utilisateur
Zeben
Dieu des hypoglycémistes
Messages : 7012
Inscription : jeu. sept. 06, 2007 5:10 pm
Localisation : Villeurbanne

Re: Anydice , Help ?

Message par Zeben » ven. juil. 21, 2017 11:50 am

XO de Vorcen a écrit :
ven. juil. 21, 2017 11:39 am
Si on obtient un 6 au premier jet, c'est un succès quelque soit le second jet
Non, si on obtient un 6 au premier jet, c'est un succès et ya pas de deuxième jet ! Et du coup le résultat n'est pas le même que si tu considères que tu relances sur un 6 et que tu n'obtiens que des succès.

En tout cas merci pour l'histoire du dé virtuel à deux résultats, ça simplifie bien les choses :yes:

EDIT : et du coup pour ceux que ça intéresse, ça donne ça http://anydice.com/program/c5b9
Come get some !

Avatar de l’utilisateur
XO de Vorcen
Dieu du brandy
Messages : 4093
Inscription : ven. août 29, 2008 10:18 am
Localisation : Savigny sur Orge (Essonne)

Re: Anydice , Help ?

Message par XO de Vorcen » ven. juil. 21, 2017 12:44 pm

Si si, il y a un second jet "virtuel" : sur un 6 on obtient 1 succès quelque soit le résultat du second dé. C'est important parce que d'un point de vue combinatoire, c'est 1/6 d'obtenir 6 puis 6/6 d'obtenir n'importe quelle face qui ne change rien, d'où 6/36 d'avoir 1 succès avec un 6 dès le premier dé (mais jamais 2 puisqu'on ne considère pas en ce cas le second dé). Il est clair que par flemme voire pas simplicité de lecture, il n'est pas utile de réellement lancer le second dé. Par contre dans le calcul, il faut le prendre en compte sinon nous ne sommes plus sur 36 combinaisons équiprobables.
Savage Worlds : règles d'essai gratuites et scénarios gratuits, les gammes en français (et en anglais pour Achtung! Cthulhu, Beasts & Barbarians et Lankhmar), ressources chez Torgan, discussions Casus NO avec d'autres liens.

morgalel
Ascendant
Messages : 1517
Inscription : ven. janv. 20, 2006 9:50 am

Re: Anydice , Help ?

Message par morgalel » ven. juil. 21, 2017 12:55 pm

Zeben a écrit :
ven. juil. 21, 2017 11:50 am
XO de Vorcen a écrit :
ven. juil. 21, 2017 11:39 am
Si on obtient un 6 au premier jet, c'est un succès quelque soit le second jet
Non, si on obtient un 6 au premier jet, c'est un succès et ya pas de deuxième jet ! Et du coup le résultat n'est pas le même que si tu considères que tu relances sur un 6 et que tu n'obtiens que des succès.

En tout cas merci pour l'histoire du dé virtuel à deux résultats, ça simplifie bien les choses :yes:

EDIT : et du coup pour ceux que ça intéresse, ça donne ça http://anydice.com/program/c5b9
Non c'est bien la solution de Philippe qui est la bonne, ça se vérifie sur 1D avec relance :

Sur 1D :
S : succès, S1 succès sur le premier dé, R : relance, S2 succès sur le second dé, SR succès via une relance
P(S1) = 1/6
P(R) = 1 - P(S1) = 5/6
P(S2) = P(S1) = 1/6

P(S) = P(S1|SR) ) = P(S1) + P(SR) (vu que S1 & SR = 0)
P(SR) = P(R & S2) = P(R) * P(S2) (vu que R et S2 sont indépendants) = 5/6 * 1/6
du coup
P(S) = 1/6 + 5/6 * 1/6 = 11/36 ~= 30.56%

Au final ça équivaut strictement, en termes de probas, à lancer 2 dés et à vérifier si un 6 au moins a été obtenu. (note d'ailleurs que tu retombais strictement sur la même stat pour 1d avec relance sur ton premier programme)


EDIT : petit programme anydice simple :
http://anydice.com/program/c5ba

Avatar de l’utilisateur
philippe_j
Dieu des salariens musicaux
Messages : 4242
Inscription : ven. janv. 27, 2006 8:44 pm
Localisation : Wuhan, Chine

Re: Anydice , Help ?

Message par philippe_j » ven. juil. 21, 2017 1:05 pm

On avait bien compris ton explication, mais il me semblait, pour ma part, que c'était la même chose de dire qu'on a lancé les doublets (6,1) à (6,6), puisque tout ce qui compte, c'est d'avoir un 6.
C'est pour ça que je calcule tout simplement la chance d'avoir au moins un 6 sur 2 lancers.
Et surtout, surtout, ça évite des trucs alambiqués, ce avec quoi Anydice a beaucoup de mal (mais en même temps, on m'a toujours dit que rechercher la simplicité dans les algorithmes était une vertu...)

Après je suis pas statisticien :P
edit: mais c'est sympa à vous de confirmer, merci

Ah, et pour ton programme ou un autre, je te conseille éventuellement la vue "transpose" (en changeant tes titres pour qu'ils soient moins longs). Ca te permet de voir des choses intéressantes quand tu compares pas mal de lancers comme ici.
- Philippe -
Poe's Law : without a winking smiley or other blatant display of humor, it is impossible to create a parody of Fundamentalism that SOMEONE won't mistake for the real thing.

Répondre