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

Markov Reward Process (MRP)

Un Markov Reward Process (MRP) est un processus de Markov avec une fonction qui indique combien on gagne (ou perd) à chaque transition.


Définition

Un MRP est défini par le quadruplet :

ou (, ) est un MP

  • : récompense associée à l’état ou à la transition
  • : facteur d’actualisation (plus est proche de 1, plus les récompenses futures comptent)

Autrement dit :

Un MRP = Processus de Markov + Récompenses + Facteur d’actualisation.


Récompense

Etant donné un MRP :

  • = Valeur aléatoire = R( - 1, ), gain récolté en faisant la transition ->
  • par = + 1 + + ...

PAS FINIT


Valeur d’un état

La valeur d’un état mesure la récompense totale attendue à long terme, en partant de cet état :

  • = récompense immédiate obtenue en étant dans l’état
  • = qualité long terme de l’état

C’est ce qui indique si un état est bon ou mauvais à long terme. Ainsi, un état avec une grande valeur est considéré comme bon, car il mène en moyenne à beaucoup de récompenses futures.


Équation de Bellman

La fonction V vérifie l'équation de Bellman :

Cette équation exprime que :

  • on reçoit immédiatement
  • puis on se déplace vers un état futur
  • avec probabilité
  • tout en tenant compte de la valeur de cet état futur

Exemple

On a deux états :

Transitions :

  • Depuis Normal :

  • Depuis Bonus :

Récompenses :

Facteur d’actualisation :


Interprétation

  • L’état Bonus rapporte +5, mais ne dure pas.
  • Depuis Normal, on peut atteindre Bonus, mais ce n’est pas garanti.
  • La valeur permet de savoir si ça "vaut le coup" d’être dans un état.

Calcul de la valeur d'un MRP

Valeurs des variables sur les exemples :

P = np.array([[0.7, 0.3],
              [0.4, 0.6]])
R = np.array([5, 10])
gamma = 0.9

FORME VECTORIELLE

Fonction Bellman_Vector_Forme(P, R, gamma):

    n ← nombre de lignes de P

    I ← matrice identité de taille n × n

    A ← I - gamma × P

    A_inv ← inverse de A

    V ← A_inv × R

    Retourner V

Données :

Méthode vectorielle :

I une matrice d'identité donc :

donc :

Il faut maintenant calculer l’inverse de cette matrice, pour résoudre cela on applique cette formule :

FORME RECURSIVE

Fonction Bellman_Forme_Récursive(P, R, gamma):

    V ← vecteur nul de même taille que R
    seuil ← 0.0000001
    max_iterations ← 10000

    Pour k allant de 1 à max_iterations faire:

        V_nouveau ← R + gamma × P × V

        SI max(|V_nouveau − V|) < seuil alors:
            Sortir de la boucle
        FIN SI

        V ← V_nouveau
    FIN Pour

    Retourner V

Pour ( R, P ) et ( ), on prendra les mêmes données que la forme vectorielle.

Méthode récursive :

On commence la 1ʳᵉ itération avec un vecteur nul :


1ʳᵉ itération


2ᵉ itération


3ᵉ itération


On répète ces itérations jusqu’à atteindre un point de convergence lorsque la différence entre deux itérations devient minime.

Dans notre exemple, la convergence se fera à l’itération 172.


Itération 171 :

Itération 172 :


Donc :

Traces écrites :

bellman vector

bellman recursive


Conclusion

Un Markov Reward Process est :

  • une chaîne de Markov
  • avec une récompense
  • et une notion de gain à long terme via la valeur

C’est une étape essentielle entre :

  1. Chaînes de Markov (pas de choix)
  2. MDP (prise de décision et recherche de meilleure politique)