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
`robopoker` is a Rust library to play, learn, analyze, track, and solve No-Limit Texas Hold'em.
7
9
8
10
The guiding philosophy of this package was to use very tangible abstractions to represent the rules, mechanics, and strategies of NLHE. Every module is modeled as closely as possible to its real-world analogue, while also utilizing clever representations and transformations to be as memory- and compute-efficient as possible. Focus on Rust idiomatics is also a goal, avoiding use of unsafe and exploiting strong typing.
9
11
10
-
# System Requirements
11
-
12
-
- Minimum 8GB RAM for shortdeck. 50GB+ recommended for full.
13
-
- Multi-core CPU. Clustering and CFR scale embarassingly.
14
-
15
12
# Modules
16
13
17
14
## `cards`
@@ -22,7 +19,8 @@ Core functionality for working with standard playing cards and Texas Hold'em rul
22
19
-**Equity Calculation**: Fast equity calculations between ranges of hands, supporting both exact enumeration and Monte Carlo simulation
23
20
-**Exhaustive Iteration**: Efficient iteration over cards, hands, decks, and private-public observations with lazy bitwise advancing
24
21
-**Distribution Analysis**: Tools for analyzing equity distributions and range vs range scenarios
25
-
-**Bijective Representations**: Multiple card representations (u8/u16/u32/u64) allowing for maximally efficient operations and transformations
22
+
-**Short Deck Support**: Full support for 36-card short deck variant with adjusted hand rankings and iterators
23
+
-**Bijective Representations**: Multiple card representations `(u8/u16/u32/u64)` allow for maximally efficient operations and transformations
26
24
27
25
## `gameplay`
28
26
@@ -48,7 +46,7 @@ Advanced clustering capabilities for poker hand analysis:
48
46
49
47
Monte Carlo Counterfactual Regret Minimization solver:
50
48
51
-
-**RPS Convergence**: Previously demonstrated convergence on Rock-Paper-Scissors as validation
49
+
-**Blueprint Convergence**: Previously demonstrated convergence on Rock-Paper-Scissors as validation
52
50
-**External Sampling**: Implementation of external sampling MCCFR variant
53
51
-**Dynamic Tree Building**: On-the-fly game tree construction for memory efficiency
54
52
-**Linear Strategy Weighting**: Efficient strategy updates using iterative weighting and discount schemes
@@ -58,7 +56,13 @@ Monte Carlo Counterfactual Regret Minimization solver:
58
56
59
57
Coming soon. A distributed and scalable single-binary WebSocket-based HTTP server that allows players to play, learn, analyze, and track hands remotely.
60
58
61
-
## References
59
+
# System Requirements
60
+
61
+
- 8GB RAM for shortdeck abstraction
62
+
- 5GB disk space for stored blueprint, abstraction, and metric tables
63
+
- Multi-core CPU. Clustering and CFR scale embarassingly.
64
+
65
+
# References
62
66
63
67
1. (2007). Regret Minimization in Games with Incomplete Information. [(NIPS)](https://papers.nips.cc/paper/3306-regret-minimization-in-games-with-incomplete-information)
64
68
2. (2015). Discretization of Continuous Action Spaces in Extensive-Form Games. [(AAMAS)](http://www.cs.cmu.edu/~sandholm/discretization.aamas15.fromACM.pdf)
0 commit comments