Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bupticybee/texassolver
π A very efficient Texas Holdem GTO solver :spades::hearts::clubs::diamonds:
https://github.com/bupticybee/texassolver
game-theory game-theory-algorithms gto holdem-poker piosolver poker-ai shortdeck solver texas-holdem texas-holdem-poker
Last synced: 5 days ago
JSON representation
π A very efficient Texas Holdem GTO solver :spades::hearts::clubs::diamonds:
- Host: GitHub
- URL: https://github.com/bupticybee/texassolver
- Owner: bupticybee
- License: agpl-3.0
- Created: 2020-01-29T15:50:16.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-05T08:31:51.000Z (about 2 months ago)
- Last Synced: 2024-12-19T02:02:39.301Z (5 days ago)
- Topics: game-theory, game-theory-algorithms, gto, holdem-poker, piosolver, poker-ai, shortdeck, solver, texas-holdem, texas-holdem-poker
- Language: C++
- Homepage: https://bupticybee.github.io/texassolver_page
- Size: 30.8 MB
- Stars: 1,831
- Watchers: 43
- Forks: 318
- Open Issues: 76
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CPP Texas Solver
[![release](https://img.shields.io/github/v/release/bupticybee/TexasSolver?style=flat-square)](https://github.com/bupticybee/TexasSolver/releases)
[![license](https://img.shields.io/github/license/bupticybee/TexasSolver?style=flat-square)](https://github.com/bupticybee/TexasSolver/blob/master/LICENSE)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/bupticybee/TexasSolver/blob/console/TexasSolverTechDemo.ipynb)
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/TexasSolver/TexasSolver)README [English](README.md) | [δΈζ](README.zh-CN.md)
## Introduction
A open sourced, extremely efficient Texas Hold'em and short deck solver. See this [Introduction video](https://youtu.be/IsSJNz7sRmQ) for more. Supports Windows,MacOs and Linux.![](imgs/solver_example.gif)
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](https://github.com/bupticybee/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](https://colab.research.google.com/github/bupticybee/TexasSolver/blob/console/TexasSolverTechDemo.ipynb)
## Install
Download package according to your OS in [release package](https://github.com/bupticybee/TexasSolver/releases), 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](https://github.com/bupticybee/TexasSolver/tree/console#usage) 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](benchmark/benchmark_piosolver.txt) | [log_piosolver](benchmark/benchmark_outputs/piosolver_log.txt) | 6 | 492Mb | 0.29% | 242s |
| TexasSolver 0.1.0 (Our solver) | [config_texassolver](benchmark/benchmark_texassolver.txt) | [log_texassolver](benchmark/benchmark_outputs/texassolver_log.txt) | 6 | 1600Mb | 0.275% | 172s |The compare image of their results is [here](benchmark/benchmark_outputs/result_compair.png). As you can see their result are very close.
# License
[GNU AGPL v3](https://www.gnu.org/licenses/agpl-3.0.en.html)
This software is licensed to person/business here:
[licensed_list](licensed_list.txt)# 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.