Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug in terminal_equity.set_call_matrix #30

Open
NikolaosBouas opened this issue May 31, 2019 · 3 comments
Open

Bug in terminal_equity.set_call_matrix #30

NikolaosBouas opened this issue May 31, 2019 · 3 comments

Comments

@NikolaosBouas
Copy link

For streets 2 and 3 next_round boards ( local next_round_boards = card_tools:get_last_round_boards(board);) is a 2D Tensor containing all the possible boards given a set of board cards.

When you later call handle_blocking_cards in get inner_call_matrix you pass this 2D Tensor as an argument.

Inside handle_blocking_cards you use this 2D array to get the possible hand indexes , which I think is wrong as card_tools:get_possible_hand_indexes expects only one set of board cards.

@happypepper
Copy link
Owner

Thank you for creating this issue. This is indeed a bug, but I believe it will not affect the quality of the solutions. Inside evaluator.lua, M:evaluate_fast at line 137, the impossible hands are masked. Then inside terminal_equity.lua line 102, the possible_mask is created appropriately.

Would be grateful though if someone could compare results with fixing this bug and without, just to confirm.

@NikolaosBouas
Copy link
Author

Ok! Would a solution similar to the one used in leduc implementation be wrong? Specifically , calling get last_round_call_matrix for every possible last round board and then calculating an average over the results.
Also, I am having trouble understanding what kind of information the texas_lookup matrix, which is used in your solution , contains. Could you maybe explain it?

@happypepper
Copy link
Owner

It would work but wouldn't be fast enough practically so I batched it in my implementation. Theres probably an even faster way to do it.
The texas_lookup table is used for evaluating hand ranks. It's the same as the handranks.dat in this repo: https://github.com/christophschmalhofer/poker/tree/master/XPokerEval/XPokerEval.TwoPlusTwo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants