Vaincre un robot de poker

107

Il existe un nouveau bot de poker Open Source appelé PokerPirate . Je suis intéressé par toutes les manières créatives dont une application Web pourrait détecter / contrecarrer / vaincre un robot de poker. (Il s'agit d'une discussion purement académique, dans le même esprit que PokerPirate a été écrit.)

tour
la source
8
Je suppose que vous voulez dire " plus de façons", étant donné que la première / première réponse est la vôtre :-)
David Johnstone
9
Parlez à chaque joueur.
Lasse V. Karlsen
2
@Lasse: hmm, ce n'est pas suffisant si le joueur est un bot qui passe le test de Turing
lornova
5
Indépendamment ou non de la réussite du test de turing, cela n'empêche pas le créateur de bot de s'asseoir aux tables et de passer tout son temps à discuter.
Tom Gullen
6
La meilleure approche est de faire ce que fait Vegas: truquer les règles du jeu pour que la seule stratégie gagnante soit d'être la maison, puis d'être la maison. À ce stade, tout ce qu'un robot fait, c'est perdre de l'argent plus rapidement et vous pouvez arrêter de vous en soucier.
BCS

Réponses:

209

Vaincre un bot du point de vue du serveur

  1. De nombreux sites de poker en ligne utilisent des entrées Captcha contextuelles qui sont déclenchées par une activité suspecte.

  2. Certains sites de poker surveillent les temps de jeu et les schémas (c'est-à-dire que le pire des cas est un joueur qui joue 24x7 et 16 tables en continu, il y a une infime chance que ce soit un vrai humain. (Cependant, certains joueurs ont la capacité de jouer de très grosses mains). volumes qui à l'œil inexpérimenté sembleraient être un bot)

  3. Jetez-le des pépins. Si vous pensez qu'un joueur est un robot, changez toutes les positions de ses cartes à jouer de quelques pixels à l'écran, faites-leur des couleurs / dessins / motifs différents pour 1/100 mains et voyez si cela les lance. S'il ne peut pas faire de capture d'écran, toutes ses décisions expireront et c'est une preuve de bot assez concluante.

  4. Le timing indique que si un joueur d'ordinateur répond aux options en millisecondes à la fois sans réfléchir à des décisions importantes, cela pourrait être suspect

  5. Auto-surveillance. Les données du site de poker pokertableratings.com exploitent un grand nombre de grands sites. Il a rencontré un accueil mitigé, certains aiment la transparence, d' autres la détestent . L'avantage est, cependant, qu'il y a eu des cas où des statistiques de joueurs suspects (pourcentages VPIP, pourcentages PFR sont quelques-unes des nombreuses statistiques quantifiables pouvant être enregistrées) ont conduit à des conclusions de triche.

  6. Des réseaux de classification artificiellement intelligents pourraient surveiller des statistiques quantifiables pour classer les joueurs malhonnêtes ou robotiques.

  7. À l'époque où le poker en ligne était une entité relativement nouvelle, il y avait des rumeurs et des discussions avec des preuves limitées selon lesquelles certains logiciels clients de poker faisaient des captures d'écran des bureaux de joueurs suspects pour voir s'ils exécutaient des programmes qui les aidaient. Cependant (même si cela était vrai) exécuter deux ordinateurs pour effectuer les deux tâches indépendamment permettrait de contourner ce problème.

  8. Le partage d'informations entre récidivistes entre plusieurs sites serait bénéfique pour l'industrie, si seulement ils étaient honorables et dirigés par des personnes compétentes et responsables

  9. Certains robots seraient probablement assez simples de par leur conception, si vous pouviez découvrir leur style de jeu et voir comment ils agissent dans des situations identiques (notez que cela n'est possible qu'avec des robots peu sophistiqués jouant une stratégie très basique), vous pourriez les découvrir assez rapidement.

  10. Une utilisation incohérente des fonctionnalités du programme tendrait vers l'authenticité d'un joueur. Prenons par exemple de nombreux sites de poker dans le jeu qui ont un bouton «Pliez quand c'est mon tour». Si vous recevez une mauvaise main et attendez qu'un autre joueur décide quoi faire, beaucoup de joueurs cocheront ce bouton. Un bot peut utiliser ces boutons. La différence est qu'un robot serait aux extrémités de la fréquence d'utilisation, il les utiliserait probablement tout le temps ou pas du tout. Un joueur peut généralement appuyer sur «repli automatique», mais parfois il cliquera quand même pour se replier, même dans les conditions les plus favorables. Par exemple, un joueur authentique appuie généralement sur le repli automatique, mais cette fois, ce n'est pas le cas. Il leur est plié sans qu'aucun autre joueur n'agisse, maintenant ils ont été présentés dans la condition la plus favorable possible. Maintenant, s'ils appuyaient sur le pli, ils auraient été fortement enclins à appuyer sur le pliage automatique dès le début. C'est un comportement inconsistant / non optimisé / aléatoire, conforme au fait d'être un humain. Le timing indique le moment où ces fonctionnalités sont cliquées sont d'autres indicateurs. Il est important de reconnaître que ce sont tous des indicateurs et non des preuves concluantes. Tous ces indicateurs comportementaux peuvent être simulés facilement.

