rlcard icon indicating copy to clipboard operation
rlcard copied to clipboard

CFR agent

Open DoxakisCh opened this issue 4 years ago • 4 comments

Hi!

I have a question about the cfr agent that you provide in this repo. I read that it is an vanilla cfr agent, but from what I understand i think that this implementation is a chance sampling cfr. Can you please clarify this?

Thank you in advance!!!

DoxakisCh avatar Jan 29 '21 17:01 DoxakisCh

@DoxakisCh Thanks for the question! Yes, you are correct. The implementation is chance sampling CFR. The deck is randomly dealt for each new game for traversal. We will modify the document shortly to resolve any confusion.

daochenzha avatar Jan 29 '21 19:01 daochenzha

Thank you very much!

I also think that i found a bug in your texas holdem no limit environment and because of that we cant use CFR agents. It has to do with action 3 (raise half pot) and maybe 4 (raise full pot). When the cfr agent performs one of these actions the bet is raised only by 1 because self.dealer.pot in line 97 at file rlcard/rlcard/games/nolimitholdem/round.py remains always 3. Performing CFR iterations is still taking much time but not as before.

DoxakisCh avatar Jan 29 '21 23:01 DoxakisCh

Hi! @DoxakisCh Sorry I can't reproduce the dealer.pot bug. Would you please give more detailed information?

ruzhwei avatar Feb 09 '21 13:02 ruzhwei

Hello!

I cant exactly understand the bug myself but if you want you can add print(self.env.game.dealer.pot) at line 73 of you cfr agent and run an example of no-limit-texas-holdem game. This command will print the pot size after every action. You will notice that all numbers from 3-100 are present which cannot be happening with the available raise actions (raise half and full pot). I am sorry if a cant help you more but I am sure that there is a bug there.

DoxakisCh avatar Feb 13 '21 19:02 DoxakisCh