Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Reinforcement Learning

A Reinforcement Learning project developed in Python for the Artificial Intelligence (5DV243) course at Umeå University.

This project explores the principles of Reinforcement Learning (RL) by designing intelligent agents capable of learning optimal behaviours through interaction with an environment. Different reinforcement learning techniques are implemented, trained, and evaluated to analyze how agents improve their decision-making over time.


✨ Features

  • 🤖 Reinforcement Learning agents
  • 🎯 Environment interaction
  • 📈 Reward-based learning
  • 🔄 Exploration vs. exploitation strategies
  • 🧠 Policy optimization
  • 📊 Training performance evaluation
  • 📉 Reward visualization
  • 📝 Jupyter Notebook implementation
  • ⚙️ Configurable training parameters

🛠 Technologies

  • Python
  • Jupyter Notebook
  • NumPy
  • Matplotlib
  • Reinforcement Learning
  • Scikit-learn (if applicable)

📚 Reinforcement Learning Concepts

This project demonstrates several fundamental RL concepts:

  • Reinforcement Learning
  • Markov Decision Processes (MDPs)
  • Agents and Environments
  • States and Actions
  • Reward Functions
  • Policies
  • Exploration vs. Exploitation
  • Value Functions
  • Policy Evaluation

🎮 Project Overview

Unlike supervised learning, reinforcement learning agents are not provided with correct answers.

Instead, an agent learns by:

  • Observing the environment
  • Selecting actions
  • Receiving rewards
  • Updating its behaviour
  • Maximizing long-term cumulative reward

Through repeated interactions, the agent gradually discovers increasingly effective strategies.


🤖 Learning Process

The training process follows the reinforcement learning cycle:

  1. Observe the current state
  2. Choose an action
  3. Execute the action
  4. Receive a reward
  5. Observe the next state
  6. Update the learning strategy
  7. Repeat until convergence

📊 Evaluation

The implemented agents are evaluated using metrics such as:

  • Cumulative Reward
  • Average Episode Reward
  • Learning Progress
  • Convergence Rate
  • Policy Quality

Training curves are used to visualize how performance improves throughout learning.


🧩 Project Structure

Reinforcement-Learning/
│
├── notebooks/
├── images/
├── data/
├── README.md
└── ...

🏗 Workflow

Environment
      │
      ▼
State Observation
      │
      ▼
Agent Decision
      │
      ▼
Action
      │
      ▼
Reward
      │
      ▼
Policy Update
      │
      ▼
Repeat

🚀 Getting Started

Requirements

  • Python 3.x
  • Jupyter Notebook

Install the required packages:

pip install numpy matplotlib scikit-learn

Clone the repository:

git clone https://github.com/serac01/reinforcement-learning.git

Launch Jupyter Notebook:

jupyter notebook

Run all notebook cells to reproduce the experiments.


📄 License

This project was developed for the Artificial Intelligence (5DV243) course at Umeå University.

It is intended for educational purposes.

About

Reinforcement Learning project implementing intelligent agents and reward-based learning algorithms in Python for the Artificial Intelligence course at Umeå University.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages