Over the dozen mobile missions I worked on, the main caveats of codebases I faced were that the Model is unclear and disseminated, and data paths and behaviors are hardly readable.
This article digs into these problems and offers concrete directions on the architectural level, as well as some advices on the implementation level.
Un micro-post pour vous indiquer que le code C++ de calcul d’ICM est disponible sur mon Github sous licence CC NC SA (pas d’utilisation commerciale et propagation de la license obligatoire).
Rappelons-nous une des conclusion du dernier épisode :
(…) le calcul prend 27ms pour une moyenne sur 15500 échantillons. C’est très raisonnable en soi, mais si j’envisage de simuler quelques milliers de tournois comportant des milliers de mains elles-mêmes incluant plusieurs calculs d’ICM, ce ne sera pas suffisant.
Résumé des épisodes précédents:
En théorie des jeux, les fonctions d’évaluation permettent d’évaluer des situations, de les comparer, et donc de faire des choix renseignés l’Independent Chip Model (ICM) est la fonction d’évaluation de référence pour les tournois de poker, et on cherche à trouver mieux, notamment pour un grand nombre de joueurs l’ICM est long à calculer pour un grand nombre de joueurs.
Dans mon précédent billet, je vous parlais des fonctions d’évaluation en théorie des jeux, plus particulièrement dans les tournois de poker No-Limit Hold’Em (NLHE), et spécifiquement de l’Independent Chip Model (ICM).
Pour rappel une fonction d’évaluation donne une estimation probabiliste des gains de chaque joueur en fonction de l’état du jeu.