Il existe un nouveau robot de poker Open Source appelé PokerPirate . Je m'intéresse à tous les moyens créatifs par lesquels une application Web pourrait détecter, contrecarrer ou vaincre un robot de poker. (Il s'agit d'une discussion purement académique, dans le même esprit que celui dans lequel PokerPirate a été écrit).
Réponses
Trop de publicités?Ce poste propose également quelques bons conseils pour les déjouer.
Une autre idée de modifier l'écran pour le rendre difficile à scanner :
Fabriquez la carte à partir de toute une série de couleurs différentes - proches en termes d'œil humain mais pas identiques. Il serait ainsi plus difficile de repérer les éléments à lire. D'un autre côté, mettez une fausse écriture sur la carte dans des couleurs que l'œil humain ne pourra pas distinguer du fond.
Le problème des bots est-il le fait qu'ils jouent mieux que les bons joueurs humains, ou qu'ils peuvent attendre 24 heures sur 24 et 7 jours sur 7 l'apparition de mauvais joueurs et essayer de les exploiter ?
De même, serait-il "légitime" ou "tricheur" pour quelqu'un d'avoir un ordinateur assis à côté de lui pendant qu'il joue au poker, et de consulter cet autre ordinateur pour obtenir des conseils ?
Je ne sais pas comment on peut prétendre que l'espace de solution pour le poker limite est "résolu" alors que la stratégie optimale d'un joueur sera influencée par ce que l'on sait de ses adversaires. Comment une tentative d'analyse des joueurs peut-elle prétendre être si parfaite qu'elle ne pourrait pas être améliorée ?
Si vous avez accès à un grand nombre de correspondances, vous pouvez adopter une approche d'exploration de données. La force de jeu d'une IA devrait être assez constante, alors qu'il existe probablement des modèles simples pour les humains - plus faible dans les premiers tours de chauffe, et la force se détériore après avoir joué pendant longtemps. De plus, le temps de décision des humains augmente probablement lorsqu'il y a plus d'argent en jeu.
Si vous avez accès aux mouvements de la souris (ou au moins aux emplacements des clics, ce qui est vrai même pour les applications web), il devrait être assez simple de reconnaître les robots, à l'exception des plus sophistiqués. Les humains ne déplacent pas la souris en ligne droite exacte, ils ont des périodes d'accélération et de ralentissement, des distributions d'emplacements de clics statistiquement descriptibles, etc.
Jetez un coup d'œil à Boîte à outils de contrôle Ajax NoBot :
NoBot utilise plusieurs techniques anti-bots différentes :
* Forcing the client's browser to perform a configurable JavaScript calculation and verifying the result as part of the postback. (Ex: the calculation may be a simple numeric one, or may also involve the DOM for added assurance that a browser is involved)
* Enforcing a configurable delay between when a form is requested and when it can be posted back. (Ex: a human is unlikely to complete a form in less than two seconds)
* Enforcing a configurable limit to the number of acceptable requests per IP address per unit of time. (Ex: a human is unlikely to submit the same form more than five times in one minute)