Vaincre un bot du point de vue des joueurs

  1. Essayez de vous connecter et de collecter autant de données que possible en utilisant un logiciel comme PokerTracker

  2. Tentative d'identifier des modèles dans son style de jeu

  3. Tentative de recherche de relations entre la taille de la mise en proportion du pot / du nombre de joueurs et de la force de la main

  4. Essayez de calculer ses gammes de mains . Un bot à faibles enjeux ne bluffera probablement pas assez fréquemment pour être un problème stratégique important, donc construire des gammes de mains très précises ne devrait pas être trop difficile.

  5. Tenter de trouver des fuites dans son jeu via l'analyse des données et les essais et erreurs Une fois que les fuites / modèles ont été trouvés, essayez de les exploiter de manière répétitive et d'éviter toute autre situation.

Là où un humain est capable de s'adapter , les robots le sont probablement moins, et où les humains sont pondérés par les chaînes d' inclinaison , la pensée orientée vers les résultats et les frustrations , les robots ne le sont pas. Vous pouvez utiliser ça à votre avantage.

Donc, en substance, vous ne pouvez rien faire pour l'arrêter si le robot est assez intelligent pour simuler des retards de synchronisation réels pendant les décisions, ainsi que pour créer des modèles de jeu raisonnables et réalistes. Ajoutez quelques conditions aléatoires et un simple back-chat (le lexique des joueurs de poker est généralement assez limité ) et vous avez un joueur IA qui sera assez difficile à détecter.

Ce que les robots peuvent faire pour éviter la détection

