Beskyttet:

Paven og hans venner er nu i samling for at undfange: The Pope Pokerbot.

Opgave:

Opgaven går altså ud på at udvikle vores egen Texas Hold’em robot (bot), som er et stykke software som vi kan parkere på en computer, og som skal fungere som vores automatiske stedfortræder på diverse forskellige online pokersites som pokerstars, Unibet, Titan poker etc.

Botten skal teknisk være i stand til at spille Texas Holdem på en eller flere borde 24 timer i døgnet simultant.I første omgang er ambitionen blot at den skal kunne være i stand til at vinde penge over dårlige og middelmådige spillere på de såkaldte mikro eller små borde ( med blinds helt ned til 0.01/0.02 dollar ). Denne ambition kan naturligvis løbende ændres i takt med bottens succes.

En pokerbot består typisk af to hoveddele, en såkaldt game state engine og en action engine. Hvis man studerer litteraturen på nettet er der forskellige approaches for hvorledes game state’en kan opsamles fra poker-klienten.Det approach som vi blev enige om ikke at anvende er screen scraping, men derimod et approach som går ud på at injektere kode i form af en dll ind i poker-klientens adresse rum og dermed være i stand til at real-time parse relevante udskrivninger til typisk table-vinduet,chat-viduet, logs etc.Dette gøres så vidt jeg kan se af litteraturen på nettet bedst ved at anvende velkendte teknikker som Hooks, cbt Hooks og Microssoft detours api.

Før dette kan gøres skal hver enkelt poker-site som vi ønsker at botten skal spille på analyseres ved at hjælp af f.eks spy++ til at fastlægge præcist hvilke mfc-controls (standard eller custom), window handles, caption etc som anvendes i poker-klientens forskellige table-vinduer, som botten spille på. Det kan gøres på under en ½ time og er ganske trivielt.Den injekterede dll skal naturligvis i takt med at den løbende opsamler real time information om game state fra poker-klienten overføre denne via en eller anden robust ipc ( inter process communication) til botten’s hoved-program i form af en exe, som laver processeringen af gamestate og analysere sig frem til at træffe en action (fold, call, raise) som så via ipc sendes tilbage til dll’ens action engine med henblik på at klikke på den korrekte knap (fold, call, raise).

Dette setup er hurtigt kodet og er som sådan trivielt nok med den gængse litteratur på nettet. Den egentlige udfordring består naturligvis i at få botten til at spille strategisk-intelligent og her skal der trækkes på viden fra matematik, statistik, økonomisk teori, spil-teori,  gamble-teori, AI samt selvfølgelig poker-terori.

Ivo

Links

Open Source Poker Kode:

pokersource gna.org/projects/pokersource/

Teori:

Opponent Modeling in Poker (PDF) rabarber.dk

Using Probabilistic Knowledge and Simulation to Play Poker (PDF) rabarber.dk

Books:

Poker for Dummies (PDF) rabarber.dk

Inspirationskilder:

Poker wikipedia.org

Texas hold ‘em wikipedia.org

Poker Open Directory Project

Rybka Chess engine wikipeda.org

Programmer:

Poker Copilot pokercopilot.com med support for bla. Poker Stars

Scenario Poker på iPhone

Værktøjer:

Subversion (svn / CVS repository) subversion.tigris.org

Sikkerhed:

How We Learned to Cheat at Online Poker: A Study in Software Security

Cheaters in Online Poker 1: The Prevalence of Online Poker Cheating

Poker security expert spills the beans about collusion

PokerStars: END USER LICENSE AGREEMENT

Dette indhold er adgangskodebeskyttet. For at se det, indtast venligst din adgangskode nedenfor: