Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Policy Improvement

Définition de l’environnement

Valeurs des variables sur l’exemple :

states = ["North", "South", "East", "West"]
actions = ["clock", "anti-clock", "stay"]
gamma = 0.9  
horizon = 10  # noté H dans les diapositives

États et actions possibles

On considère un cercle découpé en 4 directions principales :
Nord, Est, Sud, Ouest, avec 3 actions possibles :

  • clock (sens horaire)
  • anti-clock (sens antihoraire)
  • stay (rester sur place)

Chaque action entraîne une transition déterministe vers un nouvel état :

Probabilités de transition

Récompenses associées ( R(s,a) )


Étape 1 — Politique initiale

On commence avec une politique arbitraire (non optimale) :


Étape 2 — Évaluation de la politique

On estime la valeur des états sous la politique courante :

L’algorithme procède par itérations successives (approche approchée sur un horizon (H = 10)) :

V = {s: 0 for s in states}
for _ in range(horizon):
    new_V = V.copy()
    for s in states:
        a = policy[s]
        new_V[s] = R[(s,a)] + gamma * sum(P[(s,a)][s2] * V[s2] for s2 in P[(s,a)])
    V = new_V

À la fin de cette boucle, on obtient une estimation stable de $$ (V^{\pi}) $$.


Étape 3 — Amélioration de la politique

Pour chaque état (s), on calcule la valeur d’action (Q(s,a)) :

et on met à jour la politique en choisissant l’action optimale :

Code correspondant :

for s in states:
    Q_values = {}
    for a in actions:
        Q_values[a] = R[(s,a)] + gamma * sum(P[(s,a)][s2] * V[s2] for s2 in P[(s,a)])
    policy[s] = max(Q_values, key=Q_values.get)

Étape 4 — Vérification de la stabilité

Si la politique ne change plus , on a atteint une politique optimale :

Sinon, on retourne à l’étape d’évaluation et on répète jusqu’à convergence.


Résultat final

Après convergence :

et les valeurs d’état associées maximisent les retours attendus sous cette politique optimale.


Formule générale de la Policy Iteration

Évaluation :

Amélioration :

On alterne ces deux étapes jusqu’à convergence.