lifrordi / DeepStack-Leduc

Example implementation of the DeepStack algorithm for no-limit Leduc poker
https://www.deepstack.ai/
891 stars 211 forks source link

Bug in utility(equity) calculation logic. #10

Closed snarb closed 6 years ago

snarb commented 6 years ago

For example, game came to the last street with As(index = 0) on board and P2 card range { 0, 0.05, 0.07, 0.2, 0.15, 0.43}. For example, we are calculating equity for the case when P1 get Ah(index =1). In the implimentation, we are zeroing out Ah range(0.05) from P2 and calculating dot product (0.07 1+ 0.2 1+ 0.15 1+ 0.43 1) pot_size = 0.85 pot_size. But it looks like that when we are zeroing out Ah range we should boost probabilities of all other cards as we are considering the case that P1 get Ah, so P2 can't have it and we are zeroed it, shouldn't we?

The other question why are we considering utility as +-pot_size and not +- pot_size/2 as we will win/lose only our/op half of pot.

Can you clarify, please?

lifrordi commented 6 years ago

1) The computation with the zeroing out code is correct. We don't boost out the other probabilities because of the way terminal node equity handles chance actions.

2) This is correct, but if I recall correctly the pot_size is already just the commitment of the player (sorry thus for a confusing name)