Projects

Short summaries here — repos for full implementation details.

Chess Engine

C/C++ • Bitboards • Alpha-beta
C/C++
Chess Engine screenshot
  • 64-bit bitboard representation for fast move generation.
  • Validated movegen with perft up to depth 7 (3.2B positions), ~160M nodes/sec using multithreading.
  • Magic bitboards for sliding-piece attacks in effectively constant time.
  • Negamax-style search with alpha-beta pruning + move ordering.

Interactive Gridworld Q-Learning Sandbox

Python • Streamlit • Visualization
Live
Q-Learning Sandbox screenshot
  • Interactive gridworld builder + tabular Q-learning training loop.
  • Hyperparameters: learning rate (α), discount (γ), exploration (ε), training horizon.
  • Visualizations: greedy rollouts + episode/path timelapse + learning behavior comparisons.
  • Streamlit UI designed for rapid iteration (reset training, edit maps, compare settings).

Zero-Sum Nash Learner

Python • Streamlit • Game Theory
Live
Zero-Sum Nash Learner screenshot
  • Enter a payoff matrix for a 2-player zero-sum game (Player 2 payoff = −M).
  • Multiplicative-weights style learning dynamic toward an approximate Nash equilibrium.
  • Plots for exploitability and game value over time + approximate mixed strategies.
  • Built-in examples include Rock–Paper–Scissors and Matching Pennies.