La clé pour éviter la détection serait de penser au problème sous autant d'angles que possible. Vous essayez de simuler un comportement humain intelligent dans un monde très petit et restrictif. La plupart des simulations comportementales que vous pouvez exécuter sont assez évidentes, mais plus votre bot est incohérent et imprévisible, moins il est susceptible d'être découvert.

  1. Créez des horaires de jeu réalistes (c.-à-d. 3 à 5 fois par semaine, 4 heures par session avec la semaine impaire ici et là pendant l'année).

  2. Exécutez des programmes pour prendre des décisions sur un ordinateur séparé, en contrôlant un ordinateur zombie au cas où des sites de capture d'écran.

  3. Temps d'action aléatoire (n'agissez pas immédiatement, attendez 0,5 à 2 secondes par action)

  4. Temps écoulé sur les grandes décisions. Si une décision est limite, calculez la décision puis attendez un moment pour simuler la pensée.

  5. Utilisation aléatoire des fonctionnalités du logiciel client. Simulez des pauses toilettes en cliquant sur le bouton «distribuez-moi» sur toutes les tables et faites une pause de 5 minutes de temps en temps.

  6. Le chat simulé, le chat de poker est souvent très simple, une discussion ou un débat. Dites des choses comme «malchanceux» ou «stfu» aux moments détectables appropriés. Ou même demander au codeur de surveiller son bot et de discuter pendant l'exécution.

  7. Assurez-vous que les mouvements de la souris sont réalistes. Si les tableaux sont en mosaïque , ne prenez pas de décision sur le tableau en haut à gauche, puis faites instantanément sur le tableau en bas à droite. La plupart des logiciels de sites proposent désormais des raccourcis clavier, ceux-ci peuvent être préférables à utiliser comme supposé pour le déplacement de la souris.

  8. Faites des choses auxquelles les classificateurs IA ne s'attendent tout simplement pas. Par exemple, téléphonez-leur une fois par an avec une simple requête non complexe ("Aidez-moi, je ne peux pas me connecter aujourd'hui!" Ou "Internet est en panne!") Peu de chances de faire une grande différence, mais si la personne travaillant pour le La société de poker est suffisamment intelligente pour qu'elle l'ait reconnu comme un indicateur fiable.

  9. Séances perdantes sporadiques. L'inclinaison peut être simulée et le bot peut mal jouer et perdre de l'argent de temps en temps. Tout le monde s'incline à un moment donné.

Le problème est également que les sites Web de poker ne se soucient pas particulièrement de savoir si des bots fonctionnent sur leurs réseaux, chaque joueur vaut une grosse somme en rake et théoriquement d'un point de vue purement cynique, le seul inconvénient serait une mauvaise presse s'il était découvert. .

