• Aucun résultat trouvé

Partie I Deux domaines 11

8.1 Arbre d’exploration des comportements

+− ... ... + +− ... ... + +− ... ... + +− + +− <=> 0

+

+−

+

+−

Comme le montre la partie haute de la figure ci-contre, les combinaisons de récompense s’orga-nisent elles aussi en arbres (en fait en graphes orientés acycliques, puisqu’un nœud peut être re-joint par divers chemins).

Pour des raisons de commodité, c’est le schéma du bas qui est utilisé dans ce manuscrit.

FIG. 8.2 – Arbre d’exploration des comportements.

On a représenté sur cette même figure les différentes combinaisons de récompenses qui vont être prises en compte (toujours symbolisées par les signes “+”, “−” et “+−”). Voir à ce propos la figure 8.2. Pour résumer le principe suivi, un nouveau type de configuration étant choisi, les comportements correspondant aux récompenses possibles sont appris et testés de manière à déterminer s’ils sont intéres-sants ou pas. La figure 8.1 illustre la progression selon les types de configuration et les récompenses : les comportements sont de plus en plus complexes quand on descend vers les feuilles de l’arbre (même si ce n’est pas un arbre au sens strict, mais plutôt un graphe orienté acyclique à deux dimensions : types de configuration et combinaisons de récompenses).

8.1.3 Croissance arborescente

Parcours

Pour que la construction de l’ensemble de comportements de base B se fasse en suivant une com-plexité croissante, l’arbre à explorer doit être parcouru en largeur d’abord : on examine toutes les situa-tions impliquant au plus ntotypes d’objets avant de passer à nto+ 1.

Dans le même ordre d’idée, pour chaque type de configuration, on effectue un parcours en largeur d’abord dans l’arbre des combinaisons de récompenses (tel que représenté dans la partie haute de la figure 8.2).

Exploration (problème)

A supposer qu’on ait défini sur quel critère un comportement va être retenu comme comportement de base, il n’a pas encore été dit précisément quels comportements vont être testés.

Ayant principalement travaillé sur l’application du monde des tuiles, il est facile, pour un type de configuration donné, d’explorer systématiquement toutes les combinaisons de récompenses. C’est donc le choix qui a été fait, ce qui ramène le problème de l’exploration à la dimension principale des types de configuration.

N’ayant plus à tenir compte que d’une dimension (c’est-à-dire un arbre simple), on se retrouve en fait avec un problème similaire à celui du développement d’un U-tree auquel s’est intéressé [McCallum, 1995] (ou d’un observable si l’on se réfère à [Dutech et Samuelides, 2003]). Il s’agit en effet de partir d’un arbre de nœuds explorés, et de l’étendre.

Exploration (solution)

Pour cela, quand un comportement lié à un nœud n est retenu pour faire partie deB, on développe lo-calement un sous-arbre à explorer. Ce choix se justifie par l’idée que s’il s’avère intéressant d’apprendre un comportement donné, c’est qu’il devait poser problème, et que des situations plus complexes (donc qui en dérivent) pourraient aussi être utilement considérées.

En pratique, cela requiert la définition d’un premier paramètre : la profondeur psad’un tel sous-arbre. L’algorithme va ainsi créer continuellement une “frange” de nouveaux types de configuration à évaluer, au fur et à mesure de l’exploration elle-même. Ce processus s’arrête dans deux cas :

– soit l’arbre a été complètement exploré,

– soit une profondeur limite pmaxa été atteinte (pour ne pas suivre d’éventuelles branches infinies).

Critère

Sachant comment va être effectuée l’exploration de comportements, il ne reste qu’à définir selon quel critère un comportement sera retenu pour faire partie des compotements de base servant à l’agent. Pour cela, un critère simple d’ajout d’un comportement à “l’ensemble de base” peut être établi sur la comparaison entre les efficacités de la politique scalable (Vsca) et du nouveau comportement (Vnb) appris. L’hypothèse que nous suivons est qu’un comportement significativement meilleur que la politique scalable correspondante (celle qui a servi de base à son apprentissage) est susceptible :

– d’une part d’améliorer l’efficacité de l’agent dans la situation à laquelle il répond (ce qui est logique), et

– d’autre part d’amener des informations utiles à d’autres comportements qui reposeraient sur lui (c’est-à-dire dont les paires (CT,CR) sont plus complexes).

Pour donner un exemple de critère, dans nos expérimentations49(voir section 8.2), un comportement est choisi comme nouveau comportement de base si :

– |Vsca− Vnb| > 500

