시작하기무료로 시작하기

First-Visit Monte Carlo 구현하기

Monte Carlo 알고리즘의 목표는 최적 정책을 도출하기 위해 Q-table을 추정하는 것입니다. 이 연습 문제에서는 First-Visit Monte Carlo 방법을 구현해 행동 가치 함수 Q를 추정하고, 이전 연습 문제에서 보았던 커스텀 환경을 해결하기 위한 최적 정책을 계산해 보겠습니다. return을 계산할 때는 할인율을 1로 가정하세요.

Q-값, 누적 보상 합, 그리고 각 상태-행동 쌍의 방문 횟수를 저장하는 numpy 배열 Q, returns_sum, returns_count가 미리 초기화되어 로드되어 있어요.

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

Python으로 배우는 Gymnasium 기반 Reinforcement Learning

강의 보기

연습 안내

  • First-Visit Monte Carlo 알고리즘에서 확인해야 하는 if 조건을 정의하세요.
  • return(returns_sum), 그에 대한 카운트(returns_count), 그리고 visited_states를 업데이트하세요.

실습형 인터랙티브 연습

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

for i in range(100):
  episode = generate_episode()
  visited_states = set()
  for j, (state, action, reward) in enumerate(episode):
    # Define the first-visit condition
    if ____ not in ____:
      # Update the returns, their counts and the visited states
      returns_sum[state, action] += ____([____ for ____ in ____])
      returns_count[state, action] += ____
      visited_states.____(____)

nonzero_counts = returns_count != 0

Q[nonzero_counts] = returns_sum[nonzero_counts] / returns_count[nonzero_counts]
render_policy(get_policy())
코드 편집 및 실행