
production. L’utilisation de m´ethodes de programation dynamique pour
l’optimisation dans les r´eseaux de files d’attente `a ´et´e ´etudi´e dans [3]. Votre
travail consiste `a utiliser la file en dimension 4 ou celle en dimension 8 de
[3] et chercher `a faire mieux que les r´esultats obtenu dans [3].
7. Conclusions ?
3 Sujet 3 : contrˆole optimal par recherche arbo-
rescente et algorithme UCT
L’id´ee de ce projet consiste `a directement r´esoudre le probl`eme de contrˆole
optimal en effectuant une recherche arborescente dans un arbre dont la racine
correspond `a l’´etat courant, o`u les noeuds correspondent aux ´etats accessibles
et les connexions repr´esentent les diff´erentes actions possibles.
Pour simplifier, on se place dans un cadre d´eterministe, avec un crit`ere `a
horizon temporel infini avec r´ecompense actualis´ee (par γ).
Le probl`eme de contrˆole optimal consiste `a d´eterminer, en chaque instant t
une action atqui maximise la somme des r´ecompenses `a venir. La m´ethode de
recherche arborescente est d´ecrite de mani`ere suivante :
– Notons xl’´etat du syst`eme `a l’instant courant. L’objectif est de retour-
ner une action a∈A. Pour cela, on construit un arbre dont la racine est
x. A cette racine est associ´ee les noeuds qui repr´esentent les ´etats suc-
cesseurs (not´es f(x, a)) du choix d’une action aen x. Il y a autant de
successeurs que d’actions possibles (ce nombre d’actions est not´e M). En
chacun de ces ´etats successeurs, `a nouveau, on associe les successeurs des
{f(x, a)}lorsque l’on choisit une seconde action b(que l’on peut noter
{f(f(x, a), b)}a,b∈A). Il y a M2tels successeurs `a l’´etape 2. On recom-
mence jusqu’`a une profondeur p. Ainsi, cet arbre dispose de Mpfeuilles.
La r´ecompense correspondant `a une branche est simplement la somme des
r´ecompenses actualis´ees correspondant `a chacune des transitions.
– On calcule la branche (par un algorithme quelconque de recherche arbo-
rescente) dont la r´ecompense est maximale, qui d´efinit ainsi une s´equence
d’actions, et on retourne la premi`ere action de cette s´equence (l’action
choisie `a la racine de l’arbre).
Cet algorithme retourne une action qui n’est pas n´ecessairement optimale,
mais que l’on souhaite proche de l’optimum, au sens o`u si l’on utilise cet algo-
rithme `a chaque it´eration (on construit ainsi un nouvel arbre `a chaque it´eration,
`a partir de l’´etat courant), la performance de cet algorithme doit ˆetre proche de
la fonction valeur optimale.
On veut analyser cet algorithme, l’impl´ementer dans une application pour le
contrˆole d’un proc´ed´e chimique de digestion ana´erobie, et ´etudier un algorithme
de recherche arborescente particuli`erement int´eressant, l’algorithme UCT, qui
fait l’objet de nombreux travaux actuellement. L’algorithme UCT (pour Up-
per Confidence bounds in Trees) est une extension de l’algorithme UCB (Up-
per Confidence Bounds, voir [6]) qui a ´et´e d´evelopp´e r´ecemment [4] pour la
recherche de solution dans des arbres de grande dimension. Pour motivation,
UCT a ´et´e appliqu´e `a la programmation du jeu de GO (par Yizao Wang et
Sylvain Gelly), jeu d’une complexit´e extrˆeme, et a men´e au programme MoGo,
meilleur programme mondial actuel sur jeux de tailles 9x9 et 13x13. Voir :
5