Rozwiązywanie CliffWalking za pomocą strategii epsilon-zachłannej
Środowisko CliffWalking to klasyczny punkt odniesienia do testowania algorytmów RL. To świat siatki, w którym agent musi znaleźć ścieżkę od stanu startowego do stanu docelowego, omijając po drodze klify. Strategia epsilon-zachłanna pozwala agentowi skutecznie eksplorować środowisko i uczyć się unikania klifów, maksymalizując skumulowaną nagrodę. Twoim zadaniem jest rozwiązanie tego środowiska przy użyciu strategii epsilon-zachłannej, obliczenie nagród uzyskanych w każdym epizodzie treningowym i zapisanie ich na liście rewards_eps_greedy.
To ćwiczenie jest częścią kursu
Uczenie przez wzmacnianie z Gymnasium w Pythonie
Instrukcje do ćwiczenia
- W ramach epizodu wybierz akcję
actionza pomocą funkcjiepsilon_greedy(). - Kumuluj otrzymaną nagrodę
rewardw zmiennejepisode_reward. - Po każdym epizodzie dołącz łączną wartość
episode_rewarddo listyrewards_eps_greedyw celu późniejszej analizy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
rewards_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Select action with epsilon-greedy strategy
action = ____
next_state, reward, terminated, truncated, info = env.step(action)
# Accumulate reward
____
update_q_table(state, action, reward, next_state)
state = next_state
# Append the toal reward to the rewards list
____
print("Average reward per episode: ", np.mean(rewards_eps_greedy))