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
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_Vapolicyna základěmax_actionamax_q_value. - Zkontroluj konvergenci tak, že ověříš, zda je rozdíl mezi
new_vaVpro 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)