LoslegenKostenlos loslegen

Policies vergleichen

Du bekommst zwei Zustandswertfunktionen (value_function_1 und value_function_2), die zwei unterschiedlichen Policies in der Umgebung MyGridWorld entsprechen. Deine Aufgabe ist es, diese Zustandswertfunktionen zustandsweise zu vergleichen, um zu bestimmen, welche Policy effektiver ist.

Die Variable num_states steht dir zur Verfügung.

Diese Übung ist Teil des Kurses

Reinforcement Learning mit Gymnasium in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine Liste one_is_better mit booleschen Werten, in der jedes Element prüft, ob der Zustandswert in value_function_1 größer oder gleich dem Zustandswert in value_function_2 ist.
  • Erstelle eine Liste two_is_better mit booleschen Werten, in der jedes Element prüft, ob der Zustandswert in value_function_2 größer oder gleich dem Zustandswert in value_function_1 ist.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen