Ignatius
Mox Opal et les Maths
le 24/08/2019 16:28
Bonjour
J'aimerais optimiser mes Mox d'opale dans mon deck (pouvoir avoir deux autres artefact dans ma main de départ). Pour cela j'ai vu qu'il fallait utiliser la loi hypergéométrique. Mais ça se complique car j'ai dans mon deck des terrains artefact qui ne peuvent être compter comme des artefacts lambda (seulement un peut être posé au premier tour). Dans ce cas, comment puis-je calculer le nombre optimal d'artefacts nécessaires pour Mox Opal (Ok 95% du temps). (Pour info, j'ai 15 terrains artefacts, mais j'aimerais pouvoir jouer sur les deux variables (terrain et artefact à 0 CCM)).
haut de page - Les forums de MV >> Général >> Discussion : page 1 | 2
Morosophe
Lille, France
Spectre
...
le 25/08/2019 16:49
En gros, ta demande ressemble à quelqu'un qui essaie de filer en douce son exercice de maths sur un forum de profs de maths : "eh, les gars, j'ai un problème avec une baignoire. Alors imaginez que j'ai une baignoire à remplir ..." pour que les autres sortent clef en main la solution. Puis, face au peu d'enthousiasme que suscite sa demande, s'exclame : "Il n'y a pas un mathématicien dans la pièce pour m'aider avec ma baignoire ?"
Ignatius
le 25/08/2019 17:14
J'ai essayé díêtre le plus clair possible avec
Citation :
Pour être plus clair, j'aimerais une formule (si elle existe) qui pourrait traduire: "Combien de terrains artefact et d'artefacts à 0CCM dois-je avoir dans mon deck pour que, lorsque j'ouvre une main de départ avec mox opal, celui-ci soit accompagné (90% du temps) de deux autres artefacts qui puissent être mis sur le champ de bataille pendant ce tour afin que le mox opal fournisse un mana
.
J'aime juste essayer de comprendre au maximum, avec le peu de connaissance que j'ai, les maths derrière Magic. J'ai cherché partout et les seuls maths avec Mox Opal ne traitaient pas du cas avec les terrains artefacts. J'adore les articles de Frank Karsten qui permettent de comprendre comment deckbuilder, c'est aussi simple que ça.
Faut pas tomber dans la parano des publications?? ça va très loin la quand même (en plus l'écrire en gras,...)
Je n'ai jamais dit
Citation :
il n'y a pas un mathématicien dans la salle ?
, je voulais juste savoir si il y avait un "Frank Karsten" français connu, faut pas voir le mal partout, c'est grave.
J'ai dis bonjour, on me dis que je ne suis pas précis, j'en tiens compte et reformule ce que je pense plusieurs fois. Il y aune volonté à voir les choses de manière négative.
Vu que la discussion n'a plus de sens, autant la fermer.
Merci quand même d'avoir passé du temps pour me répondre.
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 25/08/2019 17:44
Il est vrai que la demande d'Ignatus était et reste trop imprécise pour donner une solution exacte, mais personnellement je n'ai pas ressenti de mauvaise volonté de sa part (encore moins une volonté d'utiliser les résultats dans un objectif caché, mais ça devait être de l'humour).

Je me suis déjà posé à peu près les mêmes questions, et même s'il est vrai que "seul le chiffre des dizaines a de l'importance" (en fait c'est un peu exagéré mais il fallait comprendre : des approximations faciles sont suffisantes pour ton usage), d'une part ce n'est pas évident pour quelqu'un n'ayant pas le bagage ou le recul nécessaire pour trouver ces approximations, et d'autre part on ne se pose pas toujours ce genre de questions dans un but purement pratique.
Ignatius
le 25/08/2019 18:21
Je vais essayer de ne plus être imprécis.
Je souhaite connaitre le nombre de cartes d'artefacts nécessaires dans un deck de 60 cartes pour faire fonctionner le mox opal au tour un, sachant que deux sortes d'artefacts sont présents (les artefacts à 0 CCM et les terrains artefacts). Pour cela, apparemment, il faut utiliser une loi hypergéométrique (trouver un nombre de "succès" dans un échantillon d'une population totale).

A ce que j'ai compris, les variables sont:
- Population size
- Number of successes in population
- Sample size
- Number of successes in sample (x)
- Hypergeometric Probability: P(X = x)

Pour le résultat :
Cumulative Probability: P(X > x)

- La population: deck de 60 cartes
- Sample size: 7 cartes en main (Je ne prends pas et ne sais pas prendre en compte le mulligan)
- Number of success in sample: 2 artefacts "posables" (c'est la mon problème)
La ou ça coince, c'est le nombre de succès dans la population. S'il n'y avait que des artefacts à 0CCM pris en compte, le calcul serait simple, mais la, les terrains artefacts compliquent les choses. On peut en avoir 2 en main, on ne pourra en poser qu'un, ils ne sont pas cumulables. Une carte de terrain artefact est un succés mais pas le deuxième. Et c'est la ou je suis paumé. Quel calcul faut faire? Quelle loi mathématique appliquer? Comment faire les approximations?
DocCobb
Taverne des jund'kies, France
Spectre
le 25/08/2019 19:52
Alors, effectivement j'ai un peu pris le
Citation :
Il n'y a pas de mathématicien dans la communauté française de Magic qui planche sur ces questions?
comme un
Citation :
eh mec, elle est bien jolie ta formule, mais je peux pas cliquer pour avoir ma réponse?
Bref, tu peux le devenir, ce mec, si tu en as envie ;)


Sinon pour en revenir à nos moutons, tu veux faire de l'optimisation sur l'ensemble des entiers multimodal... tu a 3 solutions majeures :
- soit tu trouves une formule en continu, tu minimises le critère adéquat et tu prends la solution discrète la plus approchante en prouvant que c'est bien la plus basse dans l'espace discret (tiens minimise (x-0.5)^2 dans les entiers, tu auras plusieurs solutions possibles {0 et 1} alors que dans les réels il n'y a que {0.5})
- soit tu travailles dans les entiers et tu fais les calculs pour toutes les entrées possibles (pour Z entrées N^Z calculs) avec les formules précitées
- soit effectivement tu fais du Monte Carlo (en gros la méthode de MadMox, avec 10000 tirages de main pour différents sets et tu gardes le meilleur; il existe des méthodes d'optimisation pour ce problème connu)

Pour tes soucis :
- A ta probabilité d'avoir ta main "parfaite", 1-A probabilité main jetable; donc après Y mulligan
(1-A)^Y*A ta probabilité d'avoir ta main "parfaite" si le nombre de carte est suffisant, sinon 0 est ta proba (en gros 3 mulligans dans ton cas, pour avoir 4 cartes mini)
- si tu veux intégrer un autre paramètre; les terrains en posant aucun problème puisqu'il sont comptés à part (x = nombre artefact hors terrain et pas les y = terrains artefacts)
(0/1 mox parmi 4)*(2 autres parmi x)*(0/1 terrains parmi y)*(7-somme des 0/1+2 parmi 60-x-y-4)/(7 parmi 60)
Ignatius
le 25/08/2019 20:19
Ok merci.
Je vais plancher la dessus, et essayer de décrypter tout cela ;)
Dès que (ou si) j'ai des résultats, je les posterais
ZeSword
Bruxelles, Belgique

AVATAR
Union de mutuellement exclusifs
le 29/08/2019 15:50
Première idée, zéro mulligan.

X = nombre de terrains-artefact
Y = nombre d'artefacts à %0 autres que Mox Opal

Prenons une main de 7 cartes contenant Mox Opal. Parmi les 6 autres cartes, je note :
x = nombre de terrains-artefact
y = nombre d'artefacts à %0 autres que Mox Opal

Les mains gagnantes sont réparties dans les deux cas suivants (mutuellement exclusifs, c'est fait exprès pour qu'on puisse additionner les probas):
%T Cas 1 : (x >= 1) && (y >= 1)
%T Cas 2 : (x == 0) && (y >= 2)

Le cas 2 est le plus simple, j'ai la flemme de simplifier mais le calcul suivant aboutit :

P(Cas 2) = [(2 parmi Y) * (4 parmi 59-X-Y) + (3 parmi Y) * (3 parmi 59-X-Y) + (4 parmi Y) * (2 parmi 59-X-Y) + (5 parmi Y) * (1 parmi 59-X-Y) + (6 parmi Y)] / [(6 parmi 59)]

Le cas 1 est un peu plus compliqué, idem sans simplifier voilà la formule :

P(Cas 1) = [(1 parmi X) * (1 parmi Y) * (4 parmi 59-X-Y) + (1 parmi X) * (2 parmi Y) * (3 parmi 59-X-Y) + (1 parmi X) * (3 parmi Y) * (2 parmi 59-X-Y) + (1 parmi X) * (4 parmi Y) * (1 parmi 59-X-Y) + (1 parmi X) * (5 parmi Y) + (2 parmi X) * (1 parmi Y) * (3 parmi 59-X-Y) + (2 parmi X) * (2 parmi Y) * (2 parmi 59-X-Y) + (2 parmi X) * (3 parmi Y) * (1 parmi 59-X-Y) + (2 parmi X) * (4 parmi Y) + (3 parmi X) * (1 parmi Y) * (2 parmi 59-X-Y) + (3 parmi X) * (2 parmi Y) * (1 parmi 59-X-Y) + (3 parmi X) * (3 parmi Y) + (4 parmi X) * (1 parmi Y) * (1 parmi 59-X-Y) + (4 parmi X) * (2 parmi Y) + (5 parmi X) * (1 parmi Y)] / [(6 parmi 59)]

Je n'ai rien fait de compliqué, j'ai juste additionné des cas mutuellement exclusifs dont l'union fait les trucs demandés. Pas besoin de "loi hypergéométrique" ou d'un quelconque langage abscons, ni besoin de faire des simplifications extrêmes. Quand on a un truc basique à calculer, autant ne pas s'encombrer, écrire la formule brutale, la rentrer dans un logiciel (un bête tableur doit faire l'affaire en l'occurrence), et c'est plié.

Il est tout à fait possible qu'en écrivant les cas plus intelligemment, on aboutisse à un calcul avec moins de termes. Par ex. en écrivant cas 1 = tout sauf cas 1 barre, en définissant cas 1 barre = (x == 0) ou (y == 0), on obtient la division du cas 1 barre en les événements mutuellement exclusifs suivants :

* x == 0 && y == 0
* x == 0 && y > 0
* x > 0 && y == 0

C'est probablement plus simple de calculer P(Cas 1) comme 1 - P(Cas 1 barre). Et encore, si tu peux juste tout taper sans problème dans un logiciel, ce n'est même pas sûr que ça en vaille la peine.

Après il n'est pas du tout clair que la question posée soit la meilleure. C'est vrai que j'ai gagné une ronde de GP sur exactement ce qui est demandé (cf. partie 3 de la ronde 14, dans cet article), mais je ne dirais pas que j'ai fait les calculs pour aboutir à ça - ne serait-ce que parce que seule Darksteel Citadel était légale :p
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 29/08/2019 16:43
La loi hypergéométrique n'est pas un truc incompréhensible, c'est juste une formule qui fonctionne dans un contexte donné (i.e. pas celui du problème de l'auteur du topic).

Sinon, il me semble que tu fais la même erreur que moi plus haut dès la 4ème ligne :
Citation :
Prenons une main de 7 cartes contenant Mox Opal. Parmi les 6 autres cartes, je note :

Car dans les calculs suivants, en fait ce que tu as fait c'est :
Citation :
Prenons une main de 7 cartes contenant le Mox Opal n°1. Parmi les 6 autres cartes, je note :
Ce qui ne donne pas le résultat attendu.

Cf. problème de Monty Hall pour un exemple plus simple, ou cette variante ultra-simplifiée ressemblant au problème de ce thread :
- Deck de 3 cartes : 2 mox opal, 1 terrain artefact
- Main de départ = 2 cartes
- X = nombre de terrains artefact (donc X = 1)

Si on cherche la probabilité d'avoir au moins 1 terrain artefact en main de départ, avec ton raisonnement on a :

Prenons une main de [2] cartes contenant Mox Opal. Parmi les [1] autres cartes, je note :
x = nombre de terrains-artefact
p(x >= 1) = [(1 parmi X) * (0 parmi 3-X) / (1 parmi 3-X)] = 1/2


Or les combinaisons possibles sont les suivantes :
- Mox Opal 1, Mox Opal 2
- Mox Opal 1, Terrain artefact
- Mox Opal 2, Terrain artefact
On constate que ces 3 mains contiennent un Mox Opal (et vérifient donc la condition "une main de [2] cartes contenant Mox Opal"), et que 2 d'entre elles contiennent le terrain artefact. Donc p(x >= 1) vaut 2/3, et pas 1/2.
ZeSword
Bruxelles, Belgique

AVATAR
Madmox
le 29/08/2019 17:32
Oui, je me suis posé la question quand j'avais posté, et prenant peur de perdre ce que j'avais tapé, j'ai préféré cliquer sur 'go' et reréfléchir plus tard. J'aurais dû copier / coller dans un fichier et reréfléchir avant d'envoyer, au temps pour moi.

Une manière de résoudre le problème est de, en mode ultra bazooka, appeler D ma fonction, et de calculer alors :

(1 parmi 4) * D[remplacer "Z parmi 59-X-Y" par "Z parmi 56-X-Y"] +
(2 parmi 4) * D[remplacer "Z parmi 59-X-Y" par "Z-1 parmi 56-X-Y"] +
(3 parmi 4) * D[remplacer "Z parmi 59-X-Y" par "Z-2 parmi 56-X-Y"] +
(4 parmi 4) * D[remplacer "Z parmi 59-X-Y" par "Z-3 parmi 56-X-Y"]

Ce nouveau calcul donne la probabilité d'avoir une main contenant Mox Opal et répondant aux exigences. Or on voulait la proba d'avoir une main répondant aux exigences *sachant qu'on a Mox Opal*. On utilise alors le fait que P(A sachant B) = P(A et B) / P(B) donc on divise le tout par la proba d'avoir au moins un Mox Opal en main de départ, qui est donc 1 - (7 parmi 56)/(7 parmi 60).
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 29/08/2019 17:42
Yep, ça correspond il me semble à ce que décrivait DocCobb en page précédente et rappelé en page 2, en un peu plus lisible :)
ZeSword
Bruxelles, Belgique

AVATAR
Ah oui j'avoue
le 29/08/2019 21:30
La formule de DocCobb est bien plus simple, puisqu'il calcule, au lieu de faire les cas qui fonctionnent, les cas qui ne fonctionnent pas et qui du coup sont bien plus simples. Juste qu'il n'a pas développé, mais ça sera plus simple au final :)
ZeSword
Bruxelles, Belgique

AVATAR
Formule
le 02/09/2019 10:23
DocCobb a écrit :
Du coup ce que tu veux c'est
- au moins 1 Mox Opal parmi 4 (pour maximiser tes chances de l'avoir en main de départ, non?)
- au moins 1 autre artefact parmi X
- au moins 1 terrain artefact parmi Y
Ta probabilité de ne pas avoir au moins ca est "1-somme(cas où ca ne marche pas)"
et ca ne marche pas si les 3 ne sont pas réunis: 3 parmi 3 ne sont pas réunis / 2 parmi 3 ne sont pas réunis / 1 parmi 3 n'est pas réunis = 2^3-1 = 7 calculs + la somme

Formule des sous-résultats (mettre 0 ou 1 selon le cas)
(0/1 mox parmi 4)*(0/1 autres parmi x)*(0/1 terrains parmi y)*(7-somme des 0/1 parmi 60-x-y-4)/(7 parmi 60)

Je vous laisse faire les calculs avec vos X et Y correctement choisis ;)


En fait ce n'est pas aussi simple que ce que disait DocCobb. Comme d'habitude, le diable se cache dans les détails. DocCobb semblait impliquer la formule suivante :

Proba(ça ne marche pas) = [
(1 parmi 4) * (1 parmi X) * (1 ______) * (5 parmi 56-X-Y) + // 1 Mox, 1 terr-arto, 0 arto à %0
(1 parmi 4) * (1 ______) * (1 parmi Y) * (5 parmi 56-X-Y) + // 1 Mox, 0 terr-arto, 1 arto à %0
(1 ______) * (1 parmi X) * (1 parmi Y) * (5 parmi 56-X-Y) + // 0 Mox, 1 terr-arto, 1 arto à %0
(1 parmi 4) * (1 ______) * (1 ______) * (6 parmi 56-X-Y) + // 1 Mox, 0 terr-arto, 0 arto à %0
(1 ______) * (1 parmi X) * (1 ______) * (6 parmi 56-X-Y) + // 0 Mox, 1 terr-arto, 0 arto à %0
(1 ______) * (1 ______) * (1 parmi Y) * (6 parmi 56-X-Y) + // 0 Mox, 0 terr-arto, 1 arto à %0
(1 ______) * (1 ______) * (1 ______) * (7 parmi 56-X-Y) + // 0 Mox, 0 terr-arto, 0 arto à %0
] / (7 parmi 60)

[Note: les "______" sont juste là pour aligner les formules, il faut les traiter comme des espaces]

En fait, il ne faut pas mettre "0 ou 1 selon les cas" mais :
* il faut remplacer "(1 parmi 4)" par "somme(I=1 à 4) (I parmi 4)"
* il faut remplacer "(1 parmi X)" par "somme(J=1 à X) (J parmi X)"
* il faut du coup également remplacer les "5/6 parmi 56-X-Y" par le nombre idoine pour que la somme fasse toujours 7

Effectivement, quel que soit le nombre de Mox Opal, c'est comme si on n'en avait qu'un (légendaire) et quel que soit le nombre de terrains-artefacts, c'est comme si on n'en avait qu'un (pas de Fastbond dans l'équation)
haut de page - Les forums de MV >> Général >> Discussion : page 1 | 2
Vous devez être identifié pour pouvoir poster sur les forums.