lifrordi / DeepStack-Leduc

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

Is the range generation method produce a Dirichlet distribution? #19

Open FrankRouter opened 6 years ago

FrankRouter commented 6 years ago

Looks like that the recursive method is equivalent to draw a sample from Uniform(0, p), sort them, and calculate gaps between them. I think the probability of hands is spacings (the gaps between successive order statistics) of a uniform distribution, so it obey a Dirichlet distribution. (According to Theorem 6.6 in [1]).

[1] http://www.stat.purdue.edu/~dasgupta/orderstats.pdf

JaysenStark commented 6 years ago

@FrankRouter I am not familiar about Dirichlet distribution. In my oppinion, the gap is not related to the probability of hands. The algorithm seems to prefer splitting probaility mass between similiar hands. but if board cards are different adjacent hands might be very different in terms of hand strength, the sorting process are used to reorder hands, make adjacent hands have similiar hand strength. Then we assign the generated ranges to these reordered hands, finally we do reverse mapping, to make the hands restore it's original order.

It's my understanding, it could be wrong. But I hope it can be helpful.

JaysenStark commented 6 years ago

since you can speak Chinese, we can communicate in Chinese...

FrankRouter commented 6 years ago

I tried Dirichlet in my program and it works well. Also, The mean of these two method are quite close. If you're interested, please send me email. frankrouter AT gmail. @JaysenStark