bupticybee / TexasSolver

🚀 A very efficient Texas Holdem GTO solver :spades::hearts::clubs::diamonds:
https://bupticybee.github.io/texassolver_page
GNU Affero General Public License v3.0
1.69k stars 301 forks source link

Solver output does not match GTO+ at all #70

Open lyamlim97 opened 2 years ago

lyamlim97 commented 2 years ago

Solver output not even close to GTO+ output. Attached screenshots of both OOP flop actions.

image image

Attached gto+ file, parameter file and json. compare.zip

texas solver comparing.zip

compare parameter.txt

bupticybee commented 2 years ago

This is not surprising for following reasons:

  1. I mainly check results with piosolver, in serval tests that I have done if set to similar trees their result are very close.I never check result with GTO+
  2. I am very sure TexasSolver and GTO+ doesn't use the same tree construction algorithm, so there is no surprising the result are different, It DOESN'T mean GTO+ or TexasSolver is wrong. They can be both right in their own tree.
  3. There are in theory many nash equilibrium point for a specific situation. So it's entirely possible different algorithm converges to different nash equilibrium, it's no big surprise.
  4. You should check when you view the result, whether the exploitability has converged. If the exploitability has converged to let's say 0.3%. Then it means it's a good enough solution, period.

So in all, it's no surprise two solver provide different result, It doesn't mean one of them is wrong. If the exploitability converges, It's a result acceptable for human.

PS: GTO+ is known to have non-integer bet sizes, TexasSolvers have integer-only bet sizes, different in bet sizes naturlly means very different trees, which proof my point 2.

Difference with GTO+ has been reported more than once, I really don't see it as a bug.

Rest assured, I'm pretty sure my algorithm is still very correct.

lyamlim97 commented 2 years ago

As a poker player who has spent a lot of time with sims, it does not make sense to me why OOP will have this kind of range construction OTF.

I will ask a friend to run the spot with pio and the same config. Will report back my findings.

lyamlim97 commented 2 years ago

Adding more info.

I ran both sims to 0.25%, so it has definitely converged. The game tree is as close as I can make it without manually adding bet sizes to each node in the game tree.

GTO+ is set to use only integer bet sizes here so the sizes are as close to each other as possible. Difference of a few BB in some nodes should not cause such big difference in strategies. In my experience of looking at sims, I have not seen a completely different strategy provided by 2 different solvers. Usually the general strategy is similar with the frequencies for each combo varying slightly.

bupticybee commented 2 years ago

It is possible it's still about the tree construction algorithm. There must be some difference about the tree. I didn't buy a GTO+ so I'm doing experiments with piosolver. I will do some experiment with piosolver with the parameters you provided. But basically the exploitability is a kind of checking computation,when the exploitability converges it means the result is valid.

Thank you for your feedback and experiments. Will definately run some experiments when I got the time. However I'm kind of in the middle of a vacation, so maybe sometime in the next week or the week after that I will get back to you with more results.

bupticybee commented 2 years ago

I have done some early experiments using the parameters you provided:

截屏2021-11-22 下午2 42 52

It seems like an bug with the game tree construction algorithm. The 3x raise seems to disappear in the tree. Will spent more time looking into this.

bupticybee commented 2 years ago

Even with the game tree difference the whole thing still seems wired to me.

Seems it needs more experiments. Hope you can provide the piosolver result file, it would help a lot.

lyamlim97 commented 2 years ago

Uploaded pio files. One with same config as TexasSolver and another without the 3x IP raise. I do think its a tree construction issue.

In poker theory, we would say that OOP leads alot for small size because IP cannot punish that size with the 3x raise and the 120 jam is just too big to use to punish the small lead size.

3bp-663tt-no-ip-3x-raise.zip 3bp-663tt.zip

bupticybee commented 2 years ago

Uploaded pio files. One with same config as TexasSolver and another without the 3x IP raise. I do think its a tree construction issue.

In poker theory, we would say that OOP leads alot for small size because IP cannot punish that size with the 3x raise and the 120 jam is just too big to use to punish the small lead size.

3bp-663tt-no-ip-3x-raise.zip 3bp-663tt.zip

Okay, thinks for your information. I will take a closer look when I got the time.