AccueilIA et apprentissage automatiqueNavigateur Robot — Itération de la Valeur MDP en Direct

🤖 Navigateur Robot — Itération de la Valeur MDP en Direct

Observez la véritable itération de la valeur d'un processus de décision markovien propager en direct les valeurs d'état sur une grille simulée, convergeant vers la vraie politique de navigation optimale grâce aux mises à jour de Bellman-optimalité.

IA et apprentissage automatique3DAvancé60 FPS
ai-robot-navigation-value-iteration ↗ Ouvrir en autonome

À propos de cette simulation

Ce simulateur implémente un véritable processus de décision markovien résolu par itération de la valeur — la méthode de programmation dynamique basée sur un modèle qui sous-tend presque tous les autres algorithmes d'apprentissage par renforcement. Un robot évoluant sur une grille occupe l'un des états possibles ; chaque action qu'il peut entreprendre a un résultat connu, éventuellement stochastique, et chaque transition porte une récompense connue. Plutôt que de laisser un agent tâtonner dans le monde par essais et erreurs, l'itération de la valeur raisonne sur l'ensemble de l'espace d'états à la fois : chaque balayage synchrone applique la mise à jour de Bellman-optimalité à tous les états simultanément, propageant l'information sur la récompense du but vers l'arrière à travers la grille, un saut par balayage, jusqu'à ce que la fonction de valeur cesse de changer et que la politique optimale puisse en être directement lue.

🔬 Ce que ça montre

Une grille d'états, chacun rendu sous forme de cellule colorée dont la couleur code son estimation de valeur actuelle V(s). À chaque balayage, V(s) ← max_a Σ_s' P(s'|s,a)[R(s,a,s') + γV(s')] est appliqué à tous les états non terminaux à la fois — la véritable équation d'optimalité de Bellman, pas une approximation. Un graphique en échelle logarithmique en direct trace le changement de valeur maximal par balayage, qui diminue vers zéro à mesure que les balayages convergent. Une fois la convergence atteinte, des flèches superposées sur chaque cellule montrent la politique optimale extraite π(s) = argmax_a Q(s,a), et un bouton « Conduire selon la politique optimale » envoie un agent de la cellule de départ à la cellule de but, en échantillonnant la véritable transition stochastique à chaque étape.

🎮 Comment l'utiliser

Ajustez le facteur d'actualisation γ, la fiabilité de transition P(intentionnelle) (la probabilité qu'une action réussisse comme prévu plutôt que de dévier de 90° à gauche ou à droite), le coût de pas et la pénalité de collision d'obstacle — chaque changement réinitialise la fonction de valeur afin que vous puissiez observer sa nouvelle convergence sous le nouveau MDP. Choisissez un préréglage d'obstacles (Épars, Mur, Labyrinthe, Aléatoire) ou cliquez sur n'importe quelle cellule pour la basculer en obstacle. Utilisez Lancer les balayages pour itérer en continu, Pas ×1 pour avancer une mise à jour de Bellman à la fois, et Conduire selon la politique optimale pour observer le robot naviguer en utilisant la politique convergée.

💡 Le saviez-vous ?

