Poker-AI.org

Poker AI and Botting Discussion Forum
It is currently Mon Nov 13, 2023 5:11 pm

All times are UTC




Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Tue Oct 07, 2014 3:54 am 
Offline
Veteran Member

Joined: Wed Mar 20, 2013 1:43 am
Posts: 267
I want to implement a Best Response calculation to test my CFR Bot.

I have already once implemented code for one Street, based ony Amax' code and I added my own isomorphism code, but it is not generalizable to a full Hold'em game.

Now I plan to implement it for the full game, using the Isomorphism Algorithm from the Poker Papers section and the Fast BR algorithm from the University of Alberta, but I am really not sure how to do it efficiently.

The problem really are the isomorphisms. My idea so far is to simply iterate over all starting hands, all flops, all turns and rivers and to create a separate data structure, that will keep track over if an isomorphic hand has already been processed. If an isomorphic hand has already been processed, I simply return the value of that isomorphic hand and at the end I normalize everything.

But this still seems fairly inefficient, as I still have to compute the index for each startinghand/flop/turn/river combination. Is there a way to know beforehand, if I even need to check a combination?

I thought about not iterating over the actual cards, but to iterate over the indexes in the table instead and to recreate a canonic hand from the index, but I can't wrap head around how to traverse the public game tree that way.

In the accelerated BR paper it says : There are 1755 canonical flops

So there seems to be a method to acquire canonical boards and only iterate over those, but the isomorphism algorithm seems to only be able to recognize canonical hands, not canonical boards.

Any suggestions, or (pseudo) code are very welcome. Thanks.


Top
 Profile  
 
PostPosted: Tue Oct 07, 2014 5:49 am 
Offline
Veteran Member

Joined: Wed Mar 20, 2013 1:43 am
Posts: 267
Ok, after somer research and trial and error I have figured one thing out. You can really just give the isomorphism algorithm 3 cards and it will give you the canonical flops. That way I can also get all canonical turns, but I am still wondering, how to go from the flop to the turn efficiently.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group