Site Tools


Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
realisation_env_grille_qlearning

Environnement grille et QLearning

Expérience

L'environnement est une grille modifiable à partir d'un fichier texte tel que ci dessous :

BBBBBBB
BSEEEEB
BEBEBEB
BEEEBEB
BEBEEEB
BEBBBEB
BEEEEFB
BBBBBBB

B = block
E = empty
S = start
F = finish

Elle contient une case de départ, une case de fin et un agent (et bientôt la possibilité d'en mettre plus).

La grille (d'une grande beauté) est représentée comme ci dessous :

envgrille.png

les cases cadrillées sont des murs, l'espace coloré en vert est le labyrinthe, et le cercle bleu est l'agent.

Pour la suite je pars du principe que la case (0, 0) est celle qui se situe le plus en haut à gauche du terrain. Sur cette grille l'agent commence en haut à gauche (case (1, 1)) et doit se rendre en bas à droite (case (5, 6)). Il évolue dans un environnement déterministe. A chaque mouvement il reçoit une récompense de -1, s'il atteint la case de fin, il obtient une récompense de 0.

Lors du test, l'agent à ε = 0, de façon à ce qu'il n'explore jamais (une récompense négative à chaque mouvement devrait le forcer à l'exploration de toute manière).
Le taux d'apprentissage est à 0.05.
Le taux de réduction gamma est de 0.90.
Le nombre d'itérations par épisode est de 5000.

Résultat

En lançant 500 épisodes de 5000 itérations (maximum, mais on voit que l'agent n'a jamais passé plus de 175 itérations sans trouver la sortie), j'obtiens ce graphique :

rewardsgrille.png

L'agent apprend petit à petit jusqu'à ce que ses qvaleurs convergent. La stratégie s'affine et devient intéressante à partir du 300ième épisode.

La suite

Appliquer ce QLearning au MountainCar et au Pendule.

realisation_env_grille_qlearning.txt · Last modified: 2024/08/15 18:49 by 47.128.99.99