An AI-powered poker engine with modern reinforcement learning techniques. A CS 229 project.
Agent 1 First-to-Act:
Agent 2 vs. Raise:
Agent 2 vs. Call:
Agent 1 vs. Raise:
Poster:

Prerequisites:
# create a virtual env
python3 -m venv ivey_env
# activate the virtual env
source ivey_env/bin/activate
# install core dependencies
pip install -r requirements.txt
# run scripts, e.g.
python3 src/poker_push_fold.py
# for charts, run script
python3 src/poker_chart.py
To deactivate the virtual environment, simply run:
deactivate
Ivey presents a RL approach to developing poker agents, focusing on preflop decision-making in heads-up No-Limit Texas Hold'em. Starting with push/fold decisions and expanding to more complex betting, the system uses a single-agent paradigm for Q-learning, where one agent learns both positions (SB + BB). Careful state design and learning optimization led to agents that fundamentally understand poker principles, such as position and hand strength. The results demonstrate that basic RL techniques can discover preflop strategies in-line with GTO when properly implemented.