The MountainCar Solution with SARSA is a reinforcement learning project that trains an agent to make sequential decisions using Hyperparameter experiment runner and Exploration policy (epsilon-greedy), implemented with Jupyter Notebook. 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 Exploration policy (epsilon-greedy) and Jupyter Notebook, 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 Jupyter Notebook using Hyperparameter experiment runner. The reward function is carefully designed, and Learning curve visualization 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.
Jupyter Notebook
OpenAI Gym / Gymnasium
Python 3.11+
OpenAI Gym / custom environments
Experience replay and target networks
Reproducible training configuration
NumPy
Clean environment and reward formulation with Hyperparameter experiment runner
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 Hyperparameter experiment runner; the agent maintains a policy learned with Jupyter Notebook and Exploration policy (epsilon-greedy); 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 Hyperparameter experiment runner.
Implement the environment interface, state, action, and reward functions.
Build the learning algorithm with Jupyter Notebook and Exploration policy (epsilon-greedy).
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 Understanding exploration vs exploitation and Temporal difference learning
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 MountainCar Solution with SARSA 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.