ComeçarComece de graça

Definindo a função epsilon-greedy

Em RL, a estratégia epsilon-greedy equilibra exploração e aproveitamento. Esse método escolhe uma ação aleatória com probabilidade epsilon e a melhor ação conhecida com probabilidade 1-epsilon. Implementar a função epsilon_greedy() é essencial para algoritmos como Q-learning e SARSA, pois facilita o aprendizado do agente ao garantir tanto a exploração do ambiente quanto o aproveitamento das recompensas conhecidas. Esse será o objetivo deste exercício.

A biblioteca numpy já foi importada como np.

Este exercício faz parte do curso

Reinforcement Learning com Gymnasium em Python

Ver curso

Instruções do exercício

  • Dentro da função, escreva a condição adequada para que o agente explore o ambiente.
  • Escolha uma action aleatória ao explorar.
  • Escolha a melhor action de acordo com a q_table ao aproveitar.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

epsilon = 0.2
env = gym.make('FrozenLake')
q_table = np.random.rand(env.observation_space.n, env.action_space.n)

def epsilon_greedy(state):
    # Implement the condition to explore
    if ____ < ____:
      	# Choose a random action
        action = ____
    else:
      	# Choose the best action according to q_table
        action = ____
    return action
Editar e executar o código