You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+38-6Lines changed: 38 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,15 +12,16 @@ A open sourced, efficient Texas Hold'em and short deck solver. See this [Introdu
12
12
13
13

14
14
15
-
This is a java-based Texas Hold'em solver, fully open source, supports cross-language calls (supports python and command-line calls by default). Support standard Texas Hold'em and it's popular variant short-deck.
15
+
This is a java-based Texas Hold'em solver, fully open source, have a pio-solver-like gui and supports cross-language calls (supports python and command-line calls by default). Support standard Texas Hold'em and it's popular variant short-deck.
16
16
17
-
Similar to common commercial Texas Hold'ems solvers such as piosolver, TexasHoldemSolverJava focusing on solving post-flop situations, and it's result is prefectly aligned with piosolver. On turn and river it's speed is even faster than piosolver, but on flop is slower than piosolver.
17
+
Similar to common commercial Texas Hold'ems solvers such as piosolver, TexasHoldemSolverJava focusing on solving post-flop situations, and it's result is aligned with piosolver. On ~~turn and~~ river it's speed is even faster than piosolver, but on flop is slower than piosolver.
18
18
19
19
Features:
20
20
21
21
- Efficient, ~~turn and~~ river calculation speed exceeds piosolver
22
22
- Accurate, the results are almost the same as piosolver
23
23
- Fully open source and free
24
+
- Have a simple gui
24
25
- Support standard Texas Hold'em and it's popular variant short-deck
25
26
- Focus on post-flop situations
26
27
- Supports command line and python calls
@@ -32,7 +33,9 @@ This project is suitable for:
32
33
33
34
## install
34
35
35
-
download the [release package](https://github.com/bupticybee/TexasHoldemSolverJava/releases) unzip it, you will get a folder look like this:
36
+
Install x86 [Java Runtime Environment](https://www.oracle.com/java/technologies/javase-jre8-downloads.html) first.
37
+
38
+
Download the [release package](https://github.com/bupticybee/TexasHoldemSolverJava/releases) unzip it, you will get a folder look like this:
36
39
37
40
```
38
41
--- Solver
@@ -42,6 +45,8 @@ download the [release package](https://github.com/bupticybee/TexasHoldemSolverJa
42
45
|- riversolver.sh
43
46
```
44
47
48
+
Install is done. It's that simple.
49
+
45
50
```RiverSolver.jar``` is the solver program file,```java_interface.py``` is the sample code for calling solver trough python calls. It contains the following test cases:
46
51
47
52
- testcase for short flop situation
@@ -56,6 +61,17 @@ after download the release package, run ```python3 java_interface.py``` to run a
56
61
57
62
In addition to downloading the software itself, Texas Holdem solver Java also relies on JRE 11.0.2 as it's e runtime. Please install Java JRE 11.0.2 in advance.
58
63
64
+
65
+
## Usage
66
+
67
+
### gui
68
+
69
+
Make sure the right version of java is installed in your computer(64bit,java 10.x / java 11.x)
70
+
71
+
Double click the ```riversolver.jar``` to open gui.
72
+
73
+
### python api
74
+
59
75
Additional python requirements should also be installed through pip:
60
76
61
77
```bash
@@ -66,9 +82,6 @@ pip3 install networkx
66
82
pip3 install matplotlib
67
83
```
68
84
69
-
## Usage
70
-
### python api
71
-
72
85
Althrough written in java. TexasHoldemSolverJava is by default called through python.
73
86
74
87
Sample code involves python calls can be found in ```java_interface.py```. Here we briefly introduce the procedure of calling the solver and some basic parameters.
@@ -224,6 +237,25 @@ However if you intend to modify this project, recompiling is required. TexasHold
224
237
4. press build -> build artifacts -> all artifacts -> build to generate the release package
225
238
5. the release package can be found in the ```out``` folder in project root
226
239
240
+
## benchmarks
241
+
242
+
The speed compair with piosolver listed below, turn and river's speed is comparable with piosolver , flop is much slower due to game tree and lack of optimization.
| input (in text format) |[flop](benchmarks/benchmark_flop.txt)|[turn](benchmarks/benchmark_turn.txt)|[river](benchmarks/benchmark_river.txt)|
254
+
| input (in image format) ||||
255
+
| result compair ||||
256
+
257
+
The slight different between Piosolver and TexasHoldemSolverJava is due to different tree construction logic and insufficient CFR converge for both software.
258
+
227
259
## Algorithm
228
260
As shown in the figure below, thanks to the implementation of the latest algorithm variant discounted CFR ++, algorithm used in this project can be a lot faster than traditional algorithms such as CFR +.
0 commit comments