The Interactive Story Choice Optimizer is a reinforcement learning project that trains an agent to make sequential decisions using Reward simulator and Evaluation harness, implemented with Thompson sampling / UCB. The project focuses on a clean formulation of the environment, reward function, and policy, with careful logging and visualization so learning behaviour is easy to inspect. It is a complete RL capstone that demonstrates both algorithm fundamentals and practical training skills.
Many decision-making tasks are sequential: the best action depends on past states and future consequences, making rule-based or one-shot solutions ineffective. Without a reinforcement learning approach built on Evaluation harness and Thompson sampling / UCB, agents cannot learn from trial and error, adapt to dynamic conditions, or balance short-term gains against long-term goals.
This project models the task as a Markov Decision Process and trains an agent with Thompson sampling / UCB using Reward simulator. The reward function is carefully designed, and Bandit algorithm implementation provides insight into the learned policy. The agent improves over time through exploration and exploitation, and the whole pipeline is reproducible and easy to tune.
Thompson sampling / UCB
Matplotlib
Python 3.11+
OpenAI Gym / custom environments
Experience replay and target networks
Reproducible training configuration
NumPy / Pandas
Contextual bandit library
Clean environment and reward formulation with Reward simulator
Configurable algorithm and training hyperparameters
Episode and reward logging with learning curves
Policy evaluation and visualization
Reproducible experiments
Extensible architecture for new environments
The project separates the environment from the agent. The environment implements states, actions, and rewards through Reward simulator; the agent maintains a policy learned with Thompson sampling / UCB and Evaluation harness; and the training loop coordinates episodes, logging, and evaluation. A configuration module controls all hyperparameters, and a visualization module renders learning curves and sample rollouts.
Set up the Python environment and define the task as an MDP with Reward simulator.
Implement the environment interface, state, action, and reward functions.
Build the learning algorithm with Thompson sampling / UCB and Evaluation harness.
Train the agent and log episode rewards, tuning exploration and learning rate.
Evaluate the learned policy across multiple seed runs.
Add visualization and export the trained policy.
Write documentation and prepare the demo and viva report.
Understand Markov Decision Processes and reward design
Implement and debug core RL algorithms
Apply Regret and reward evaluation and Online serving of policies
Analyze learning curves and convergence
Present and defend a complete RL project in viva
Scale to a more complex environment or real hardware
Add imitation learning to bootstrap from demonstrations
Deploy the policy behind an API for live interaction
Add model-based planning for sample efficiency
The Interactive Story Choice Optimizer delivers a complete reinforcement learning workflow — environment design, algorithm implementation, training, and evaluation. It is practical, reproducible, and easy to explain, making it an excellent final year project that showcases real understanding of modern AI.