Skip to content

Criação de ambientes customizados

Para que o treinamento de um agente aconteça utilizando reinforcement learning é necessário, no mínimo, dois (2) componentes de software:

  • o agente ou o algoritmo de aprendizagem por reforço, e;
  • o ambiente.

O ambiente precisa ter a seguinte assinatura mínima:

  • __init__ ou construtor;
  • reset() para a criação do estado inicial;
  • step() para a execução da ação. Basicamente, esta função step deve retonar o novo estado (consequência da execução da ação \(a\) no estado atual), o \(reward\) imediato e se o novo estado é terminal ou não;
  • uma função de reward que é codificada como parte da função step.

Existem diversas formas de se implementar um ambiente. Mas, a mais popular é usando o projeto gymnasium.

Proposta de atividade

Faça o fork do projeto https://github.com/fbarth/gym_custom_env e siga o roteiro que está descrito no arquivo README.md deste repositório.

A última etapa do roteiro propõe o uso deste ambiente para problemas de Coverage Path Planning (CPP). O CPP é um problema de planejamento clássico onde o objetivo é encontrar um caminho que cubra uma área ou um conjunto de pontos. Este problema tem aplicações em diversas áreas, como robótica, logística e agricultura de precisão.

Para que este ambiente seja utilizado para problemas de CPP, é necessário obrigatoriamente mudar a função de reward para que o agente seja recompensado por cobrir novas células e punido por cobrir células já visitadas.

Você deverá:

O prazo para envio dos pull requests é o dia 01 de abril de 2026.