L'Art d'Optimiser les Decks

Chapitre I : Généralités sur l'optimisation

Chapitre I : Généralités sur l'optimisation

1 - Un premier exemple d'optimisation

L'optimisation combinatoire est une branche des mathématiques dont le but est de déterminer la meilleure solution d'un problème donné. Cela se présente souvent de la même manière : On dispose d'un ensemble de possibilités à étudier et que l'on peut évaluer et le travail consiste  déterminer la possibilité qui maximise ou minimise cette quantité. 

Sur le papier, le problème est assez simple, mais quand le nombre de possibilités devient gigantesque, on comprend assez vite que cela va devenir problématique. Mais outre la résolution du problème qui peut s'avérer pénible, savoir ce que l'on souhaite réellement optimiser est tout aussi ardu.

Prenons un exemple concret extrêmement ultra simpliste : vous souhaitez maximiser la probabilité d'avoir deux terrains au second tour dans votre jeu de 60 cartes. Si on y prend pas garde, on pourrait penser qu'il s'agit là d'un objectif tout à fait valable aux yeux d'un joueur de Magic. Cependant la solution optimale va alors vite vous décevoir, puisque la meilleure solution à ce problème est de jouer 54 terrains. En effet, le succès est alors garanti ! La solution est ici aberrante et clairement mauvaise pour notre deck, ce qui nous permet de conclure assez vite que nous avons fait une erreur en formulant notre objectif de départ. Cependant nous ne seront peut-être pas aussi chanceux la prochaine fois et nous pourrions tomber sur une solution en apparence correcte et penser à tord qu'elle est la réponse à nos attentes. 

La difficulté de définir un objectif qui soit réellement en adéquation avec ce que l'on souhaite est ce qu'on appelle un problème d'alignement des valeurs, aussi appelé problème du roi Midas, en référence à ce fameux roi de la mythologie grecque qui souhaita que tout ce qu'il touche se transforme en or et qui ne compris que trop tard son erreur.

Une manière efficace d'attaquer un problème aussi général et de commencer par le simplifier à l'extrême. Justement, rien ne vaut un bon exemple concret d'optimisation sur un cas simple. Commençons donc par l'optimisation d'un deck qui ne contiendrait que deux cartes différentes : Mountain et Lava Spike.

