This repository contains my solutions to the assignments from NPFL139 – Deep Reinforcement Learning, a course taught by professor Milan Straka at the Faculty of Mathematics and Physics, Charles University (Prague). The course provides a hands-on exploration of deep reinforcement learning, combining theoretical foundations with practical implementation of modern RL algorithms in Python and PyTorch. Throughout the semester, students build agents capable of solving control tasks, playing video games from pixels, mastering complex board games with planning, and tackling continuous-action robotics environments.
The assignments are structured weekly and include competitive tasks where students aim to achieve the best performance in the class. This repository documents my progression through these tasks, covering classical RL, value-based deep methods, policy-gradient methods, distributional RL, continuous control, multi-agent RL, and AlphaZero-style planning.
- Introduction to Reinforcement Learning
- Value and Policy Iteration, Monte Carlo, Temporal Difference
- Off-Policy Methods, N-step Returns, Function Approximation
- Function Approximation, Deep Q-Network, Rainbow
- Rainbow II, Distributional Reinforcement Learning (C51)
- Distributional RL II (QR-DQN)
- Policy Gradient Methods
- Continuous Action Spaces: DDPG, TD3, SAC
- Eligibility Traces, IMPALA
- PPO, R2D2, Agent57
- UCB, Monte Carlo Tree Search, AlphaZero
- MuZero, Gumbel-Max, GumbelZero
- PlaNet, Dreamer, MERLIN
- Multi-Agent RL, RL from Human Feedback
The main repository for this course with all the original scripts and course materials can be found at npfl139