Le problème d'une IA à magic n'a rien à voir avec celui d'une qui voudrait jouer au Go ou au échecs, ou les règles sont claires et définies d'avance, ou même avec une IA qui voudrait jouer à LoL qui devrait s'entraîner avec chaque perso, car il y en a peu.
L'IA ne peut pas juste "s'entraîner à jouer", elle doit déjà être capable d'analyser ce qu'elle joue. Le fait que le deck soit une variable change tout.
Si on considérait un match miroir de "DECK BURN PARFAIT" (Donc 60 cartes prédéfinies + 15 cartes de side), on pourrait entraîner l'IA à la manière d'une IA d'échecs. La complexité serait bien supérieure à cause de la problématique de la priorité (quand passer la priorité, quand lacher son spell, prédire un spell adverse pour jouer le sien en réponse), mais au moins l'espace de recherche serait limité.
Là tu demandes une IA qui soit capable de jouer n'importe quel deck (Il n'est pas dit que n'importe quel deck soit jouable, ou en tout cas qu'il permette de gagner), contre n'importe quel autre. L'espace mémoire qui serait simplement dédié à comprendre le deck, ses interactions, sa jouabilité, et la part de hasard qu'il comporte est déjà colossal.
Alors on pourrait imaginer entraîner l'IA sur une base de donnée INCROYABLEMENT réduite, comme par exemple tous les decks Top8 de tous les temps. Là le problème devient déjà beaucoup plus gérable.
Tu peux imaginer faire jouer l'IA contre elle-même avec toutes les combinaisons possibles, même si malgré la simplification extrême, le nombre de parties différentes est énorme, sachant que tu veux en plus que pour chaque type de partie (Donc Deck A fixé VS Deck B fixé), on ait quelques centaines de millions voire des milliards de parties qui soient analysées pour optimiser les coups.
Cela demanderait du temps, mais c'est envisageable.
----------
Il faudrait imaginer une seconde IA, indépendante de la première, mais qui potentiellement communique avec, qui a pour boulot de chercher parmi les quelques 30k cartes différentes toutes les combinaisons de 60 cartes qui font un deck "viable" (avec les contraintes de x4 max, et les éventuelles contraintes de format, voire des indications sur la stratégie: aggro, combo, contrôle, tempo, aggro-tempo, lock, etc... mais ces notions sont à définir extrêmement précisément, beaucoup plus que lorsqu'on veut les définir pour un humain).
Cette deuxième IA générerait des pools de decks qui seraient à tester par la deuxième IA dans des "métas" définis, qu'elle aura elle-même défini ou qu'on lui aura imposé. La première IA pourrait alors progresser dans une meta donnée.
-------
Même en faisant tout ça, ce qui demande en effet une puissance de calcul considérable, on en est pas à "l'IA qui sait jouer à Magic". A chaque fois que tu feras un nouveau deck, il faudra demander à ton IA de jouer à ta place contre un méta donné, et elle se perfectionnera alors avec ton deck, ce qui demandera du temps de calcul en plus. On peut alors se demander l'interêt d'une IA qui joue à ta place avec ton propre deck, pourquoi tu ne joues pas toi-même? Le plus évident serait que tu veuilles affronter l'IA, parce que les adversaires que tu rencontre ne te suffisent pas (trop mauvais? jouent toujours le même deck? slow play? autre? ...) mais on met alors un pied de plus dans la matrice, en se perdant de plus en plus dans des univers virtuels contrôlés par la machine, mais c'est une autre question.
-------
Malgré toutes ces avancées possibles, il n'est pas dit qu'on arrive de cette manière à une IA qui "gagne toujours" contre un humain, car contrairement aux jeux déjà domptés par l'IA, comme les echecs, les dames, le GO, LoL, DoTa, ou même Starcraft 2, on a dans magic une notion de hasard prépondérante. Certaines parties sont "perdues d'avance" en quelque sorte, si l'IA n'a pas la bibliothèque dans le bon ordre.
--------
Hâte de voir les avancées dans ce domaine, mais Magic restera sûrement assez longtemps un des derniers bastion que l'IA devra conquérir à la sueur de son front tellement les contraintes sont immenses.
C'est plus vers la deuxième IA, une espèce d'outil de création de deck, qui, à la manière d'un Dall-E qui peint des images à partir de mots, pondrait des decks en réponse à des contraintes imposées par le joueur:
"Je veux un deck Golgari modern avec une optique midrange qui intègre Bob et Tracker, dont la courbe est [COURBE], et qui à un match-up positif contre Burn (Insérer le deck ici) et UW control (Insérer le deck ici)"
à la manière du peintre virtuel de google, la machine nous sortirait une infinité de decks qui correspondent à nos critères, et on aurait plus qu'à choisir celui qui nous plait le plus. Le résultat serait-il proche des decks The Rock ou Eva Green classiques, ou l'IA aurait-elle trouvé des intéractions nouvelles? La question reste en suspens.
|