Quel est le niveau des ordinateurs au Cribbage ? Les meilleurs humains sont-ils toujours meilleurs que les meilleurs ordinateurs ? Je peux trouver beaucoup d'IA en ligne, mais seulement dans le contexte de la vente de jeux de cribbage pour ordinateurs et téléphones portables.
Réponses
Trop de publicités?J'ai joué à des centaines d'IA... les jeux de cribbage avec l'adversaire le plus fort sont tous des tricheries.
Les questions centrales
Cribbage se concentre sur trois priorités essentielles :
- maximiser les points en main
- maximiser les points en jeu
- minimiser le risque de donner des points dans le berceau.
Celles-ci se résument à deux compétences clés :
- Garder
- Jouer
Le jeu est régi par un ensemble de règles assez facilement codifiées. Il s'agit d'environ 30 ou 40 points de décision, à l'exception de la lecture du langage corporel de l'adversaire. Codé, il peut être réalisé de manière convaincante et difficile en environ 250 lignes de code de base.
La conservation est beaucoup plus difficile, car elle doit concilier ces trois priorités. Mon propre arbre de décision commence par la recherche de certaines combinaisons. Cela représente à lui seul plusieurs centaines de lignes de code. Ensuite, il y a la recherche d'exceptions, qui nécessite un bon protocole d'évaluation des risques. Et c'est là qu'il devient difficile de coder.
Les IA
Les meilleures IA non tricheuses contre lesquelles j'ai joué (une trentaine de programmes différents, dont 10 dont j'ai pu examiner la source, les autres ayant une distribution normale de mains) sont en général à peu près aussi bonnes que moi. Je suis plutôt bon, mais pas excellent.
J'ai joué à plus de 50 jeux de cribbage différents et je sais pertinemment que trois d'entre eux trichent, et j'en soupçonne une vingtaine d'autres.
Le mécanisme de triche le plus simple consiste à faire en sorte que la main de l'ordinateur utilise une randomisation différente de celle de la main du joueur. En plus de 30 jeux à 8, il n'a jamais eu une main de moins de 4 points et n'a jamais eu une main de 19 points non plus. Et il a obtenu une moyenne de plus de 6 points par main.
Plusieurs autres utilisent des produits similaires, mais je suis moins sûr d'eux.
D'une part, j'ai obtenu la source et j'ai découvert que le code donnait en fait 8 cartes à l'ordinateur, et non 6. J'en ai gardé 4, j'en ai mis deux dans le berceau et deux dans le paquet. Il était incroyablement difficile à battre, mais on obtenait parfois une main de 19. Je soupçonne de nombreux joueurs d'utiliser une ou deux cartes supplémentaires de cette manière.
La troisième compétence clé
Il existe une troisième compétence clé pour le cribbage - une compétence que les IA n'ont pas encore mise en œuvre : lire son adversaire.
EG : En 2004, mon ami George et moi avons joué plus de 50 sets. Nous jouions généralement un set en semaine, et presque toujours un set le week-end, parfois deux. Notre jeu variait selon que nous regardions ou non la télévision - quand nous ne la regardions pas, nous savions tous les deux ce que l'autre avait grâce à des indices subtils de posture et de réaction aux cartes. Lorsque nous ne regardions pas la télévision, les cribs étaient généralement de 0 à 4 points, et les mains de 4 à 15 points, avec de temps en temps un 2 ou un 19. Lorsque nous ne faisions pas attention, les cribs variaient davantage, y compris un 29... J'avais 5-6-7-8-8-J, Geo avait 5-5-7-7-8-8 ; le tour était, bien sûr, le valet manquant, mon crib. Je savais qu'il lançait des points parce que, bien qu'il ait lancé presque immédiatement, il a également eu un twitch des sourcils (un indice pour une paire de paires ou une paire royale plus un 15-complément). S'il s'était agi de son crib, j'aurais peut-être lancé le 8-J au lieu du 5-J.
L'une des raisons d'inclure des IA "tricheuses" est qu'elles peuvent simuler, dans une certaine mesure, la lecture de l'adversaire et l'effet sur les scores.
Autres discussions
À ce jour, je n'ai trouvé que peu de documentation sur le travail de l'IA dans le domaine du cribbage - j'ai trouvé un article académique ( Kendall & Shaw, 2002 ), et elle est plus intéressée par le développement de sa propre IA. En outre, il se compare à une IA non heuristique - Ultimate Cribbage - à laquelle j'ai joué et que j'ai trouvée solide.
Les IA tricheuses, en revanche, sont les plus difficiles à affronter. Mais attention, certaines d'entre elles peuvent vous entraîner à jouer de façon sous-optimale, en particulier celles qui trichent avec le berceau, car vos propres calculs de risque de berceau peuvent être faussés.
J'ai écrit le moteur d'intelligence artificielle pour BTO Cribbage une application mobile de cribbage. J'ai joué au Cribbage pendant mon enfance et j'ai décidé d'écrire ma propre application après avoir joué aux autres applications. J'ai joué à plus de 10 autres applications et la plupart d'entre elles puent et/ou trichent, comme décrit dans la réponse de @aramis. Étant des deux côtés (un joueur fidèle et un créateur d'application), j'ai une perspective différente et j'ai trouvé ce qui suit :
Limitation du marché
La première chose que j'ai apprise après avoir publié mon application est que le plus les gens ne veulent pas perdre. J'ai publié plusieurs versions de mon IA, que j'ai longuement testées contre ma famille et mes amis. Au fur et à mesure que le moteur d'IA s'améliorait, mes évaluations sur les magasins d'applications diminuaient. En d'autres termes, le marché impose une limite à la qualité d'une IA devrait être. Si les gens perdent trop, ils se plaignent de la tricherie de l'ordinateur. Ce qui est amusant, c'est que j'aime bien recevoir ces critiques sur l'app store, car cela signifie que j'ai écrit un bon code, puisque je sais qu'il ne triche pas. Mais d'un point de vue commercial, une IA très forte est synonyme de mauvaises ventes. Les gens veulent une bonne IA, mais pas une grande. J'ai donc cessé de m'améliorer une fois que mon IA était suffisamment performante. En tant que développeur naïf, j'ai pensé que les joueurs les plus faibles resteraient dans les niveaux inférieurs (l'application a 6 niveaux), mais les gens insistent pour jouer au niveau le plus difficile, puis se plaignent qu'il est trop dur et me donnent des critiques négatives.
Puissance de traitement
Pour le développement d'applications, la puissance de traitement est un obstacle majeur. J'ai écrit une version de mon IA qui fonctionnait dans tous les scénarios de jeu (problème du voyageur de commerce), mais ses performances étaient terribles sur un appareil mobile. J'ai donc limité mon IA aux deux coups suivants, ce qui fonctionne en grande partie, mais peut conduire à des jeux étranges à court terme qu'un humain compétent ne jouerait pas. jamais faire. En tant que joueur, si vous connaissez cette faiblesse, il est facile de l'exploiter. Heureusement, la plupart des joueurs ne s'en rendent jamais compte.
L'élément humain
Le cribbage comporte un élément similaire au poker, en ce sens que les joueurs jouent en lisant leurs adversaires. Certains points évidents du cribbage peuvent être intégrés dans une IA, mais la création d'une IA capable de deviner les mouvements des joueurs est un véritable défi. J'ai imaginé plusieurs façons dont mon moteur d'IA pourrait anticiper le jeu, mais je n'ai jamais pris la peine de les construire (limitation du marché). Le résultat final est une IA statique qui ne s'adapte pas au fil du temps. Jouer contre un humain a donc des sensations bien différentes (et meilleures) que de jouer contre une IA statique.