← Work

Intelligent & Learning Agents

Bandit algorithms, MDP planning, and alpha-beta agents for mini-chess.

Period
August–November 2025
Kind
course
Stack
Python, NumPy, Linear programming, Alpha-beta search
Guide
Prof. Shivaram Kalyanakrishnan, IIT Bombay

Three assignments on sequential decision-making, from bandits through planning to game-tree search.

  • Regret minimisation — UCB, KL-UCB and Thompson Sampling on Bernoulli bandits, with the KL-UCB confidence bound located by binary search. An optimised variant recomputes the per-arm bounds once every eight pulls instead of every pull, trading a little precision for far fewer KL evaluations. A second task inverted the objective entirely: Poisson-damage targets where the aim is the fewest pulls rather than the most reward.
  • Planning — an encoder/planner/decoder pipeline that enumerates every non-busting hand of a blackjack-like card game as an MDP state, then solves it two ways: Howard’s policy iteration, with the policy-evaluation step solved directly as a linear system, and the standard LP formulation through PuLP/CBC.
  • Search — mini-chess agents running alpha-beta to depth four, with MVV-LVA move ordering to improve pruning and an evaluation combining material popcount over bitboards, centre control, pawn advancement and check.