Comparer des politiques
On vous fournit deux fonctions de valeur d’état (value_function_1 et value_function_2) correspondant à deux politiques différentes dans l’environnement MyGridWorld. Votre objectif est de comparer ces fonctions de valeur d’état, état par état, pour déterminer quelle politique est la plus efficace.
La variable num_states est à votre disposition.
Cet exercice fait partie du cours
Reinforcement Learning avec Gymnasium en Python
Instructions
- Créez une liste
one_is_betterde valeurs booléennes, où chaque élément vérifie si la valeur de l’état dansvalue_function_1est supérieure ou égale à la valeur de l’état dansvalue_function_2. - Créez une liste
two_is_betterde valeurs booléennes, où chaque élément vérifie si la valeur de l’état dansvalue_function_2est supérieure ou égale à la valeur de l’état dansvalue_function_1.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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.")