Frage

Es gibt ein neues Poker-Bot Open Source genannt PokerPirate . Ich bin interessiert an irgendwelchen kreativen Möglichkeiten, wie eine Web-Anwendung erkennen könnte / vereiteln / Poker-Bot besiegen. (Dies ist eine rein akademische Diskussion, in dem gleichen Geist, dass PokerPirate geschrieben wurde.)

War es hilfreich?

Lösung

einen Bot aus der serverseitigen Perspektive Besiegen

  1. Viele Online-Poker-Websites verwenden Pop-up sind Sicherheits Eingänge, die ausgelöst werden durch verdächtige Aktivitäten.

  2. Einige Pokerseiten Monitor spielen Zeiten und Muster (das heißt, worst case Szenario ist ein Spieler, der 24x7 spielt und 16 Tabellen kontinuierlich, gibt es eine winzige kleine Chance ist dies eine echte Mensch. (Jedoch einige Spieler pokertableratings.com Daten Minen viele große Websites. Es hat wurde mit einem gemischten Empfang trifft, etwas Liebe die Transparenz, andere hasse es . Der Vorteil ist jedoch, dass gab es Fälle, wo verdächtige Spieler Statistiken (VPIP Prozentsätze, PFR Prozentsätze sind ein paar von einer großen Anzahl der quantifizierbaren Statistiken die aufgezeichnet werden können) haben führen zu Schlussfolgerungen des Betrugs

  3. Künstlich intelligente Klassifizierung Netzwerke könnte überwachen quantifizierbare Statistiken Klassifizieren Schelm Betrug oder Roboter Spieler.

  4. Zurück beim Online-Poker war ein ziemlich neue Unternehmen, gab es Gerüchte und sprechen mit begrenzten Hinweise darauf, dass einige Poker-Client-Software Screenshots von verdächtigen Spieler wenn sie Desktops zu sehen liefen Programme, die sie unterstützen. Aber (auch wenn dies wahr) laufen zwei Computer, die beiden Aufgaben unabhängig würde sich um diese.

  5. Der Austausch von Informationen zwischen den Wiederholungs Straftäter zwischen mehreren Standorten wäre für die Industrie von Vorteil sein, wenn nur sie waren ehrenwert und laufen von zuständig verantwortlichen

  6. Einige Bots wäre wahrscheinlich recht sein wenn Sie könnten einfach durch Design, entdecken ihre Spielstil und sehen, wie sie handeln in identischen Situationen (beachten Sie diese nur möglich ist, mit ungekünstelt Bots spielen sehr grundlegende Strategie) konnte man entdecken sie recht schnell.

  7. inkonsistente Verwendung von Programm Funktionen würden auf ein mageres Spieler sind echt. Dauern Beispiel viele Poker-Websites im Spiel haben eine ‚Falten, wenn ich an der Reihe ist‘ Taste. Wenn Sie eine schlechte behandelt erhalten Hand und warten auf ein anderes Spieler zu entscheiden, was zu tun ist, eine Menge der Spieler wird diese Schaltfläche überprüfen. Ein Bot kann diese Tasten verwenden. Das Unterschied ist, ein Bot an den Extremitäten der Häufigkeit der Verwendung wäre, sie would wahrscheinlich entweder nutzen sie die ganze Zeit, oder gar nicht. Wheras ein Spieler könnte in der Regel drücken ‚AutoFold‘, aber manchmal werden sie Klick falten ohnehin auch in den Bevorzugte Umstände. Beispielsweise, in der Regel ein echter Spieler drückt Auto falten, aber diesmal sind sie nicht. Es ist rund mit nicht zu ihnen gefaltet andere Spieler handeln, jetzt haben sie wurde mit den meisten präsentiert günstige Bedingung möglich. Jetzt wenn sie falten drücken, müssten sie stark geneigt zu drücken AutoFold von Anfang an war. Das ist inconsistant / nicht optimierten / random Verhalten, Stetig mit dem Sein eines Mensch. Timing sagt, wenn diese Funktionen angeklickt werden, sind andere Indikatoren. Es ist wichtig zu erkennen, dass diese alle Indikatoren und nicht schlüssiger Beweis. Alle diese Verhaltensindikatoren leicht simuliert werden können.

einen Bot von einem Spieler Perspektive Besiegen

  1. Versuchen Sie, melden Sie sich und sammeln Sie so viele Daten wie möglich Software wie Poker Tracker

  2. Der Versuch, Muster zu identifizieren, in seine Spielweise

  3. Der Versuch, Beziehungen zu finden zwischen Wette Größe im Verhältnis zu Topf / # Spieler und Handstärke

  4. Versuchen seine Hand reicht zu berechnen. Ein Low-Stakes bietet wahrscheinlich häufig genug bluffen würden nicht von nennenswerter strategischen Bedeutung zu sein, so sehr genaue Hand Bereich Konstruktion für es nicht zu schwierig sein sollte.

  5. Versuchen Sie Lecks finden in seinem Spiel über die Datenanalyse und Probe und Fehler Sobald Lecks / Muster haben , Versuch wiederholt gefunden worden, ausbeuten und vermeiden andere Situationen.

Wenn ein Mensch fähig ist, Anpassung , Bots sind wahrscheinlich weniger so, und wo Menschen sind von den Ketten von Neigung , Ergebnisse orientiertes Denken und Frustrationen , Bots sind es nicht. Sie können diese zu Ihrem Vorteil nutzen.

Also im Grunde gibt es nichts, was man tun kann, um es zu stoppen, wenn der Roboter klug genug ist echte Zeitverzögerungen bei Entscheidungen zu simulieren, sowie angemessene und realistische Spielmuster erstellen. Throw in einigen zufälligen Bedingungen und einfachen Backup-Chat (der Pokerspieler Lexikon ist in der Regel ziemlich begrenzt ) und Sie haben selbst einen KI-Spieler, die ziemlich schwer sein wird zu erkennen.

Was Bots tun könnte Erkennung zu vermeiden

Der Schlüssel zu vermeiden Erkennung wäre über das Problem zu denken, von so vielen Winkeln wie möglich. Sie versuchen, in einer sehr kleinen und beschränken Welt intelligentes menschliches Verhalten zu simulieren. Die meisten der Verhaltenssimulationen können Sie laufen sind ziemlich offensichtlich, aber je mehr inconsistant und unberechenbar Bot ist, desto weniger wahrscheinlich ist es, entdeckt zu werden ist.

  1. Erstellen Sie realistische Spielpläne (Das heißt, 3-5 mal pro Woche, 4 Stunden pro Sitzung mit der ungeraden Woche hier und dort im Laufe des Jahres).

  2. off
  3. Ausführen von Programmen, Entscheidungen zu treffen auf separate Computer, Controlling a Zombie-Computer in Fall alle Websites Screen-Capture.

  4. randomise Aktion Timings (nicht handeln sofort, warten 0,5-2 Sekunden pro Aktion)

  5. Zeit nach unten auf große Entscheidungen. Wenn eine Entscheidung ist, Borderline, berechnen die Entscheidung dann eine Weile warten auf Simulieren Gedanken.

  6. Random Verwendung von Client-Software verfügt. Simulieren Toilettenpausen durch Klick die „Deal me out-Taste“ auf allen Tabellen und haben eine Pause von 5 Minuten ab und zu.

  7. Simulierte Chat, Poker-Chat ist oft sehr einfacher Einzeiler, nie in der Regel Diskussion oder Debatte. Sagen Dinge wie „Pech“ oder „stfu“ an geeignete nachweisbare Momente. Oder auch haben die Coder seine Überwachung bietet und im Chat Eingriff während Ausführung.

  8. Stellen Sie sicher, Mausbewegungen sind realistisch. Wenn Tabellen geflieste nicht eine Entscheidung treffen, Tabelle links oben dann sofort machen auf unten rechts Tisch. Die meisten Websites Software jetzt Tastaturkürzel bieten, können diese bevorzugt sein, als zu mousemovement verwenden soll.

  9. Dinge tun, die ganz einfach AI Klassifizierer würde nicht erwartet werden. Zum Beispiel einmal im Jahr telefonisch sie mit einer einfachen nicht-komplexen Abfrage ( "Hilfe, ich kann nicht melden Sie sich an heute!“oder‚Das Internet ist down!‘) Unwahrscheinlich viel Unterschied machen, aber wenn die Person, für die Poker-Unternehmen tätig ist intelligent genug, könnten sie haben es als realiable Indikator erkannt.

  10. Sporadische verlieren Sitzungen. kippbar simuliert werden und kann der Bot spielen schlecht und immer mal etwas Geld verlieren und dann. Jeder neigt bei einigen Punkt.

Die Sorge ist auch, dass Poker-Websites kümmern sich nicht besonders, wenn Bots auf ihre Netze laufen, jeder Spieler lohnt sich eine große Menge an Rake und theoretisch von einem rein zynisch betriebswirtschaftlicher Sicht ist der einzige Nachteil schlechte Presse wäre, wenn es entdeckt wurde.

Auch wenn eklatante Exploits entdeckt, (Suche auf Google Cereus Netzwerk Skandale oder absolute Poker Skandal , es ist ziemlich schockierend) scheint das Geschäft zu überleben und gesund bleibt, nur gut zu verlieren ausgebildete und Spieler zu gewinnen (davon gibt es nicht viele). Dadurch erhöht sich der Anteil der weniger erfahrene Spieler an das Netzwerk, das wiederum zurück an die guten Spieler anzieht. Es ist eine gute ol‘fashioned Fang 22. Ein ausgezeichnetes Argument für eine ordnungsgemäße Marktregulierung.

Es ist wichtig zu beachten, dass für jedes Spiel ein nash Gleichgewicht besteht . Online Poker hat eine Zeitleiste, um es so, wie es jetzt läuft, es ist zu haben, in etwas mehr sozialen (Webcam / VoIP) zu bewegen, für alle, es in Zukunft zu vertrauen (wenn die Menschen ihm vertrauen) als Bots schließlich übernehmen werden als mathematisch überlegen und psychologisch immun. Die Poker-AI-Gemeinschaft ist sehr aktiv , angetrieben von Wissenschaft und / oder Kapitalleistung.

Einfachere Versionen von Poker, wie Limit-Poker haben fast gelöst in kleinen Suchräume. Es ist nur eine Frage der Zeit, bevor komplexere Versionen des Spiels (No Limit Variationen / Pot Limit Omaha < werden / a>, etc.) für die künstlichen Spieler schlagbar.

Fazit

nur Anspruchsvolle Bots können nicht bis in die Industrie verschiebt sich zu einem sozialeren Online-Gaming-Einstellung erkannt werden. Dadurch wird das Problem nicht lösen, sondern wird sicherlich make es schwieriger für Bots auf den unteren Ebenen zu gewinnen. Wir haben bereits eine leichte Verschiebung mit der Veröffentlichung von PKR , 3D und eine interaktive , weniger Hände pro Stunde Version der anderen Websites, auf denen Multitabling ist ziemlich schwierig für einen Spieler zu erreichen.

Das Problem leidet auch an der Art der Industrie, noch einen anderen Grund für die größeren mehr seriöse Webseiten zu bleiben, wo Ruf hat sich mehr und mehr integriert in ihr Geschäftsmodell. Mangelnde Transparenz und verstellter transarancy nicht die Ursache helfen.

Die eigentliche Herausforderung zur Zeit für Bot-Entwickler ist einen Gewinn Algorithmus zu schreiben, das ist nicht so trivial ist, wie es scheint. Jeder, der Poker spielt, hält sich gut, zu gewinnen oder eine Break-even-Spieler, die einfach nicht wahr ist. Das ist, warum die Menschen weiter zu spielen, auch wenn sie Geld verlieren, wenn sie in der Illusion sind, sind sie einfach Pech, oder ihre Spielweise ist falsch verstanden. Diese Arroganz und Schwäche in der menschlichen Psychologie haben Kosten Spieler eine Menge Geld und ist der wesentliche Grund, dass Poker immer noch verlieren kann profitabel sein.

Poker ein enorm kompliziertes Spiel ist, die Jahre dauert, um gut zu bekommen (Das alte Sprichwort wahr bleibt: „Zehn Minuten zu lernen, ein Leben lang zu meistern“). Das Glück Element wird auf lange Sicht äußerst begrenzt.

Wie bei jedem anderen Beruf zu bekommen, gut, müssen Sie Studie für Hunderte auf Hunderte von Stunden, und für viele Tausende spielen. Sie werden die Dinge verstehen, die weniger erfahrene Spieler verstehen würden nicht, vor Ort Dinge des weniger erfahrene gewohnt vor Ort. Das Lernen geht für eine sehr lange Zeit auf, vielleicht mehr als wir jemals zu Hause ist. Es ist ein kompliziertes Spiel.

Wie oft haben Sie es ein High-Stakes Cash-Game auf dem Fernseher und hörte jemanden schreien gesehen „Das ist einfach an!“ so prooving, dass Amateure wirklich nicht Raffinesse im Spiel verstehen oder erkennen, und glauben, wirklich das Spiel auf diesem Niveau noch letztlich einfach ist. Es ist nicht. Dieser High-Stakes-Spieler (ein großer Teil der Zeit) ist im Fernsehen gibt, weil sie wirklich wirklich wirklich gut. Es ist auch wahrscheinlich ein kompliziertes Meta-Spiel auch gespielt, die unsere amauer nicht die Existenz erkennen können. Die amatuer stehen würde über keine Schachmeister und schreien sie ihre Ritter zu bewegen, doch wegen der Dynamik der Poker unvollkommenen Informationen nicht mehr ihre Psychologie macht sie wirklich glauben, was sie sagen. Wie in Schach, können Entscheidungen kompliziert sein, sensibel und extrem wichtig für das gesamte Spiel. Da das Spiel an Komplexität zunimmt, sind trivial Entscheidungen nicht mehr so ??trivial, weil dein Gegner sie erwartet.

Wenn Sie Ihr Bot oder Ihr Spiel auf den Ebenen bewegen, werden Sie unweigerlich auf eine größere bevölkerungsreichste von mehr erfahrene Spieler kommen. Dann wird die Komplexität Ihrer Strategie gehen zu müssen, auf die nächste Ebene zu gehen, unter Berücksichtigung Tabelle bilder , Bereich Balancing , anspruchsvolle und intelligente bluffen (IE nicht nur bei Schwäche bluffen, blufft bei Reichweiten und bluffen auf dem Bild, etc.), mit detaillierteren Hand Bereichsanalyse. Es ist wirklich ein anderes Spiel, wie Sie nach oben bewegen.

Sobald eine Gewinn Bietet geschrieben wurde, ohne Zweifel wird der Coder genug Geschick hat, Wissen und gesunden Menschenverstand den Bot in einer nicht nachweisbaren Art und Weise anzuwenden. Dies ist trivial für sie.

So gibt es wirklich nichts, was man tun kann. Wenn dumöchten, online spielen, verstehen, die Risiken. Nie mehr Geld riskieren, als Sie sich leisten können, und versuchen, genaue Aufzeichnungen über die Ausgaben zu halten, damit Sie nicht über eine fehlgeleitete, unrealistisch und letztlich schädlich über Schätzung der eigenen Fähigkeiten. Haben Stop-Losses, und den Tisch verlassen, wenn Sie nicht die Nase vorn haben, oder wenn Sie sich nicht sicher sind, ob Sie haben einen Vorteil! Natürlich würde, wenn jeder tut, dass niemand gewinnen, ist, dass die räuberische und ausbeuterischen Natur des Spiels, das ist, wo die Konkurrenz aus und das ist, was kommt Spaß macht es.

Andere Tipps

Es gibt drei separate Bereiche zu berücksichtigen. Der Bot hat, um herauszufinden, den Zustand der Tabelle, eine Entscheidung zu treffen, und die Entscheidung zurück an den Host senden.

den Zustand der Tabelle Herauszufinden ist viel einfacher, wenn es über den Draht in irgendeiner erkennbaren Form gesendet wird, oder den Benutzer als Standardtext angezeigt. Erstens, stellt Bilderkennung die einzige Option, dann macht es so schwer wie möglich. Zeigen Sie die Karten in 3D und langsam die Orientierung und Position der Karten ändern. Animate wenig flackert oder Feuerwerk vor den Karten so eine gegebene Screenshot unleserlich sein kann, aber es dauert eine Weile, auch das bestimmen.

Es gibt nichts mit der Entscheidung zu tun. wenn eine Entscheidung zu entscheiden versucht, von einem Menschen gemacht wurde oder nicht, ist wie eine Turing-Test mit fast keine Informationen.

die Entscheidung zurück senden kann wieder durch Verwendung von 3D-erschwert werden. Machen es schwer, Pakete zu senden direkt oder anderweitig einreichen eine Entscheidung durch andere Mittel als eine Schaltfläche mit der Maus anklicken. Verschieben Sie die Tasten leicht mit jeder Handlung oder haben sie das Spielbereich langsam herumschweben, während eine Entscheidung warten. Deaktivieren Sie alle Zugänglichkeit Typ Funktionen, die Tasten erlauben gefunden oder manipuliert werden.

PokerPirate, wie fast jedes Poker-Bot der jemals geschrieben wird, Werke von Screen Scraping und Mausklicks in einer Windows-Poker-Applikation simuliert. Daher ist der lynch-Stift an dem System seine Fähigkeit, Objekte im Spiel und macht Aktionen im Fenster erkennen. So klug, wie es beim Poker sein kann, hat es wahrscheinlich immer noch Probleme mit diesen grundlegenden Operationen.

Daher Offensichtliche Möglichkeiten, diese bieten zu vereiteln würden:

  1. Implementieren Sie ein CAPTCHA, entweder vor dem Spiel, oder wenn andere Faktoren deuten darauf hin, ein Spieler ein Bot sein kann.
  2. Machen Sie die Tabelle Grafiken mehr kompliziert oder zu ändern Thema im Laufe des Spiels.
  3. Detect ungewöhnlich schnell und / oder Roboter-Mausbewegungen und Klicks (ein Mensch wird nie eine Maus in einer mathematisch perfekten Linie bewegen).

Im Idealfall die einzigen gültige Lösung ist eine Honeypot Logik, dass lockt eine engagiertes bietet zu schaffen, indem die Versuchung eines günstigeren logischen Zustandes vorausgesetzt, dass der idealste Verhaltensreaktionen des Bots begünstigt. Sobald der Bot im Honeypot beschäftigt ist, muss man ständig die Bot Bedingungen füttern, dass es den Bot bevorzugt Annahme keinen Satz Timeout haben. Dann kann der Bot gemessen, protokolliert und untersucht werden. Neben dem Bot würden Sie haben auch die Netzwerk-und-Sitzung für Studie isoliert Daten zur Verfügung gestellt der Bot nicht über TOR verbindet.

In dieser Situation deterministischen Betrachtungen geeignet, um einen Bot von einem menschlichen Differenzierung ist weniger streng, jedoch deterministische Betrachtung nach der Identifizierung des Verhaltens des bietet mir noch verschärfen. Leider kann der Bot Eigentümer an den Bot Änderungen eine solche Identifizierung zu verhindern, wenn der Besitzer sich der Honeypot Zustand ist, oder die logische Überlegung davon.

Das Besiegen Poker-Bots kann zwei Formen annehmen: Sie können versuchen, sie zu identifizieren und sie aus dem System zu verbieten, oder Sie können sie nur bei Poker spielen. sie beim Poker zu schlagen ist umso interessanter, akademische Frage. : -)

Sehen Sie hier für einige Papiere zu schlagen Poker-Bots: http: //www.cs.cmu edu / ~ sganzfri /

Blick auf diesen Beitrag

Dieser Beitrag auch einige gute Tipps hat wie zu vereiteln sie.

Ein weiterer Gedanke mit dem Bildschirm auf Unordnung machen es schwer zu scannen:

Machen Sie die Karte aus einer ganzen Reihe von verschiedenen Farben - in der Nähe in menschlichen Auge Bedingungen aber nicht das gleiche. Dies würde es schwieriger, die Sachen herausgreifen zu lesen. Auf der anderen Seite, gefälschte Schreiben in den Farben auf der Karte setzen, dass das menschliche Auge nicht vom Hintergrund trennen.

Ist das Problem mit Bots die Tatsache, dass sie besser spielen als anständiger menschlichen Spieler, oder dass sie 24/7 für schlechte Spieler warten, um können zu erscheinen und dann versuchen, sie zu melken?

Auch wäre es „legitim“ oder „Betrug“ für jemand einen Computer haben neben ihm sitzen, während er Poker spielte, Beratung, dass andere Computer für die Beratung?

Ich bin mir nicht sicher, wie man den Lösungsraum für Limit Poker behaupten kann, ist „gelöst“, wenn die optimale Strategie für einen Spieler wird durch folgende Faktoren beeinflusst werden, was über die Gegner bekannt ist. Wie kann bei der Analyse Spielern jeden Versuch behaupten, so perfekt zu sein, dass es nicht verbessert werden könnte?

Wenn Sie Zugriff auf eine Vielzahl von Spielen haben, können Sie einen Data-Mining-Ansatz. Die Spielstärke eines AI sollte ziemlich konsistent sein, während es wahrscheinlich einfache Muster für den Menschen - schwächer in den ersten paar Aufwärmrunden und Stärke verschlechtert sich nach langer Zeit zu spielen. Auch wahrscheinlich menschliche Entscheidungszeiten steigen, wenn es mehr Geld auf dem Spiel steht.

Wenn Sie Zugriff auf die Maus bewegt haben (oder zumindest klicken Stellen, die auch für Web-Anwendungen wahr ist), sollte es recht einfach sein Bots zu erkennen, mit Ausnahme der anspruchsvollsten diejenigen. Menschen die Maus nicht in einer exakten geraden Linie bewegen, haben sie Speedup und Verlangsamung Perioden statistisch beschreibbar klicken Lage Verteilungen, etc.

Hier finden Sie aktuelle Ajax Control Toolkit NoBot :

NoBot beschäftigt ein paar verschiedene anti-bieten Techniken:

* 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)

Eine 100% ige Lösung ist unmöglich, was ich bin purposing eine Lösung, das Geld durch die KI mit gegen seine Selbst sparen. Haben Sie eine Instanz von PokerPirate KI läuft auf der Server-Seite und spielt als unsichtbares Spieler in jedem Spiel. Wenn ein Spieler führt zu viele identische Aktionen dann werden sie wahrscheinlich eine Instanz von PokerPirate läuft. Dies ist eine Art von Honeypot oder Falle, die der Angreifer fallen könnte. Der Angreifer kann gegen diesen Honeypot verteidigen, indem sie ihr Bot weniger erfolgreich. Damit dies schafft eine kam von „Katz und Maus“, in dem der Angreifer immer stehlen einig Geld und der Verteidiger kann immer speichern etwas Geldes.

Es gibt viel einfachere Wege. Ja. viele der Vorschläge sind richtig, und benötigt. aber etwa 90% der Betrugsfälle sind in zu einfacher Weise erkannt werden.

, wenn jemand einen Bot Arbeit für ihn lassen, er wird nach einiger Zeit, will, dass ein zweites bietet für ihn arbeitet. (Eine andere Maschine oder was auch immer) aber er wird das gleiche Passwort verwenden, da es schwer ist, sich daran zu erinnern 2 (<--- sarkastisch)

was links: überprüfen Sie die Konten mit dem gleichen Spielverhalten und die gleiche Passwort-Hash.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top