시작하기무료로 시작하기

epsilon-greedy 함수 정의하기

RL에서 epsilon-greedy 전략은 탐색과 활용의 균형을 맞추는 방법이에요. 이 방식은 확률 epsilon으로 무작위 행동을 선택하고, 확률 1-epsilon으로 현재 가장 좋은 행동을 선택해요. epsilon_greedy() 함수를 구현하는 것은 Q-learning과 SARSA 같은 알고리즘에 필수적이며, 환경을 탐색하면서도 알려진 보상을 활용하도록 하여 에이전트가 효과적으로 학습하도록 돕습니다. 이번 연습 문제의 목표는 이 함수를 구현하는 것이에요.

numpy 라이브러리는 np로 임포트되어 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 Gymnasium 기반 Reinforcement Learning

강의 보기

연습 안내

  • 함수 내부에서 에이전트가 환경을 탐색하도록 하는 적절한 조건을 작성하세요.
  • 탐색 시에는 무작위 action을 선택하세요.
  • 활용 시에는 q_table에 따라 가장 좋은 action을 선택하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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
코드 편집 및 실행