Skip to content

bupticybee/TexasSolver

Repository files navigation

CPP Texas Solver

release license Open In Colab Gitter chat

README English | 中文

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

GNU AGPL v3

Email

icybee@yeah.net

Q & As

  1. Q: Is the solver really free?

    • A: Yes, for personal users, the solver is completely opensourced and free.
  2. 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 actions violates this license.
  3. Q: Can I integrate it to my software?

    • A: If you integrate the release package (binary) into your software, Yes, you can do that. If you want to integrate 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.
  4. 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.