J.D. Zucker jdzucker ‘chez’ gmail ‘point’ com

TD/TP : Apprentissage par Renforcement 

 

0- Algorithme de MAJ de la valeur et Q-Learning

Aller là http://www.cs.ubc.ca/~poole/demos/mdp/vi.html 

Répondez aux questions.

a) Cocher la case « absorbtion state » cela fait une différence ? pourquoi ? Essayer le cas sans discount gamme=1. Expliquer.

b) Pouvez expliquer pourquoi la politique optimale change au fur et à mesure que la finction est apprise ? Pouvez vous expliquer la direction de la politique optimale pour les différentes valeurs de gamma (i.e. 0.3 0.5 O.£8 0.9 et 1)?

c) Quand l’état est absorbant, pourquoi l’état (8,2) a une politique optimale pour la convergence qui contourne l’état (8,3) de reward 3 ?

d) Que représente la valeur (1,07) de la case (1,10).

e) Aller à la page http://www.cs.ubc.ca/~poole/demos/rl/q.html et try the Q-learning at different discount rates (using the "Increment Discount" and "Decrement Discount" buttons, or just typing it in).

1- Exercice

Beaucoup de positions ont l'air symétrique dans le TicTacToe.

  1. Comment tirer avantage de cette symétrie ?
  2. Que cela améliorera-t-il ?
  3. Si l'opposant ne tient pas compte des symétries, faut il utiliser la symétrie ?
  4. Si on utilise la symétrie et que l'opposant ne l'utilise pas, que peut il se passer ?

2- Exercices sur machine

A- Connecter vous sur un site illustrant l'apprentissage par renforcement

Vous trouverez une applet qui permet de comparer un algorithme d'allocation classique et un
algorithme adaptatif qui apprend à allouer des voies à des téléphones cellulaires.
    Le site: http://www.eecs.umich.edu/~baveja/Demo.html   

    a)  Liser "A brief explanation"
    b)  Essayer de modifier les paramètres et de comprendre ce que permet de faire cette applet.  Expliquez.

B- Connecter vous sur un site illustrant un apprentissage par renforcement sur un jeu

  Le site http://lslwww.epfl.ch/~anperez/BlackJack/classes/RLJavaBJ.html permet de jouer au Blackjack.
a) Explorer les différentes possibilités de ce jeux.
b) Trouver un protocole d'expérimentation permettant de montrer qu'il apprend.
c) Analyser le source et modifier le programme pour que le paramètre d'exploration
décroisse en fonction du nombre de parties jouées.

C- Aller dans le dossier RLapplet et cliquer sur le fichier TicTacToe.html

    a) Jouer contre la machine
    b) Faites apprendre la machine. Rejouer. Que constater vous ?
    c) Modifier les paramètres d'apprentissage. En particulier alpha et beta.
    d) Examiner le source pour comprendre où se fait l'apprentissage.
    e) Modifier le programme pour améliorer l'affichage, charger des paramètres,
    ajouter un bouton "réinitialise" si vous connaissez java

D- Aller sur le site http://thierry.masson.free.fr/IA/fr/qlearning_applet.htm

a)     Analyser l’applet 

b)     Essayer de comprendre et « jouez » avec les parametres

E- Aller sur le site : http://www.cse.unsw.edu.au/~cs9417ml/RL1/applet.html   

a)     Analyser l’applet 

b)     Essayer de comprendre et « jouez » avec les parametres

 

3- A faire

a) Choisissez un jeux (différent du TicTacToe) auquel vous aimez jouer et décrivez le.

b) Calculer le nombre d'états.

c) Essayer de trouver un codage permettant de tenir compte des symétries ou propriétés remarquable

d) Programmer l'algorithme vu en cours.

4-Bibliographie

Sutton, R. (1998). Introduction to Reinforcement Learning. Un repository pour tout ce qui touche le Reinforcement Learning:

4-Analyser et exécuter, modifier les parametres

PathLearner is a tool which demonstrates finding a shortest path between two iven points on a grid through reinforcement learning. http://staff.science.uva.nl/~gilad/pathlearner/

5-Analyser et exécuter, modifier les parametres

http://ccl.northwestern.edu/netlogo/models/community/Reinforcement%20Learning%20Maze

6-Biblio

http://www.cs.ualberta.ca/~sutton/book/code/code.html

D’autres applet http://www-anw.cs.umass.edu/rlr/domains.html

http://www2.lifl.fr/~decomite/piqle/

Apprentissage Multiagent avec Weka PIQLE : a Platform Implementing Q-LEarning algorithms in JAVA http://sourceforge.net/projects/piqle

http://www2.lifl.fr/~decomite/piqle/