Markov Decision Process (MDP)
Un Markov Decision Process (MDP) est une extension du processus de Markov dans lequel un agent peut choisir une action à chaque étape.
Le passage d’un état à un autre ne dépend donc plus uniquement de l’état actuel, mais aussi de l’action effectuée.
L’idée global par rapport a MP :
À chaque état, l’agent choisit une action.
Cette action influence la probabilité des états futurs et la récompense qu’il reçoit.
Définition
Un MDP est défini par ces 5 variables :
ou (, ) est un MP
- : probabilité de transition
- : récompense immédiate recue en faisant l’action dans l’état
- : facteur d’actualisation (favorise les récompenses immédiates si proche de 0, futures si proche de 1, en gros si on découvre ou si on joue avec nos connaissance)
Fonction de transition
La probabilité de transition dépend maintenant de l’action :
Pas comme le MP de base le MDP dépend de l'état et de la nouvelle variable l'action
Récompense
La récompense sert a savoir si une action étais bien ou pas:
Elle peut être positive (gain) ou négative (coût) ou neutre si elle n'a aucun importance.
Bien choisir ses récompenses fait change tout, si elles sont mal choisis cela peut mener a un mauvaise apprentissage (pour plus tard)
Politique
Une politique ou policy est une une fonction qui pour un état s nous dis quel action a effectuer :
ou (si stochastique) :
Valeur d’une politique
La valeur d’un état sous une politique est l’espérance des récompenses cumulées :
Cette formule mesure si dans longtemp nos action seront bien ou mal, (si le chemin est bon ou mauvais a long termes).
Objectif de l’agent
Trouver la meilleure politique telle que :
Autrement dit : choisir les actions permettant d’obtenir le maximum de récompenses cumulées.
Exemple
Le joueur peut être dans deux états :
À chaque tours, il a deux action possibles :
- Tenter : on lance une pièce.
- Si c’est face -> on gagne -> on va dans l’état Victoire
- Si c’est pile -> on reste dans l’état Début
- Abandonner : on tente rien, sans gagner -> on reste dans Début (et on gagne jamais)
Probabilités de transition
-
Depuis Début :
-
Depuis Victoire :
- La partie est terminée (on reste en victoire ou on stop le jeu)
Récompenses
On gagne 1 point seulement quand on atteint Victoire :
Et :
La meilleure politique est donc (je crois) :
car c’est la seul qui permet d’obtenir une récompense.
MDP + politique
Il est possible d'obtenir un Markov Reward Process (MRP) à partir d'un MDP, en lui ajoutant une politique. Le MRP correspondant possède les propriétés suivantes:
Exemple
Données
Calcul de
Pour
Pour
Résultat final
Calcul de
Résultat final
En code
Fonction Construire_MRP_Depuis_MDP(P, R, Politique):
n_etats ← nombre d'états dans P
n_actions ← nombre d'actions dans P
P_MRP ← matrice n_etats × n_etats remplie de 0
R_MRP ← vecteur de taille n_etats rempli de 0
Pour chaque état s de 0 à n_etats−1 faire:
Pour chaque action a de 0 à n_actions−1 faire:
P_MRP[s] ← P_MRP[s] + Politique[s][a] × P[s][a]
R_MRP[s] ← R_MRP[s] + Politique[s][a] × R[s][a]
FIN Pour
FIN Pour
Retourner P_MRP, R_MRP
Conclusion
Un MDP est donc un modèle qui fait une prise de décision étape par étape.
en gros il ajoute au MP de base :
- Le choix d’actions
- La récompense
- La notion de politique optimale