/reinforcement-learning-project

Custom gymnasium RL environments

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Reinforcement Learning Project

EN

This repository contains the environments designed and implemented for the final project of my Machine Learning course at the Universidad Nacional de Colombia. It also includes the project itself, showcasing the application of reinforcement learning techniques within these custom-built environments.

Understanding the Environments

Each environment represents a world where an agent can interact with objects and navigate its surroundings. The agent takes actions, receives rewards or penalties based on those actions, and must learn to maximize its reward over time.

The provided environments progressively challenge the agent's decision-making capabilities. They all share some common characteristics:

  • A visual representation of the environment using Pygame.
  • An agent that can move around and interact with objects.
  • A reward system that provides feedback to the agent based on its actions.

The core environment, PushBox, introduces the concept of pushing objects to a goal location. More complex variations add elements of randomness and modified reward structures to test the agent's adaptability.

For a more detailed explanation, look at the EN docs

ES

Este repositorio contiene los entornos diseñados e implementados para el proyecto final de mi curso de Machine Learning en la Universidad Nacional de Colombia. También se incluye el proyecto en sí, en donde se evidencia la aplicación de técnicas de aprendizaje por refuerzo dentro de estos entornos personalizados.

Entendiendo los entornos

Cada entorno representa un mundo donde un agente puede interactuar con objetos y navegar su espacio. El agente toma acciones, recibe recompensas o penalizaciones en función de dichas acciones y debe aprender a maximizar su recompensa con el paso del tiempo.

Los entornos proporcionados desafían progresivamente las capacidades de toma de decisiones del agente. Todos comparten algunas características comunes:

  • Una representación visual del entorno utilizando Pygame.
  • Un agente que puede moverse e interactuar con objetos.
  • Un sistema de recompensas que proporciona retroalimentación al agente en función de sus acciones.

El entorno central, PushBox, introduce el concepto de empujar objetos hacia una ubicación objetivo. Variaciones más complejas añaden elementos de aleatoriedad y estructuras de recompensa modificadas para poner a prueba la adaptabilidad del agente.

Para una explicación más detallada, consulte la documentación en español

Authors

Git user
Dioprz
thually
aangulog

License

This project is licensed under the GPLv3 License.