Začněte nyníZačněte zdarma

Implementace value iteration

Value iteration je klíčová metoda v RL pro nalezení optimální politiky. Iterativně vylepšuje hodnotovou funkci pro každý stav, dokud se nekonverguje, čímž odhaluje optimální politiku. Začneš s inicializovanou hodnotovou funkcí V a policy, které jsou pro tebe předem načteny. Poté je budeš aktualizovat ve smyčce, dokud hodnotová funkce nekonverguje, a nakonec se podíváš, jak politika funguje v praxi.

Funkce get_max_action_and_value(state, V) je pro tebe předem načtena.

Toto cvičení je součástí kurzu

Reinforcement Learning with Gymnasium in Python

Zobrazit kurz

Pokyny k cvičení

  • Pro každý stav najdi akci s nejvyšší hodnotou Q (max_action) a její odpovídající hodnotu (max_q_value).
  • Aktualizuj slovník new_V a policy na základě max_action a max_q_value.
  • Zkontroluj konvergenci tak, že ověříš, zda je rozdíl mezi new_v a V pro každý stav menší než threshold.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

threshold = 0.001
while True:
  new_V = {}
  for state in range(num_states-1):
    # Get action with maximum Q-value and its value 
    max_action, max_q_value = ____
    # Update the value function and policy
    new_V[state] = ____
    policy[state] = ____
  # Test if change in state values is negligeable
  if all(abs(____ - ____) < ____ for state in ____):
    break
  V = new_V
render_policy(policy)
Upravit a spustit kód