Telechargé par yass.m09

Probabilités - Exemple

publicité
Tableur calculateur de drop - Modèle mathématique
April 25, 2018
Ce document a pour but d’expliquer les modèles mathématiques qui ont été utilisés pour
concevoir mon calculateur de drop (tableur excel). J’espère que malgré le fait que ce soit
assez technique, il reste compréhensible pour les personnes intéressées :-)
Deux versions du tableur existe: l’une pour la version 2 de dofus (max. 8 lignes de drop),
et l’autre pour la version 1.29 (jusqu’à 16 lignes de drop si l’on pose 8 coffres).
Paramètres d’un combat
Soit un combat de N persos/coffres (il y a aura donc N lignes de drop à la fin du combat,
avec N pouvant aller de 1 à 16) contre M monstres (M = 1, 2, · · · , 8) sur lesquels on
peut dropper la ressource voulue avec un taux de base P (en %). Un bonus total de drop
B en % (challenge, étoile, idole) est appliqué. De plus, nous appelons ppi la prospection
du perso/coffre i (avec i = 1, · · · , N ).
Dans un premier temps, calculons le taux de drop du perso/coffre i (i = 1, · · · , N ) sur
UN SEUL mob (bridé à 1 = 100%):
P
ppi
B
Pi = P (i drop une ressource sur un mob) =
×
× 1+
100 100
100
Cette formule est connue et a été validée par ankama dans un dofus time sur le drop.
Pour la suite, nous devons considérer 2 cas...
1
CAS 1: Si le drop est limité à une ressource max par
mob...
Cette catégorie concerne les ressources rares (vulbis, gelano,...) pour lesquelles chaque
mob peut "fournir" au maximum une 1x la ressource. Par exemple, à l’issue d’un combat
de 8 persos contre 2 gelées fraises, on peut drop jusqu’à 2 gelanos mais pas plus ! Par
contre, dans un combat de 8 persos contre 2 bouftous, on peut obtenir jusqu’à 16 laines
de bouftous (2 par persos).
1
1.1
Taux de drop du groupe sur un mob
Nous allons tout d’abord chercher à déterminer la loi de probabilité correspondante au
drop de tout le groupe (donc des N persos/coffres) contre UN mob. Le groupe pourra
dropper la ressource du mob ou non. L’évenement "pas de drop" aura lieu si aucun des
persos ne drop sur le mob:
P (pas de drop) = P ((1 ne drop pas) ET (2 ne drop pas) ET ... ET (N ne drop pas))
= P (1 ne drop pas) × · · · × P (N ne drop pas)
On peut passer de la première à la seconde ligne car les évenements "i ne drop pas" (avec
i = 1, · · · , N ) sont indépendants (en effet, le "non drop" d’un perso ne dépend pas du
"non drop" d’un autre).
Or P (i ne drop pas) = 1 − Pi (avec Pi connu car calculé précédemment). De plus:
P (drop) = 1 − P (pas de drop).
Donc, en mettant tout ensembles:
P (drop) = 1 − (1 − P1 ) × · · · × (1 − PN )
1.2
Si M mobs dans le combat...
Le drop du groupe de N persos/coffres sur UN mob correspond en réalité à une épreuve
de Bernouilli (voir sur wikipédia) dont le paramètre p est calculé dans la section précédente par p = P (drop). Dans cette épreuve le succès = le groupe drop (le mob "perd"
sa ressource) et l’échec = le groupe ne drop pas.
Si maintenant on considère qu’il y a M mobs pendant le combat, c’est comme si le groupe
"passait" M fois l’épreuve de Bernouilli de paramètre p ⇒ le nombre de drop (= nombre
de "Succès") pour ce combat de M mobs se modélise par une loi de probabilité binomiale
de paramètres (M, p) ! La loi de probabilité pour la variable aléatoire du nombre de drop
X est donnée par:
M
P(X = k) =
pk (1 − p)M −k
k
Il est plus intéressant de connaître la probabilité d’obtenir AU MOINS k drops (par
exemple: la probabilité d’obtenir AU MOINS 2 gelanos (k = 2 dans la formule ci-dessous)
sur un combat de 6 gelées fraises (M = 6)). Cela se calcule de la manière suivante:
P(X ≥ k) = 1 −
k
X
i=1
2
P(X = i)
1.3
Si C combats de M mobs...
Si l’on veut connaitre la loi de probabilité du nombre de drops obtenus au cours de C
combats de M mobs 1 , il faut simplement considérer C × M épreuves de Bernouilli à la
suite ⇒ le nombre de drop (= nombre de "Succès") pour ces C combats de M mobs se
modélise par une loi de probabilité binomiale de paramètres (M × C, p) (avec toujours
le même p qu’avant)! La loi de probabilité pour la variable aléatoire du nombre de drop
X est donnée par:
M ×C k
P(X = k) =
p (1 − p)(M ×C)−k
k
Il est plus intéressant de connaître la probabilité d’obtenir AU MOINS k drops (par
exemple: la probabilité d’obtenir AU MOINS 5 gelanos (k = 5 dans la formule cidessous) sur 10 combats (C = 10) de 4 gelées fraises (M = 4)). Cela se calcule de la
manière suivante:
P(X ≥ k) = 1 −
k
X
P(X = i)
i=1
1.4
Nombre moyen de drops sur C combats de M mobs...
Il suffit de calculer l’espérence mathématique de la loi binomiale de paramètres (M ×
C, p) ⇒ M × C × p.
2
CAS 2: Pas de limite de ressources à drop par mob
Ici, le nombre de ressources à drop n’est plus limité à 1 par mob ⇒ dans un combat de
8 persos contre 2 bouftous, on peut obtenir jusqu’à 16 laines de bouftous (2 par persos).
Les raisonnement pour obtenir les lois de probabilité seront fort différent du cas 1 !
2.1
Taux de drop d’un perso face à M mobs
Soit le combat des N persos/coffres contre les M mobs. Définissons les variables aléatoires
suivantes:
Xi = Nombre de ressource drop par le perso i à la fin du combat
Ainsi,
1
Il n’est pas forcément réaliste de considérer qu’il y aura à chaque fois le même nombre de mob par
combat. Toutefois, si on considère qu’on fait que les combats avec AU MOINS M mobs et que l’on en
fait C (par exemple on décide de faire 100 combats contre au moins 3 gelées fraises), on est sur qu’on
aura AU MOINS la probabilité calculée de drop.
3
P(Xi = k) = Probabilité pour i de dropper k ressources
=
Proba((i drop sur k mob)ET(i ne drop pas sur les M-k autres mobs))
×
(le nombre de façons possibles de prendres k mobs sur un ensembles de M mobs)
En termes mathémathiques cela se formule de la manière suivante:
k
M −k M
P(Xi = k) = Pi (1 − Pi )
k
Nous connaissons donc pour le moment la loi de probabilité correspondante au nombre
de ressources drop sur le combat pour chacun des persos. C’est une première étape !
Il reste à déterminer la loi de probabilité des ressources drops sur le combat mais pour
l’ensemble du groupe.
2.2
Taux de drop du groupe face à M mobs
Dans la section précédente, la variable aléatoire Xi a été définie comme le nombre de
ressources droppées par le perso i à la fin du combat. Considérons à présent la somme
de ces variables aléatoires: X1 + X2 + · · · + XN = YN . Cette nouvelle variable, appelée
YN nous intéresse puisqu’elle représente la somme des drops de chacun des personnages
et donc le nombre de ressource drop par l’ensemble du groupe ! Tout l’enjeu de cette
section sera donc de déterminer la loi de probabilité associée à YN .
L’idée sera de construire cette loi par itération. Considérons la variable Y2 = X1 + X2 ,
elle correspond au nombre de ressources droppées par les persos 1 et 2. On a:
P(Y2 = k) = P((X1 = 0) ∩ (X2 = k)) + P((X1 = 1) ∩ (X2 = k − 1))
+P((X1 = 3) ∩ (X2 = k − 3)) + · · · + P((X1 = k) ∩ (X2 = 0))
⇔ P(Y2 = k) =
k
X
P(X1 = i) × P(X2 = k − i)
i=0
De la même manière, on peut trouver la loi de probabilité de Y3 = X1 +X2 +X3 = Y2 +X3 :
P(Y3 = k) =
k
X
P(Y2 = i) × P(X3 = k − i)
i=0
4
En généralisant:
j = 1 → P(Yj = k) = P(X1 = k)
j = 2, · · · , N → P(Yj = k) =
k
X
P(Yj−1 = i) × P(Xj = k − i))
i=0
Et donc,
P(YN = k) =
k
X
P(YN −1 = i) × P(XN = k − i))
i=0
Et voilà, nous avons notre loi de probabilité ! :-)
Le nombre moyen de ressources droppées sur un combat se calcule par l’espérance de la
loi:
Nombre moyen de ressources drop/combat =
NX
×M
i × P(YN = i)
i=1
2.3
Si C combats de M mobs...
J’ai fait le choix de ne pas calculer la loi de probabilité précise sur C combats parce que
pour les ressources dont le drop n’est pas limité à un par mob je trouvais pas qu’il y
avait beaucoup d’intérêt (beaucoup moins que pour les ressources rares type vulbis ou
gelano). C’est aussi une question de temps, ça complexifie pas mal pour pas grand chose
et j’avais envie de cloturer mon tableur :-) Pour ce qui est du nombre moyen de drop
sur ces C combats, il est donné par le nombre moyen de drop par combat multiplié par C.
Si toutefois on veut modéliser une loi de probabilité complète,on peut le faire en définissant les variables aléatoires Ri (i = 1, · · · , C) qui représentent le nombre de ressources
droppées au i-ème combat et qui suivent la même loi de probabilité
que YN (on a d’ailleurs
P
R1 = YN ). De là, on définit les variables aléatoires Zi = ik=1 Rk le nombre de ressources
droppées sur les i premiers combats. La variable d’interêt dont nous voulons la loi de
probabilité sera alors ZC ! Nous pouvons construire cette loi par itération de la même
manière que précédemment:
j = 1 → P(Zj = k) = P(R1 = k)
j = 2, · · · , C → P(Zj = k) =
k
X
i=0
Et donc,
5
P(Zj−1 = i) × P(Rj = k − i))
P(ZC = k) =
k
X
P(ZC−1 = i) × P(RC = k − i))
i=0
Notons que le nombre de ressources droppées en C combats peut vite devenir très conséquente et par conséquent le nombre de valeurs pour laquelle il faille calculer la loi de
probabilité! Par exemple, un groupe de 8 persos et 8 coffres affrontant 8 mobs sur lesquels
la ressource se drop pendant 100 combats => jusqu’à 16x8x100 = 12800 ressources droppées.
6
Téléchargement