β All projects
Dec 2025
Saint Petersburg AI Agent
A 1st-place tournament agent combining Monte-Carlo Tree Search with learned evaluators.

An autonomous agent for the board game Saint Petersburg that won 1st place in a class tournament.
Highlights
- Monte-Carlo Tree Search with UCT selection (C = 2.0) and 4-ply early-terminated rollouts to handle the game's large branching factor.
- Learned evaluation: logistic-regression and random-forest win predictors over 56 engineered state features (points, rubles, aristocrats, interaction terms), designed with a classmate.
- Game-length model: a CatBoost regressor estimating rounds remaining, cutting learn-set RMSE from 2.20 to 0.62.
- Game balance analysis: ~10,000 Monte Carlo games on an 11β15 thread pool identified over- and under-powered cards, summarized in a balance-change report.
- Stack: Java (core logic, Maven), Python + scikit-learn + CatBoost (training).