Aan de slagGa gratis aan de slag

Beleid vergelijken

Je krijgt twee toestandswaardefuncties (value_function_1 en value_function_2) die horen bij twee verschillende policies in de MyGridWorld-omgeving. Jouw taak is om deze toestandswaardefuncties per toestand te vergelijken om te bepalen welk beleid effectiever is.

De variabele num_states is beschikbaar voor je om te gebruiken.

Deze oefening maakt deel uit van de cursus

Reinforcement Learning met Gymnasium in Python

Cursus bekijken

Oefeninstructies

  • Maak een lijst one_is_better met booleans, waarbij elk element controleert of de waarde van de toestand in value_function_1 hoger of gelijk is aan de waarde van de toestand in value_function_2.
  • Maak een lijst two_is_better met booleans, waarbij elk element controleert of de waarde van de toestand in value_function_2 hoger of gelijk is aan de waarde van de toestand in value_function_1.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

value_function_1 = {0: 1, 1: 2, 2: 3, 3: 7, 4: 6, 5: 4, 6: 8, 7: 10, 8: 0}
value_function_2 = {0: 7, 1: 8, 2: 9, 3: 7, 4: 9, 5: 10, 6: 8, 7: 10, 8: 0}

# Check for each value in policy 1 if it is better than policy 2
one_is_better = [____ >= ____ for state in range(num_states)]

# Check for each value in policy 2 if it is better than policy 1
two_is_better = [____ >= ____ for state in range(num_states)]

if all(one_is_better):
  print("Policy 1 is better.")
elif all(two_is_better):
  print("Policy 2 is better.")
else:
  print("Neither policy is uniformly better across all states.")
Code bewerken en uitvoeren