Nous avons ici clairement un deck de la catégorie éponyme Lava Spike (Burn), qui se caractérise par son absence totale d'interactivité avec l'adversaire. En raison de cette absence d’interaction (ici poussée volontairement à l'extrême), le bon cadre à utiliser pour étudier notre deck va être le goldfish. D'ailleurs, moins un deck est conçu pour interagir avec son adversaire, plus l'étude en goldfish sera pertinente.

La première question qui se pose est donc : que souhaite t-on optimiser exactement ? Et à cette question je vais vous proposer trois réponses :

Le fonctionnement du deck étant extrêmement simpliste, autant écrire un programme qui jouerait lui même les parties en goldfish. Les paramètres d'optimisations pour ce cas simple sont en réalité déjà nombreux :


 • Le nombre de Mountain

 • Le nombre de Lava Spike

 • Le fait d'être OTP ou OTD

 • Le Mulligan utilisé

 • Les décisions relatives au Mulligan


J'ai testé chaque combinaison plusieurs millions de fois et un deck en particulier, pour le Vancouver Mulligan, optimisait simultanément quasiment tous les points évoqués ci-dessus :

Optimisation avec Mulligan Vancouver

Composition


Résultats :


Rappel : Vancouver Mulligan : Each player draws a number of cards equal to their starting hand size, which is normally seven. (Some effects can modify a player's starting hand size.) A player who is dissatisfied with their initial hand may take a mulligan. First, the starting player declares whether they will take a mulligan. Then each other player in turn order does the same. Once each player has made a declaration, all players who decided to take mulligans do so at the same time. To take a mulligan, a player shuffles their hand back into their library, then draws a new hand of one fewer cards than they had before. If a player kept their hand of cards, those cards become the player's opening hand, and that player may not take any further mulligans. This process is then repeated until no player takes a mulligan. (Note that if a player's hand size reaches zero cards, that player must keep that hand.) After all players have kept an opening hand, each player in turn order whose hand contains fewer cards than that player's starting hand size may look at the top card of their library. If a player does, that player may put that card on the bottom of their library.

Optimisation avec Mulligan London

Composition


Résultats :



Rappel : London Mulligan : Each player draws a number of cards equal to their starting hand size, which is normally seven. (Some effects can modify a player’s starting hand size.) A player who is dissatisfied with their initial hand may take a mulligan. First, the starting player declares whether they will take a mulligan. Then each other player in turn order does the same. Once each player has made a declaration, all players who decided to take mulligans do so at the same time. To take a mulligan, a player shuffles the cards in their hand back into their library, draws a new hand of cards equal to their starting hand size, then puts a number of those cards onto the bottom of their library in any order equal to the number of times that player has taken a mulligan. Once a player chooses not to take a mulligan, the remaining cards become the player’s opening hand, and that player may not take any further mulligans. This process is then repeated until no player takes a mulligan. A player can’t take a number of mulligans greater their starting hand size.

Ces premiers résultats sont déjà riches d'enseignements car on peut déjà grâce à eux affirmer trois points qu'il faudra garder en tête pour la suite :

2 - Comment optimiser un deck ?

Il y a beaucoup de chose qui peuvent être optimisées dans un deck et la méthode idéale serait de toutes les optimiser simultanément. Mais cela demanderait énormément de travail et de temps de calcul. Le mieux sera donc en réalité de procéder par étapes. Dans cet articles, plusieurs visions vont s'affronter et bien sûr ces dernières vont refléter à la fois nos préférences en tant que joueurs, mais aussi la stratégie globale du deck que l'on pilote. Ces différentes visions sont déjà apparues dans la première optimisation que nous avons faîtes :

Le premier point est typique des decks All In. Le second point aura, vous vous en rendrez compte, souvent ma préférence par la suite. Il a effectivement du sens quand on compte jouer un grand nombre de partie avec notre deck. Le dernier point quant à lui dépend avant tout de notre aversion au risque et donc d'un seuil en deçà duquel on considère notre sortie comme étant ratée. Il sera donc difficile de faire de faire quelque chose de général concernant ce troisième point.

Au delà de ces trois points de vue et de ce sur quoi va se porter l'optimisation, il est possible d'optimiser notre deck sur du court, du moyen ou du long terme, c'est à dire pour faire simple :

Ces trois visions de l'optimisation seront abordées respectivement dans les chapitres 2, 3 et 5 de cet article. Nous verrons ainsi comment optimiser : notre nombre de terrains, nos mulligans, notre base de mana et notre courbe de mana. Mais bien que toutes ces notions soient interdépendantes et qu'elles devraient donc être optimisées simultanément, en pratique nous allons être amenés à traiter ces cas successivement.

3 - La courbe de mana

La courbe de mana d'un deck est ce que l'on obtient lorsque l'on représente dans un graphique le nombre de cartes de notre deck en fonction de leur coût converti de mana, ou plutôt de la quantité de mana nécessaire en moyenne pour utiliser cette carte. Il s'agit d'un concept bien connu des joueurs de Magic, car c'est en se basant sur ce principe que la plupart des joueurs ont appris à construire leur premiers decks.

Ce que l'on apprend aux jeunes joueurs, c'est qu'une bonne courbe de mana doit contenir une majorité de sorts peu chers (coût converti de mana de 3 ou moins) et même qu'idéalement la courbe de mana d'un deck devrait être croissante puis décroissante, avec un pic atteint pour le coût converti de mana 2 ou 3.

Je reviens un instant sur cette notion de "quantité de mana nécessaire en moyenne pour utiliser une carte" car en effet le coût converti de mana d'une carte n'est pas toujours pertinent (Force of Will, Gurmag Angler, Mulldrifter etc...), voir inutilisable en pratique (Endless One, Living End etc..). C'est pourquoi il faut savoir s'adapter, même si dans certains cas il faut aussi savoir renoncer à ce modèle mais nous y reviendrons plus tard.


Dans le très bon article « Comment construire une courbe de mana » de Gavin Verhey, il est présenté ce à quoi devrait ressembler la courbe de mana de votre pack en draft ou scellé. Mais bien que l'article essaye de justifier ses préconisations, il ne rentre pas dans les détails. Est-ce que ce résultat est simplement issu de l'expérience empirique des joueurs ou est-il réellement la solution à un problème d'optimisation qu'il nous reste à déterminer ?

Il y en a toujours qui ne rentrent pas dans le cadre.

Commençons par enfoncer les portes ouvertes. Si on se regarde de plus près les decks les plus performants qui sont joués en construit, on se rend compte que ce principe de courbe de mana idéale n'est pas universel et que les decks qui ne les respectes pas peuvent être identifiés assez clairement comme appartenant à certaines catégories :

Pour résumer, ces trois catégories ont en commun leur rapport particulier au mana. Et c'est à cause de cela qu'elles ne rentrent pas dans le cadre classique présenté ci-dessus. Il nous faut donc écarter ces cas particuliers pour la suite, aussi nous nous focaliserons désormais sur des decks :

Cela fait beaucoup d'hypothèses certes, mais si on veut avoir des résultats généraux et qui ne soient pas totalement imbuvables, il faut bien faire quelques concessions. Il n'est toutefois pas exclu que nous revenions là dessus plus tard.