CPP Texas Solver
Introduction
A open sourced, extremely efficient Texas Hold'em and short deck solver. See this Introduction video for more. Supports Windows,MacOs and Linux.
Features:
- In a tree with 1~2bets + allin, it's speed exceeds piosolver on flop
- Support Mac, Linux and Windows
- Support texas holdem and shortdeck
- Support cross language calls
- Result aliged with piosolver
- Support dump strategy to json file
- It's the c++ version of TexasHoldemSolverJava with a ton of optimization, it's 5x faster than the java version and takes less than 1/3 memory.
Feel free to mess with a toy solver in google colab
Install
Download package according to your OS in release package, unzip it, and install is done. It's that simple.
GUI version Usage
After install the solver, double click the application binary (TexasSolverGui.exe in windows or TexasSolverGui.app in MacOS) to run TexasSolver.
Console version Usage
Please check console version document for more.
Speed benchmark with piosolver
Piosolver and my TexasSolver(console version) run use the same settings (spr=10,flop game) and their result are aligned.
Input config | log | thread number | memory usage | accuracy | converge time | |
---|---|---|---|---|---|---|
piosolver 1.0 | config_piosolver | log_piosolver | 6 | 492Mb | 0.29% | 242s |
TexasSolver 0.1.0 (Our solver) | config_texassolver | log_texassolver | 6 | 1600Mb | 0.275% | 172s |
The compare image of their results is here. As you can see their result are very close.
License
Q & As
-
Q: Is the solver really free?
- A: Yes, for personal users, the solver is completely opensourced and free.
-
Q: Can I upload it to other websites or forums? Can I share it with my friend?
- A: No, you can only put the link of this project to other website, not the binary, this project is under AGPL-V3 license, and these kind of action violates this license.
-
Q: Can I intergate it to my software?
- A: If you intergate the release package(binary) into your software, Yes, you can do that. If you want to intergate the code of the solver into your software or provide service through internet, then you need to contact me for a commercial license, which is also the main profit-making method of this project.
-
Q: What framework do you use to write the ui?
- A: I use QT 5.1.0 (opensourced edition) to build the GUI version. For the console version, I use Mingw + CMake.