This repository contains several implementations of multi-armed bandit (MAB) agents applied to a simulated cricket batting scenario. The simulation models a cricket innings where an agent (the batsman) selects among different shot strategies (arms) with the goal of maximizing runs while minimizing the risk of getting out.
In this project, you will find four distinct agent types implemented as part of our exploration of MAB strategies:
-
KL-UCB Survival Agent
- Description: Uses a KL-divergence based Upper Confidence Bound (UCB) method. The reward is based on survival (i.e.,
1 - wicket
), focusing on minimizing dismissals.
- Description: Uses a KL-divergence based Upper Confidence Bound (UCB) method. The reward is based on survival (i.e.,
-
Reward-UCB Agents
- Variant 1: Reward-UCB (KL) Agent
- Description: Computes rewards using an efficiency metric
(1 - p(out)) * avg_runs
and applies a KL-UCB approach.
- Description: Computes rewards using an efficiency metric
- Variant 2: Reward-UCB (Simple) Agent
- Description: A simpler variant that computes the reward as
runs / 6
.
- Description: A simpler variant that computes the reward as
- Variant 3: UCB1 Agent
- Description: Implements the classic UCB1 algorithm based on the average reward plus an exploration bonus.
- Variant 1: Reward-UCB (KL) Agent
-
Risk-Adjusted Successive Elimination Agent
- Description: Uses a more sophisticated approach by computing a risk-adjusted reward (ratio of expected reward to risk) and eliminates arms that perform poorly. This agent progressively removes suboptimal strategies using confidence bounds.