Même lorsque des exploits flagrants ont été découverts, (recherchez sur Google les scandales du réseau Cereus ou Absolute Poker Scandal , c'est assez choquant), l'entreprise semble survivre et rester en bonne santé, ne perdant que des joueurs bien éduqués et gagnants (dont il n'y en a pas beaucoup). Cela augmente la proportion de joueurs moins qualifiés dans le réseau, ce qui à son tour attire les bons joueurs. C'est une bonne vieille prise 22. Un excellent argument pour une bonne régulation du marché.

Il est important de noter que pour chaque jeu, un équilibre nash existe . Le poker en ligne a une chronologie de la façon dont il fonctionne maintenant, il va devoir passer à quelque chose de plus social (webcam / voip) pour que quiconque lui fasse confiance à l'avenir (si les gens lui font confiance) car les bots finiront par prendre le dessus mathématiquement. supérieur et psychologiquement immunisé. La communauté de poker AI est très active , alimentée par le monde universitaire et / ou par des bénéfices en capital.

Des versions plus simples du poker telles que le poker limit ont été presque résolues dans de petits espaces de recherche. Ce n'est qu'une question de temps avant que des versions plus complexes du jeu (variations No Limit / Pot Limit Omaha, etc.) ne deviennent battables pour les joueurs artificiels.

Conclusion

Les robots sophistiqués ne peuvent tout simplement pas être détectés jusqu'à ce que l'industrie passe à un environnement de jeu en ligne plus social. Cela ne résoudra pas le problème, mais rendra certainement plus difficile la victoire des bots aux niveaux inférieurs. Nous avons déjà vu un léger changement avec la sortie de PKR , 3D et un plus interactif , moins de mains par heure des autres sites où le multitabling est assez délicat à réaliser pour un joueur.

Le problème souffre également de la nature de l'industrie, une raison de plus de s'en tenir aux sites Web plus grands et plus réputés où la réputation est de plus en plus intégrée dans leur modèle commercial. Le manque de transparence et la feinte transarancy n'aident pas la cause.

Le vrai défi actuellement pour les développeurs de bots est d'écrire un algorithme gagnant, ce n'est pas aussi trivial qu'il n'y paraît. Tout le monde qui joue au poker se considère bon, gagnant ou un joueur au seuil de rentabilité, ce qui n'est tout simplement pas vrai. C'est pourquoi les gens continuent à jouer, même lorsqu'ils perdent de l'argent car ils sont sous l'illusion qu'ils sont tout simplement malchanceux ou que leur style de jeu est mal compris. Cette arrogance et cette faiblesse de la psychologie humaine ont coûté beaucoup d'argent aux joueurs perdants et sont la raison fondamentale pour laquelle le poker peut encore être rentable.

Le poker est un jeu extrêmement compliqué qui prend des années pour devenir bon (le vieil adage reste vrai, "Dix minutes pour apprendre, une vie à maîtriser"). L'élément chance est extrêmement limité sur le long terme.

Comme toute autre profession, pour devenir bon, vous devez étudier pendant des centaines et des centaines d'heures et jouer pendant plusieurs milliers. Vous comprendrez des choses que les joueurs moins expérimentés ne comprendront pas, repérez les choses que les moins expérimentés ne repéreront pas. L'apprentissage dure très très longtemps, peut-être plus longtemps que nous ne pourrons jamais vivre. C'est un jeu compliqué.

Combien de fois avez-vous vu un cash game à enjeux élevés à la télévision et entendu quelqu'un lui crier "C'est un appel facile!" ainsi prouver que les amateurs ne comprennent ou ne reconnaissent vraiment pas la sophistication dans le jeu, et croient vraiment que le jeu à ce niveau est encore finalement simple. Ça ne l'est pas. Ces joueurs à enjeux élevés (la plupart du temps) sont là à la télévision parce qu'ils sont vraiment vraimentbien. Il y a aussi probablement un méta-jeu compliqué en cours de lecture, dont notre Amauer ne peut pas reconnaître l'existence. L'amateur ne voulait pas se tenir devant un maître d'échecs et lui crier de bouger son chevalier, mais à cause de la dynamique du poker étant une information imparfaite, leur psychologie les fait vraiment croire ce qu'ils disent. Comme aux échecs, les décisions peuvent être complexes, sensibles et extrêmement importantes pour l'ensemble du jeu. Au fur et à mesure que le jeu devient de plus en plus complexe, les décisions triviales ne sont plus si triviales, car votre adversaire les attend.

Une fois que vous avez fait monter votre bot ou votre jeu dans les niveaux, vous rencontrerez inévitablement un plus grand nombre de joueurs plus qualifiés. Ensuite, la complexité de votre stratégie va devoir passer au niveau supérieur, en tenant compte des images de table , de l'équilibrage des plages , le bluff sophistiqué et intelligent (c'est-à-dire pas seulement bluffer à la faiblesse, bluffer à distance et bluffer sur l'image, etc.), avec une analyse plus détaillée de la portée des mains. C'est vraiment un jeu différent à mesure que vous progressez.

Une fois qu'un bot gagnant a été écrit, le codeur aura sans aucun doute suffisamment de compétences, de connaissances et de bon sens pour appliquer le bot de manière indétectable. C'est trivial pour eux.

Vous ne pouvez donc vraiment rien faire. Si vous souhaitez jouer en ligne, comprenez les risques. Ne risquez jamais plus d'argent que vous ne pouvez vous le permettre et essayez de tenir des registres précis des dépenses afin de ne pas avoir une surestimation erronée, irréaliste et finalement dommageable de votre propre capacité. Ayez des stop loss et quittez la table si vous n'avez pas d'avantage, ou si vous n'êtes pas sûr d'avoir un avantage! Bien sûr, si tout le monde faisait cela, personne ne gagnerait, c'est la nature prédatrice et exploitante du jeu, c'est de là que vient la concurrence et c'est ce qui le rend amusant.

Tom Gullen
la source
3
Au moins à l'époque des moniteurs analogiques, il serait possible d'avoir une capture d'écran fonctionnant sur un ordinateur entièrement séparé de celui qui joue au jeu. Détecter une telle chose dans le logiciel du jeu serait bien sûr totalement impossible. Même si HDCP ne permettait pas de faire une telle chose avec la sortie vidéo d'un ordinateur moderne, on pourrait toujours utiliser une caméra à visée précise. Si les cartes sont facilement lisibles par un humain, une machine n'aura aucun problème.
supercat du
De nos jours, vous pouvez même exécuter le jeu sur une machine virtuelle et le bot en dehors de celle-ci, en capturant des images et en envoyant des événements clavier / souris.
André Paramés
Jetez un œil à OpenHoldem. La chose a même des extensions DLL pour simuler la gigue de la souris et l'accélération humaine de la souris pour cliquer sur les boutons. Si votre code génère des triplets de probabilité pour Call ou Check / Fold / Raise, il sera difficile de localiser des modèles sans éventuellement des milliers de mains.
rndapology
9

Il y a trois domaines distincts à considérer. Le bot doit déterminer l'état de la table, prendre une décision et renvoyer la décision à l'hôte.

Il est beaucoup plus facile de déterminer l'état du tableau s'il est envoyé à travers le fil sous une forme reconnaissable ou affiché à l'utilisateur sous forme de texte standard. Tout d'abord, faites de la reconnaissance d'image la seule option, puis rendez-la aussi difficile que possible. Affichez les cartes en 3D et modifiez lentement l'orientation et la position des cartes. Animez de petits scintillements ou des feux d'artifice devant les cartes afin que toute capture d'écran donnée puisse être illisible, mais cela prend même un certain temps pour le déterminer.

Il n'y a rien à faire pour prendre la décision. Essayer de décider si une décision a été prise par un humain ou non est comme un test de turing avec presque aucune information.

Le renvoi de la décision peut être rendu difficile en utilisant à nouveau la 3D. Rendre difficile l'envoi de paquets directement ou soumettre une décision par tout autre moyen que de cliquer sur un bouton avec la souris. Déplacez légèrement les boutons à chaque action ou faites-les flotter lentement autour de l'aire de jeu en attendant une décision. Désactivez toutes les fonctionnalités de type d'accessibilité qui permettent de trouver ou de manipuler des boutons.

dessiné
la source
3
La sécurité par la difficulté. En supposant que vous êtes autorisé à diffuser une vidéo rendue du jeu, le but est d'en faire un CAPTCHA en mouvement.
drawonward
3
@The Rook: PokerPirate, auquel vous faites référence dans votre question, n'a absolument rien à voir avec HTTP. En fait, je doute qu'il y ait des sites de poker qui utilisent HTTP. Votre question, réponse et commentaires révèlent que vous en savez très peu sur ce sujet. Vous devriez essayer de savoir de quoi vous parlez avant de donner des conseils aux gens sur ce qu'ils devraient faire. :)
RarrRarrRarr
2
@drawnonward: Si la convivialité n'est absolument pas un problème, vous pouvez avoir la sécurité en coupant toutes les connexions de données, ce qui est sans doute une manière créative d'arrêter la triche. Je ne vois pas comment évaluer les mesures de sécurité sauf dans le contexte de la convivialité.
David Thornley
1
@drawnonward: Bien sûr, mais (a) je ne peux pas accéder à un site bancaire sans mot de passe, (b) les opérations bancaires sont plus une nécessité pour la plupart des gens que le poker en ligne, et (c) ce n'est pas un ennui permanent qui persistera longtemps. Cette solution sera probablement pire que le problème d'origine.
David Thornley
2
Le problème initial est de s'assurer que seuls les humains jouent au poker sur une page Web. Avec un site bancaire, une fois que vous entrez votre mot de passe, vous gagnez la confiance de l'hébergeur. Dans ce cas, vous ne pouvez rien faire pour gagner la confiance continue de l'hôte, le défi de sécurité doit donc être continu.
drawonward
8

PokerPirate, comme presque tous les robots de poker jamais écrits, fonctionne en grattant l'écran et en simulant des clics de souris dans une application de poker Windows. Par conséquent, la cheville ouvrière du système est sa capacité à reconnaître les objets dans le jeu et à effectuer des actions dans la fenêtre. Aussi intelligent que cela puisse être au poker, il a probablement encore des problèmes avec ces opérations de base.

Par conséquent, les moyens évidents de contrecarrer ce bot incluent:

  1. Mettez en œuvre un CAPTCHA, soit avant le match, soit lorsque d'autres facteurs suggèrent qu'un joueur peut être un bot.
  2. Rendez les graphiques de la table plus compliqués ou changez de thème tout au long du jeu.
  3. Détectez les mouvements et clics de souris inhabituellement rapides et / ou robotiques (un humain ne déplacera jamais une souris sur une ligne mathématiquement parfaite).
Cerin
la source
2
La majorité de ceci est la sécurité par l'obscurité. Tout cela peut être cassé, y compris le captcha. Bien que j'admette que c'est la partie la plus difficile à casser. (+1 Il n'y a pas de solution à 100% et une grande partie de cette description pourrait être utilisée avec d'autres techniques.)
tour
2
Quelle est la qualité des bots captcha maintenant, de toute façon? Je vais vous dire ceci: la moitié des images que je reçois de Google Apps sont impossibles à lire pour un humain .
WCWedin
Toute la sécurité informatique passe par l'obscurité. La raison pour laquelle une personne ne peut pas lire un e-mail chiffré est qu'elle ne trouve pas facilement la clé privée. Mais avec suffisamment de temps et de ressources informatiques, cela peut aussi être "cassé". La plupart des captchas sont plutôt bons et élimineront 99,99% des bots.
Cerin
5

Idéalement, la seule solution valable est de créer une logique de pot de miel qui attire un bot engagé en offrant la tentation d'une condition logique plus favorable qui favorise les réponses comportementales les plus idéales du bot. Une fois que le bot est engagé dans le pot de miel, vous devez continuellement alimenter les conditions du bot qu'il préfère en supposant que le bot n'a pas de délai d'expiration défini. Ensuite, le bot peut être mesuré, enregistré et étudié. En plus du bot, vous auriez également le réseau et les données de session isolés pour étude à condition que le bot ne se connecte pas via TOR.

Dans cette situation, les considérations déterministes appropriées pour différencier un bot d'un humain sont moins sévères, cependant, la considération déterministe lors de l'identification du comportement du bot devient plus sévère. Malheureusement, le propriétaire du bot peut apporter des modifications au bot pour empêcher une telle identification si ce propriétaire est conscient de l'état du pot de miel ou de sa considération logique.


la source
3
Citant Sun Tzu: "Connaissez votre ennemi". Évitez ses forces et explorez ses faiblesses.
jweyrich
Ce n'est pas une mauvaise idée et je suis intéressé par ce à quoi ressemblerait ce logiciel. Souhaitez-vous élaborer sur une condition spécifique?
tour
1
Les points de sortie de Tor sont assez limités. Tout joueur qui se connecte via un point de tor existe doit être suspect.
Christian
Créer un pot de miel pourrait coûter très cher pour un site de poker
Tom Gullen
Vous pouvez simplement lui faire croire qu'il fait de l'argent.
Jeff Davis
4

Vaincre les robots de poker peut prendre deux formes: vous pouvez essayer de les identifier et les bannir du système, ou vous pouvez simplement les battre au poker. Les battre au poker est la question académique la plus intéressante. :-)

Voir ici quelques articles sur la lutte contre les bots de poker: http://www.cs.cmu.edu/~sganzfri/

Aaron
la source
2

Une autre pensée sur le fait de jouer avec l'écran pour le rendre difficile à numériser:

Faites la carte de toute une série de couleurs différentes - proches en termes d'oeil humain mais pas les mêmes. Cela rendrait plus difficile la sélection des éléments à lire. D'un autre côté, mettez une fausse écriture sur la carte dans des couleurs que l'œil humain ne séparera pas de l'arrière-plan.

Loren Pechtel
la source
2
Malheureusement, cela serait assez facile à vaincre pour n'importe quel programmeur concurrent, car ils filtreraient des plages de couleurs grattées et non des valeurs exactes en contournant cette solution.
Tom Gullen
Les gammes de couleurs fonctionneraient si elles étaient corrigées - mais que faire si vous continuiez à changer les choses? Cela signifierait que votre grattoir devrait être programmé pour comprendre la vision humaine. Ce ne serait pas impossible mais cela rendrait les choses beaucoup plus difficiles.
Loren Pechtel
Plausible, mais cela va considérablement nuire à l'expérience des utilisateurs valides du logiciel, ce qui est probablement une mauvaise affaire.
Tom Gullen
Très facile à vaincre. J'ai déjà écrit un robot de poker et je fais de la reconnaissance de cartes en calculant la similitude d'image dans une boîte englobante. Même si aucun des pixels n'est exactement le même (soit parce que les couleurs de la carte ou l'emplacement de l'écran sont légèrement modifiés sur chaque had), je peux toujours utiliser ces mesures de similitude pour identifier la carte "la plus probable".
benjismith
Et pourquoi pensez-vous que les couleurs doivent rester similaires? Faites-les passer par des couleurs extrêmement différentes et parcourez l'arrière-plan - j'imagine un effet comme une vague qui continue de balayer les cartes et de changer les couleurs. Gardez beaucoup de contraste et assurez-vous que les couleurs qui en résultent ne sont pas laides.
Loren Pechtel
2

Le problème avec les bots est-il le fait qu'ils jouent mieux que des joueurs humains décents, ou qu'ils peuvent attendre 24 heures sur 24, 7 jours sur 7, que de mauvais joueurs apparaissent et ensuite essayer de les traire?

De plus, serait-il «légitime» ou «tricheur» pour quelqu'un d'avoir un ordinateur assis à côté de lui pendant qu'il jouait au poker, consultant cet autre ordinateur pour obtenir des conseils?

Je ne sais pas comment on peut prétendre que l'espace de solution pour le poker limité est "résolu" lorsque la stratégie optimale pour un joueur sera influencée par ce que l'on sait des adversaires. Comment une tentative d'analyse des joueurs peut-elle prétendre être si parfaite qu'elle ne pourrait pas être améliorée?

supercat
la source
Voici une discussion intéressante sur la question de savoir si le poker peut être résolu: forumserver.twoplustwo.com/29/news-views-gossip / ... Certaines des affiches sont très réputées. Le problème est que, théoriquement, un bot fonctionnera de manière imbattable. De plus, le logiciel que vous décrivez pour vous `` aider '' est une zone grise, de nombreux sites autorisent des logiciels d'analyse de données tels que PokerTracker / PokerOffice, mais tracez la ligne avec les calculatrices ICM et autres outils de prise de décision mathématique (par exemple, ceux-ci sont extrêmement utiles en hyper stratégie de fin de tournoi turbo).
Tom Gullen
1

Si vous avez accès à de nombreuses correspondances, vous pouvez adopter une approche d'exploration de données. La force de jeu d'une IA devrait être assez cohérente, alors qu'il existe probablement des modèles simples pour les humains - plus faibles lors des premiers tours d'échauffement, et la force se détériore après avoir joué pendant longtemps. De plus, les temps de décision humains augmentent 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 bots, à 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'emplacement de clic statistiquement descriptibles, etc.

Tgr
la source
De nombreux sites de poker implémentent désormais des raccourcis clavier pour le multitâblage, vous pouvez donc supprimer le besoin d'une souris dans un bot. Je ne pense pas non plus que la décision s'accompagne souvent d'argent en jeu, elle est principalement liée à la difficulté de décision.
Tom Gullen
1

Jetez un œil à Ajax Control Toolkit NoBot :

NoBot utilise différentes techniques anti-bot:

* 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)
lmsasu
la source
0

