public:rl_tp1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
public:rl_tp1 [2025/11/24 16:05] – [Simulation d'un Monde-grille] edaucepublic:rl_tp1 [2025/11/25 12:10] (Version actuelle) – [3. Mise à jour du actor (version simple tabulaire)] edauce
Ligne 233: Ligne 233:
 Pour améliorer sa récompense moyenne, l'agent va maintenant prendre en compte la //valeur de l'état futur// pour choisir l'action, autrement dit, si $s_t$ est l'état courant : Pour améliorer sa récompense moyenne, l'agent va maintenant prendre en compte la //valeur de l'état futur// pour choisir l'action, autrement dit, si $s_t$ est l'état courant :
 $$ a_t = \underset{a \in \mathcal{A}}{\text{argmax }} V(\text{next}(s_t, a))$$ $$ a_t = \underset{a \in \mathcal{A}}{\text{argmax }} V(\text{next}(s_t, a))$$
 +
 +<note tip> **A faire :**
  
   * Écrire une méthode ''step_valeur()'' dans laquelle l'action est choisie selon la fonction de valeur (et non plus aléatoirement)   * Écrire une méthode ''step_valeur()'' dans laquelle l'action est choisie selon la fonction de valeur (et non plus aléatoirement)
Ligne 240: Ligne 242:
 </code> </code>
   * Lancer des simulations avec cette nouvelle méthode de mise à jour et calculer la récompense moyenne obtenue sur 100 épisodes et comparer au résultat précédent. Conclusion?   * Lancer des simulations avec cette nouvelle méthode de mise à jour et calculer la récompense moyenne obtenue sur 100 épisodes et comparer au résultat précédent. Conclusion?
 +</note>
 ==== Améliorations ==== ==== Améliorations ====
  
Ligne 259: Ligne 261:
 </code> </code>
  
-En fin de simulation, la valeur cumulée est calculée séparément pour chaque état rencontré:+En fin d'épisode, la valeur cumulée est calculée séparément pour chaque état rencontré:
   * pour chaque état $s_t$ de la trace :   * pour chaque état $s_t$ de la trace :
     * calculer la somme des récompenses **présente et futures**     * calculer la somme des récompenses **présente et futures**
Ligne 265: Ligne 267:
     * incrémenter le nombre de visites     * incrémenter le nombre de visites
  
 +<note tip> ** A faire:**
 +
 +Implémentez cette nouvelle méthode de calcul de la fonction de valeur et comparez les valeurs obtenues à celles de la politique précédente.
 +</note>
 +
 +===== Approche actor-critic (facultatif) =====
 +
 +L’actor-critic se résume à :
 +  * un critic fournissant le signal d’erreur ''δ'',
 +  * un actor ajustant une politique tabulaire directement en fonction de ''δ'',
 +
 +l’approche actor-critic repose sur deux tables distinctes :
 +
 +  * **Critic :** une table de valeurs d’état ''V(s)''.
 +  * **Actor :** une table de politique ''π(a|s)'' (probabilités explicites par état et action).
 +
 +==== 1. Erreur TD ====
 +
 +Pour chaque transition ''(s, a, r, s')'', le critic calcule l’erreur de temporal-difference :
 +
 +  δ = r + γ V(s') − V(s)
 +
 +==== 2. Mise à jour du critic ====
 +
 +La table de valeurs est mise à jour directement :
 +
 +  V(s) ← V(s) + α_c · δ
 +
 +==== 3. Mise à jour de l'acteur ====
 +
 +On ajuste la probabilité de l’action choisie et celles des autres actions dans l’état $s$ :
 +
 +  * Pour l’action exécutée ''a'' :
 +  
 +    $$π(a|s) ← π(a|s) + α_a · δ · (1 − π(a|s))$$
 +
 +  * Pour toutes les autres actions ''b ≠ a'' :
 +  
 +    $$π(b|s) ← π(b|s) − α_a · δ · π(b|s)$$
 +
 +Ces deux mises à jour garantissent que la ligne de la politique dans l’état ''s'' reste une distribution valide (les probabilités restent normalisées si elles étaient normalisées au départ).
 +
 +<note tip> ** A faire **
 +- Implémentez la méthode actor-critic dans la classe acteur, 
 +- Affichez l'évolution de la récompense finale obtenue sur 100 épisodes. Conclusion?
 +</note>
  
-Calculer à nouveau la fonction de valeur et comparer la politique obtenue à la politique précédente. 
  
  
  
  • public/rl_tp1.1763996719.txt.gz
  • Dernière modification : 2025/11/24 16:05
  • de edauce