Holdem basic core structures from scratch.

This commit is contained in:
Jan-Peter von Hunnius 2025-10-10 19:48:24 +02:00
parent f02c35bef3
commit e94bf42dce
53 changed files with 6316 additions and 11906 deletions

99
docs/ROADMAP.md Normal file
View file

@ -0,0 +1,99 @@
# Poker AI Testbed & Live Server Roadmap
## Step-by-Step Implementation Plan
### Phase 1: Foundation ✅
**Basic poker engine**
- Fast LUT hand evaluator (5, 6, and 7 cards) ✅
- Game state management ✅
- Game Info and Player Info traits ✅
- Event reporting and action scheme ✅
- Basic game rules (NL/FL/PL) ✅
**Configuration system**
- TOML configuration structures ✅
- Bot parameter configuration ✅
- Game type configurations (Cash/SNG/MTT, buyins, blinds, hands per level, etc.) ✅
- Simulation parameters (hands/tournaments count, buyin thresholds for bots, etc.) ✅
### Phase 2: Simulation Testbed
**Goal:** Mass simulation capability
**Testbed core**
- Tournament/cash game runners
- Parallel simulation engine
- Result collection and analysis
- Bot interface with early folding capability
- Bot performance metrics & visualization
- Simulation and game factories
- Configuration-driven experiment runner
---
### Phase 3: Bot Framework
**Goal:** All bot types with playability enhancement
**Bot core implementations**
- Generic helper functions for strategies
- Modular Strategy per stage and game situation
- Rule-based bot with configurable thresholds – port from Java
- Nash equilibrium calculator for SNG endgame – port from Java
- Statistical tracking bot – port from Java
- Logging of decision-making process
**Advanced bots**
- GPU acceleration for mass rollouts
- Hand-reading opponent modeling (possibly with GPU integration)
- Flop playability precomputation & score integration
- Basic reinforcement learning skeleton
- Hybrid bot combining multiple approaches
- Factory for bot and sub-strategy composition
- Genetic algorithm for bot evolution (via configuration files)
---
### Phase 4: "Unit Test" Framework
**Goal:** Bot behavior can be tested against predefined hands
**Hand Replayer**
- Poker Tracker style hands
- Action comparison to expected outcome
- Selection of hands from different sources (books)
- Action likelihoods (multiple replays)
---
### Phase 5: Live Server Infrastructure
**Goal:** Real-time bot deployment
**Server core**
- Network protocol design (TBD: WebSocket, JSON, MQ, etc.)
- Actions (incl. early fold and table selection), events (incl. table switches and available tables)
- Client registration and management
- Game state synchronization
- Action dispatch system
- Event logging for analysis of problems
**Client adapter system**
- Client factory for different poker environments
- Screen / protocol scraping adapters
- Table selection logic
- Configuration-driven game selection
---
### Phase 6: Integration & Polish
**Goal:** Production-ready system
**Advanced features**
- Real-time strategy adaptation
- Multi-table coordination
- Bankroll management
- Risk adjustment based on results
**Optimization and deployment**
- Performance profiling and optimization
- Error handling and recovery
- Documentation and examples
- Deployment scripts and configuration