시작하기무료로 시작하기

Expected SARSA 적용하기

이제 아래와 같이 사용자 지정 환경에서 Expected SARSA 알고리즘을 적용해 보겠습니다. 목표는 에이전트가 격자(grid)를 탐색해 가능한 한 빨리 목표 지점에 도달하도록 하는 것입니다. 이전과 같은 규칙이 적용돼요: 다이아몬드에 도달하면 +10 보상, 산을 지나가면 -2 보상, 그 밖의 모든 상태에서는 -1 보상을 받습니다.

new_cust_env.png

환경은 env로 가져와 두었습니다.

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

Python으로 배우는 Gymnasium 기반 Reinforcement Learning

강의 보기

연습 안내

  • 각 상태-행동 쌍에 대해 Q-테이블 Q를 0으로 초기화하세요.
  • update_q_table() 함수를 사용해 Q-테이블을 업데이트하세요.
  • 학습된 Q-테이블로부터 정책을 사전(dict) 형태로 추출하세요.

실습형 인터랙티브 연습

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

# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
    state, info = env.reset()    
    done = False    
    while not done: 
        action = env.action_space.sample()               
        next_state, reward, done, truncated, info = env.step(action)
        # Update the Q-table
        ____
        state = next_state
# Derive policy from Q-table        
policy = {state: ____ for state in range(____)}
render_policy(policy)
코드 편집 및 실행