Comme l'opérateur d'optimalité de Bellman est une γ-contraction dans la norme max, l'itération de la valeur est mathématiquement garantie de converger vers une fonction de valeur optimale unique, quelles que soient les valeurs de départ — la simulation initialise chaque V(s) à zéro et parvient tout de même à la bonne réponse. Cette garantie de convergence explique précisément pourquoi l'itération de la valeur (et sa proche cousine, l'itération de politique) demeurent les solutions de référence des manuels, face auxquelles des méthodes sans modèle comme le Q-learning sont jugées.

Questions fréquentes

Qu'est-ce que l'itération de la valeur d'un processus de décision markovien, exactement ?

L'itération de la valeur est un algorithme de programmation dynamique basé sur un modèle, permettant de résoudre un processus de décision markovien (MDP) : un espace d'états S, un espace d'actions A, un modèle de transition connu P(s'|s,a), une fonction de récompense R(s,a,s') et un facteur d'actualisation γ. Partant d'une fonction de valeur arbitraire V(s), il applique de manière répétée la mise à jour de Bellman-optimalité V(s) ← max_a Σ_s' P(s'|s,a)[R(s,a,s') + γV(s')] à tous les états simultanément (un balayage synchrone). Comme cette mise à jour est une application contractante sous γ<1, des balayages répétés convergent de manière prouvée vers l'unique fonction de valeur optimale V*, à partir de laquelle la politique optimale π*(s) = argmax_a Σ_s' P(s'|s,a)[R(s,a,s') + γV*(s')] peut être lue directement.

En quoi cela diffère-t-il du Q-learning ou d'autres méthodes d'apprentissage par renforcement sans modèle ?

L'itération de la valeur est basée sur un modèle : elle nécessite que les probabilités de transition P(s'|s,a) et la fonction de récompense R(s,a,s') soient connues à l'avance, et elle calcule une espérance exacte sur chaque résultat possible de chaque action dans chaque état à chaque balayage — aucune simulation ni exploration de l'environnement n'est nécessaire. Le Q-learning (traité dans la simulation d'apprentissage par renforcement distincte de ce site) est sans modèle : l'agent ne connaît pas P ni R à l'avance, il doit donc réellement agir dans l'environnement, observer des transitions échantillonnées (s, a, r, s'), et mettre à jour progressivement Q(s,a) avec une règle de différence temporelle Q(s,a) ← Q(s,a) + α[r + γ·max_a' Q(s',a') − Q(s,a)]. L'itération de la valeur converge vers le V* exact en un nombre borné de balayages étant donné le modèle ; le Q-learning ne converge qu'asymptotiquement, par exploration par essais et erreurs, et ne nécessite aucun modèle de transition explicite. Cette simulation implémente délibérément le cas basé sur un modèle afin que les deux familles d'algorithmes puissent être clairement distinguées.

Pourquoi les transitions de la grille sont-elles stochastiques plutôt que déterministes ?

Les robots réels et les agents physiques exécutent rarement une action parfaitement — les roues glissent, les capteurs dérivent et les sols sont irréguliers. Cette simulation modélise cela avec un modèle de transition stochastique classique : choisir de se déplacer dans une direction donnée réussit avec une probabilité P(intentionnelle) (réglable, par défaut 0,80), tandis que la probabilité restante est répartie également entre une déviation de 90° à gauche et une déviation de 90° à droite du cap prévu. La mise à jour de Bellman fait la somme des trois résultats possibles pondérés par leurs probabilités, ce qui est précisément ce qui fait de ceci un véritable MDP plutôt qu'une recherche déterministe du plus court chemin — la politique optimale doit se prémunir contre le risque d'une glissade indésirable vers un mur ou un obstacle.

Comment les composantes de récompense (récompense de but, pénalité d'obstacle, coût de pas) façonnent-elles la politique optimale ?

Trois termes de récompense se combinent pour définir R(s,a,s') : un petit coût de pas négatif (par défaut −0,04) appliqué à chaque mouvement non terminal, ce qui pousse la politique optimale vers des chemins plus courts ; une pénalité de collision avec un obstacle ou un mur (par défaut −0,75) appliquée chaque fois qu'une transition est bloquée par un mur, un obstacle ou la limite de la grille, ce qui pousse la politique à conserver une marge de sécurité autour des obstacles, surtout lorsque les transitions sont bruitées ; et une récompense terminale de but (+1) reçue en entrant dans la cellule de but, ce qui rend l'atteinte du but intéressante. L'itération de la valeur propage les trois à travers la mise à jour de Bellman, de sorte que les cellules proches du but acquièrent des valeurs élevées en premier, et ce signal de haute valeur se propage vers l'arrière, balayage après balayage, jusqu'à ce que chaque état atteignable dispose d'une estimation précise de son gain espéré à long terme.

Comment puis-je savoir que la fonction de valeur a réellement convergé ?

Chaque balayage synchrone enregistre le changement absolu maximal de la valeur de n'importe quel état, max_s |V_new(s) − V_old(s)|, et la simulation trace cette quantité sur une échelle logarithmique en fonction du numéro de balayage. Comme l'opérateur d'optimalité de Bellman est une γ-contraction, cette séquence de delta maximal est garantie de décroître de manière monotone vers zéro ; la simulation déclare la convergence une fois qu'elle passe sous 1e-4. À ce stade, V(s) est à une erreur faible et bornée de la véritable V*(s), et la politique gloutonne qui en est extraite, π(s) = argmax_a Q(s,a), est la politique optimale pour le MDP tel que configuré.

Le facteur d'actualisation γ change-t-il autre chose que les valeurs numériques ?

Oui. γ contrôle à quel point la valeur d'un état est influencée par des récompenses situées à de nombreux pas dans le futur : avec un γ proche de 1, les récompenses de but lointaines se propagent presque sans atténuation à travers toute la grille, de sorte que la politique optimale planifie loin à l'avance et est prête à faire des détours plus longs mais plus sûrs autour des obstacles. Avec un γ plus proche de 0,5, les récompenses futures sont fortement actualisées, ce qui rend la politique myope — elle peut accepter un chemin plus court mais plus risqué au-delà d'un obstacle, car la valeur actualisée d'atteindre le but quelques pas plus tard ne vaut pas beaucoup plus que de l'atteindre un pas plus tôt. γ contrôle également la vitesse de convergence : un γ plus petit fait contracter l'opérateur de Bellman plus rapidement, de sorte que des facteurs d'actualisation plus faibles convergent généralement en moins de balayages.

⚙ Sous le capot

Une grille d'états est résolue par des mises à jour synchrones de Bellman-optimalité : V(s) ← max_a Σ P(s'|s,a)[R(s,a,s') + γV(s')], avec un modèle de transition stochastique (80% intentionnel, 10%/10% déviation gauche/droite par défaut) et une fonction de récompense composée d'une récompense de but, d'une pénalité d'obstacle et d'un coût de pas. Courbe de convergence en direct ; politique optimale extraite et exécutée une fois convergée.

Canvas 2DMarkov Decision ProcessValue IterationBellman EquationDynamic Programming

3D · Moteur de rendu Three.js / WebGL · Cible 60 FPS · fonctionne entièrement côté client, sans installation

Qu'avez-vous trouvé ?

Ajouter des étapes de reproduction (facultatif)