Une solution à 100% est impossible, ce que je propose est une solution qui permettra d'économiser de l'argent en utilisant l'IA contre elle-même. Faites tourner une instance de l'IA de PokerPirate côté serveur et jouez en tant que joueur invisible dans chaque partie. Si un joueur effectue trop d'actions identiques, il exécute probablement une instance de PokerPirate. C'est une sorte de pot de miel ou de piège dans lequel l'attaquant peut tomber. L'attaquant peut se défendre contre ce pot de miel en rendant son bot moins performant. Ainsi , cela crée un est venu de « Chat et souris » dans lequel l'attaquant peut toujours voler un peu d' argent et le défenseur peut toujours sauver un peu d' argent.

tour
la source
5
Dommage que vous ayez supprimé votre autre réponse presque identique, car elle contenait des commentaires intéressants.
Paul Dixon du
Cela suppose qu'il n'y a qu'un seul robot jouant au poker et qu'un humain ne ferait jamais les mêmes choses qu'un bot.
drawonward
@drawnonward Un humain ne va pas agir comme un bot tout le temps , il y a un facteur de flou ici.
tour du
3
@TheRook 'Gamboling "AI's" devrait être purement mathématique et il y a toujours la "bonne réponse".' Cela n'est vrai que dans les jeux d'informations complètes dont le poker n'en fait pas partie. Un joueur qui effectue toujours la même action dans le même état devient prévisible et donc facile à vaincre. Les meilleurs robots auront des éléments aléatoires. Même le plus mathématique des joueurs recommandera des comportements variables même dans la même situation (généralement avec un pourcentage de probabilité).
Davy8
1
@The Rook Je n'étais pas, c'était un cadre académique, mais j'ai trouvé une référence (et à peu près tous les livres de poker sérieux que vous choisirez conviendront qu'à un niveau élevé de jeu, l'imprévisibilité est cruciale) sciencenews.org/sn_arc98/ 7_18_98 / bob1.htm Quelques citations:"We've been working on categorizing and understanding styles of play, [...] it gets more difficult in games against top players because they mix up their play deliberately to confuse you." Being unpredictable is a good strategy, he adds. "If our computer is going to beat the world champion, it's got to do something similar."
Davy8
-2

Il existe des moyens beaucoup plus simples. Oui. beaucoup de suggestions sont justes et nécessaires. mais environ 90% des fraudes sont détectées de manière trop simple.

si quelqu'un laisse un robot travailler pour lui, il voudra, après un certain temps, qu'un deuxième robot travaille pour lui. (une autre machine ou quoi que ce soit) mais: il utilisera le même mot de passe, car il est difficile de s'en souvenir 2 (<--- sarcastique)

ce qui reste: vérifiez les comptes avec le même comportement de jeu et le même hachage de mot de passe.

cRichter
la source
Comment est-ce fiable? Je suppose que BEAUCOUP de personnes différentes utilisent le même mot de passe. Ne me lancez même pas avec un mot de passe comme leur date de naissance, ou simplement "azerty" ou "password".
DuoSRX
6
Salez vos hashes! > = (
WCWedin
1
@WCWedin bon appel, tous les hachages de mot de passe doivent utiliser un sel unique.
tour
@DuoSRX vrai, pas fiable, mais un bon indice. toute la liste des résultats va à l'équipe de fraude, et ils font une vérification des antécédents sur les comptes. @WCWedin oui. nobrainer ;-)
cRichter