Labeled Real-Time Dynamic Programming (LRTDP) Pierrick Plamondon
© Pierrick Plamondon – Juillet / 24 Plan de la présentation Introduction Learning Real-Time A* (LRTA*) Real-Time Dynamic Programming (RTDP) Labeled RTDP (LRTDP)
© Pierrick Plamondon – Juillet / 24 Rappel : Définitions Selon Dean et Kambhambati [1996] −Planification hors-ligne : Un algorithme de planification qui performe tous les calculs avant d’exécuter une action −Planification en-ligne : Un algorithme de planification dans lequel il y a un entrelacement entre calculs et actions Cet entrelacement peut se faire dans l’environnement ou dans un simulateur de l’environnement
© Pierrick Plamondon – Juillet / 24 Introduction : Aperçu La solution peut être optimale ou non dans un algorithme hors-ligne ou en-ligne LRTA*, RTDP et LRTDP sont de type : −En-ligne où l’entrelacement est fait dans un simulateur de l’environnement
© Pierrick Plamondon – Juillet / 24 Plan de la présentation Introduction Learning Real-Time A* (LRTA*) Real-Time Dynamic Programming (RTDP) Labeled RTDP (LRTDP)
© Pierrick Plamondon – Juillet / 24 Hors-ligne vs en-ligne : déterministe Situation −État initial connu −Heuristique admissible pour orienter la recherche Les récompenses ne doivent pas être sous-estimées Planification hors ligne −A* Planification en ligne −LRTA*
© Pierrick Plamondon – Juillet / 24 Problème de Russel et Norvig [2003] adapté 1234 État initial = s 1
© Pierrick Plamondon – Juillet / 24 Heuristique On peut définir l’heuristique selon l’endroit −Colonne 1 : −Colonne 2 : −Colonne 3 : −Colonne 4 : La récompense est ainsi surestimée 1 234
© Pierrick Plamondon – Juillet / 24 LRTA* [Korf, 1990] : Algorithme
© Pierrick Plamondon – Juillet / 24 Exécution de LRTA* 1234 V(s 5 ) = 0,88 V( s 2 ) = 0,92 1er essai: a 1 = droite a 2 = droite V’(s 1 ) = 0,88 V( s 1 ) = 0,88V( s 3 ) = 0,96 V’(s 2 ) = 0,92 V( s 4 ) = 1 a 3 = droite V( s 6 ) = 0,96 V’(s 3 ) = 0,96 a 4 = gauche V’(s 4 ) = 0,92 V( s 4 ) = 0,92 a 5 = haut V’(s 3 ) = 0,92 V( s 3 ) = 0,92 a 6 = haut V(s 10 ) = 0,96 V’(s 6 ) = 0,92 V( s 6 ) = 0,92 V(s 9 ) = 0,92 a 7 = droite V’(s 10 ) = 0,96 Une solution acceptable est trouvée rapidement
© Pierrick Plamondon – Juillet / 24 Discussion sur A* et LRTA* LRTA* trouve une solution réalisable en moins de temps que A* LRTA* requiert moins de mémoire −Ne considère que l’état courant pour orienter sa recherche −Peut résoudre des problèmes plus complexes En général A*, prend moins de temps à converger que LRTA* Il existe plusieurs extensions à A* et LRTA*
© Pierrick Plamondon – Juillet / 24 Plan de la présentation Introduction Learning Real-Time A* (LRTA*) Real-Time Dynamic Programming (RTDP) Labeled RTDP (LRTDP)
© Pierrick Plamondon – Juillet / 24 Planification stochastique Planification hors-ligne −AO* et LAO* −HDP Planification en-ligne −RTDP et LRTDP
© Pierrick Plamondon – Juillet / 24 RTDP [Barto et al, 1995] Version stochastique de LRTA* RTDP, tout comme LRTA* fournit une politique optimale suite à un certain nombre d’itération −Mais on n’a aucun critère pour déterminer si une politique de RTDP est optimale −Converge à l’infini…
© Pierrick Plamondon – Juillet / 24 RTDP : Algorithme
© Pierrick Plamondon – Juillet / 24 Plan de la présentation Introduction Learning Real-Time A* (LRTA*) Real-Time Dynamic Programming (RTDP) Labeled RTDP (LRTDP)
© Pierrick Plamondon – Juillet / 24 LRTDP LRTDP Introduit une procédure d’étiquetage d’un état résolu à RTDP Les itérations de LRTDP prennent fin lors de la rencontre d’un état résolu L’algorithme termine lorsque l’état initial est étiqueté comme résolu
© Pierrick Plamondon – Juillet / 24 LRTDP : Algorithme
© Pierrick Plamondon – Juillet / 24 CheckSolved On mets dans closed les enfants de s. On ne va pas plus loin qu’un état s’ dont son erreur de Bellman est supérieure à epsilon. Si tous les états dans closed on une erreur inféreur à epsilon, ils sont résolus Sinon, on les met à jour
© Pierrick Plamondon – Juillet / 24 Problème de Russel et Norvig [2003] 1234 État initial = s 1
© Pierrick Plamondon – Juillet / 24 Exécution de LRTDP 1234 V(s 5 ) = 0,88 V(s 2 ) = 0,92 1er essai: a 1 = droite a 2 = droite V’(s 1 ) = 0,872 V(s 1 ) = 0,88V(s 3 ) = 0,96 V’(s 2 ) = 0,912 V(s 4 ) = 1 a 3 = droite V(s 6 ) = 0,96V’(s 3 ) = 0,952 a 4 = gauche V’(s 4 ) = 0,854 V(s 4 ) = 0,92 a 6 = haut V’(s 3 ) = 0,905 V(s 3 ) = 0,92 V’(s 1 ) = 0,872 V’(s 2 ) = 0,912 V’(s 2 ) = 0,854V’(s 2 ) = 0,952V’(s 2 ) = 0,905 V(s 10 ) = 0,96 a 7 = haut V’(s 6 ) = 0,824 V’(s 2 ) = V(s 10 ) = 0,92V’(s 6 ) = 0,938 a 8 = droite V’(s 10 ) = 0.938
© Pierrick Plamondon – Juillet / 24 LRTDP : Discussion LRTDP vs LAO* et VI −LRTDP obtient une bonne politique plus rapidement −LRTDP converge à l’optimal plus lentement
© Pierrick Plamondon – Juillet / 24 A Modified LRTDP Approach Idée de l’approche Propager l’erreur de Bellman d’un état à ses parents dans checkSolved −Un paramètre est utilisée pour définir le degré de propagation. Plus est élevé, moins on propage. −Formule utilisée pour la propagation : −Bien moins complexe qu’un Bellman backup
© Pierrick Plamondon – Juillet / 24 Questions ?