(ce qui évite des erreurs dues à deux estimations proches l’une de l’autre) et, – soit ((Vsca < 0) et (Vnb > 0.9∗ Vsca))

(une faible amélioration d’un résultat négatif suffit) – soit ((Vsca ≥ 0) et (Vnb > 2∗ Vsca))

(une amélioration majeure d’un résultat positif est requise).

On peut ré-écrire ce critère sous forme algorithmique comme suit dans l’algorithme 6, que l’on notera par la suite Critere(Vsca, Vnb).

Algorithme 6 Critère suivi pour retenir un comportement dansB

Entrées: Vsca: efficacité du comportement scalable.

Vnb: efficacité du nouveau comportement simple appris. 1: Critere = f aux

2: si|Vsca− Vnb| > 500 alors

3: si ((Vsca< 0) et (Vnb > 0.9∗ Vsca))

ou ((Vsca ≥ 0) et (Vnb> 2∗ Vsca)) alors 4: Critere = vrai

5: fin si

6: fin si

Sorties: Critere

La définition de ce critère est sujette à discussion. Les paramètres des formules détaillées ci-dessus, par exemple, ont ici été définis manuellement, et peuvent dépendre de l’application. Mais nous revien-drons sur ce sujet dans l’analyse de nos expériences.

49

8.1.4 Algorithme

Avant de la tester, nous présentons d’abord une définition formelle de notre méthode dans l’algo-rithme 7. Ses premières lignes rappellent les données qu’il requiert.

Algorithme 7 Un arbre croissant de comportements de base

Entrées: Critere(·, ·) : pour évaluer les nouveaux comportements.

pmax: profondeur maximale de l’arbre, et psa: profondeur des arbres-fils développés. 1: T arbre vide.

2: Ajouter à T tout comportement avec de 0 à psatypes d’objets.

3: pour tout Comportement b encore à visiter (jusqu’à la profondeur pmax) faire

4: Adapter la combinaison des comportements de base actuels (les b[basic]) : Vsca← efficacité de cette combinaison.

5: Apprendre b par une recherche directe de politique (initialisée par la combinaison) : Vnb← efficacité de ce nouveau comportement.

6: si Critere(Vsca, Vnb) = vrai alors

7: Ajouter à T les fils de b ayant jusqu’à psatypes d’objets en plus. 8: Marquer b comme[basic].

9: fin si

10: Marquer b comme[visité].

11: fin pour

Sorties: Un ensembleB de comportements de base retenus.

Le processus de construction de l’ensembleB de comportements de base étant maintenant assez bien détaillé, on va pouvoir passer dans la section suivante à son évaluation.

8.2 Expériences

Comme à notre habitude, nous commençons par décrire en section 8.2.1 la méthode employée lors de nos tests, avant de présenter et analyser les résultats obtenus dans la section 8.2.2 qui suit.

8.2.1 Méthodologie

Les expérimentations conduites ont simplement consisté en deux parties :

1. Appliquer l’algorithme de croissance arborescente pour produire un ensemble de comportements de baseBarbre. Les paramètres utilisés sont ici :

– un monde 6× 6, avec

– une profondeur d’exploration maximale pmax= 4, – une profondeur de développement psa= 1 et – le critère détaillé en section 8.1.3 page 173.

2. Tester son efficacité dans diverses situations (dans un monde 8× 8).

Dans la seconde partie des expérimentations, on utilise Barbre avec différents nombres de tuiles et de trous dans l’environnement (jusqu’à cinq de chaque). Cette combinaison est comparée avec une

com-binaison employant un arbre de référenceBref de comportements de base “intuitifs” (les deux utilisés dès le chapitre 6 : éviter un trou et pousser une tuile dans un trou). L’efficacité d’une combinaison est mesurée à travers le gain total reçu durant 100 000 pas de simulation.

8.2.2 Résultats et analyse

8.2.2.1 Croissance arborescente

Examinons d’abord le résultat immédiat de l’algorithme de croissance arborescente. La figure 8.3 montre l’arbre développé des comportements qui ont été évalués. Les signes mis entre parenthèses in-diquent que le comportement simple lié à cette combinaison de récompenses et au type de configuration correspondant a été retenu comme comportement de base.

+ +− +−

(−)

+ + +− +−

(+)

+−

(+)

+ +− + +− + +− + +− 0 tuile trou sous−arbre de récompenses type de configuration

En exécutant l’algorithme proposé, aux deux comportements que l’on peut intuitivement juger comme suffisants pour le monde des tuiles :

(−)

et

(+)

vient s’ajouter un comportement résolvant l’un des blocages qui était apparu dans nos es-sais au chapitre 6 :

(+)

.