1) Modify game_settings.lua so there's 1 suit and 4 ranks.
2) Modify test_lookahead.lua so board is Kh instead of Ks
3) Modify test_lookahead.lua to use get_uniform_range for both player_range and opponent_range
4) Replace line 22 of test_lookahead.lua with below code:
local results = resolving:resolve_first_node(current_node, player_range, opponent_range)
print(results.strategy)
print(results.root_cfvs)
5) run test_lookahead.lua, you will see the strategy is to check with every hand which is fine (The strategy for Kh is initialized to 0.333 for every action and stays that way since it's an invalid hand). However, the counterfactual value of holding Ah is 66.66. Shouldn't the cfv be at least 100 since Ah is the nuts and the pot = 200?
I'm guessing the solver doesn't account for card removal and so it will win 100 2/3 of the time and tie 1/3 of the time, giving EV of 66.66?
You can't just modify a game this way.
Terminal equity computation (that is, the values in a terminal node) is implemented for Kuhn only.
Furthermore, the chance action handling is also for Kuhn only.
1) Modify game_settings.lua so there's 1 suit and 4 ranks. 2) Modify test_lookahead.lua so board is Kh instead of Ks 3) Modify test_lookahead.lua to use get_uniform_range for both player_range and opponent_range 4) Replace line 22 of test_lookahead.lua with below code:
5) run test_lookahead.lua, you will see the strategy is to check with every hand which is fine (The strategy for Kh is initialized to 0.333 for every action and stays that way since it's an invalid hand). However, the counterfactual value of holding Ah is 66.66. Shouldn't the cfv be at least 100 since Ah is the nuts and the pot = 200?
I'm guessing the solver doesn't account for card removal and so it will win 100 2/3 of the time and tie 1/3 of the time, giving EV of 66.66?