LAN party
- J’organise une LAN party chaque année avec des amis depuis 16 ans.
- La fête dure 4 à 5 jours et réunit jusqu’à 12 participants.
- On joue surtout à Dota 2, mais aussi à divers autres jeux comme Counter-Strike et Warcraft 3.
- Comme il était difficile de former les équipes, j’ai fini par développer un système automatisé.
Dota 2
- Dota 2 se joue en 5v5, et des équipes déséquilibrées nuisent au plaisir du jeu.
- L’écart de niveau entre les participants est important, ce qui rend la composition des équipes difficile.
Méthode de sélection des équipes
- Deux leaders choisissent les membres de leur équipe à tour de rôle.
- Mais cette méthode prend beaucoup de temps et devient lassante, car on se retrouve souvent avec des équipes similaires.
Problèmes de la sélection manuelle des équipes
- Cela prend beaucoup de temps et devient ennuyeux.
- Des équipes similaires reviennent souvent.
- Personne ne veut endosser le rôle de leader.
- Des équipes déséquilibrées sont souvent formées.
Résoudre le problème avec du code
- Après avoir collecté les données, j’ai utilisé dans Colab un système de classement Elo pour générer automatiquement les équipes.
- Chaque joueur commence avec 1000 points Elo, gagne 20 points en cas de victoire et en perd 20 en cas de défaite.
Amélioration 1 : plusieurs passages sur les données
- Dans le système Elo, battre un joueur ayant un Elo plus élevé rapporte davantage de points.
- L’Elo est calculé en faisant plusieurs passages sur les données.
Amélioration 2 : le transformer en modèle de ML
- L’Elo est utilisé comme modèle pour prédire la probabilité de victoire d’une équipe.
- Une fonction de perte L2 est définie, puis le modèle est optimisé par backpropagation.
Amélioration 3 : rendre les résultats historiques probabilistes
- Pour éviter le surapprentissage, la probabilité de victoire des parties historiques est fixée à 75 % ou 95 %.
- Cela permet au modèle de généraliser au lieu de mémoriser toutes les parties.
Résultats
- Le nouveau système peut prédire les probabilités de victoire même lorsque la taille des équipes est déséquilibrée.
- La première composition pour la prochaine LAN party est prête.
Aucun commentaire pour le moment.