• Aucun résultat trouvé

4.2 Description domaine de planification

4.2.1 Repr´esentation du monde

Dans le chapitre pr´ec´edent, nous avons fait la description de la base de faits pour le planificateur HATP. Nous avons constat´e qu’elle reposait sur une repr´esentation en variables d’´etat sous forme d’entit´es et d’attributs. Cette description suppose que tous les ´etats du monde sont connus et ne mod´elise que la connaissance du robot sur ces ´etats. Elle suppose ´egalement que tous les agents partagent la mˆeme vision. Cette description unifi´ee pour tous les agents n’est pas adapt´ee `a l’interaction homme-robot. En effet, un robot qui produit des plans pour lui et pour des humains partenaires et qui ne prend pas en compte la diff´erence entre leurs connaissances, va produire des plans qui sont incompr´ehensibles, suscitant le sentiment de perte de temps et d’agacement chez l’humain. De plus, le robot peut ˆetre vu comme inutile. Prenons l’exemple o`u le robot et l’humain doivent r´ealiser la tˆache de “nettoyer la chambre”. La r´ealisation de la tˆache va se d´ecomposer en “aller chercher les outils pour l’humain et pour le robot puis nettoyer le sol”. Nous supposons que la tˆache d’aller chercher les outils est `a r´ealiser par l’humain et que celui-ci ne connaˆıt pas la position des outils. Il va commencer par les chercher. Le robot, en observant l’humain, peut en d´eduire que celui-ci a abandonn´e la tˆache, ce qui peut impliquer que lui aussi doit l’abandonner et donc, susciter un sentiment d’incompr´ehension chez l’humain. Pour rem´edier `a cette insuffisance, nous allons ´etendre cette repr´esentation pour prendre en compte une information incompl`ete dans le sens ou un agent peut connaˆıtre ou non une information, mais ´egalement les connaissances propres `a chaque agent dans le processus de planification. Dans le reste du chapitre, nous allons utiliser le terme “croyance”. Dans le cas du robot, cela va d´esigner ses connaissances sur l’´etat du monde. Pour tous les autres agents, cela d´esigne les croyances qu’a le robot sur les connaissances des autres agents.

Pr´ec´edemment, nous avons constat´e que toutes les variables ont le mˆeme type, qui est le type “entit´e”. Dans cette extension du mod`ele, nous avons fait la distinction entre Agent et entit´e afin de pouvoir cr´eer pour chaque agent sa propre base de croyance, ind´ependamment de celles des autres.

Un agent est compos´e d’un ensemble d’attributs qui d´ecrivent son ´etat interne. La figure 4.3 illustre un exemple de d´eclaration d’une base de faits. L’´etape deux repr´esente la phase o`u les attributs qui vont ˆetre associ´es aux agents sont d´eclar´es. Comme on peut le voir, chaque agent va avoir une position topologique repr´esent´ee par la variable posTopo, et un type repr´esent´e par la variable type qui va servir `a diff´erencier les agents humain des agents robot ou des agents d’autre type.

On a rajout´e dans le mod`ele des agents un attribut bool´een particulier Myself, qui est cr´e´e automatiquement par le syst`eme1. Myself repr´esente l’agent sur lequel tourne le planificateur. C’est `a l’utilisateur de d´efinir lequel des agents est Myself.

Les Croyances

Il est important de pr´eciser ici que nous ne faisons pas de gestion des croyances imbriqu´ees. Par exemple “ l’agent A croit que l’agent B croit que l’agent C crois ...”. Mais on ne g`ere que les croyances propres de l’agent Myself, et les croyances qu’il peut avoir sur les connaissances des autres agents, qu’on va appeler croyances des autres agents.

Pour la repr´esentation des croyances de chaque agent, nous avons repris le mˆeme mod`ele que celui d´efini dans le chapitre pr´ec´edent pour la repr´esentation de la base de faits et nous l’avons ´etendu avec la notion de variables d’´etat `a valeurs multiples (MVSV). Une variable d’´etat v est instanci´ee `a partir d’un domaine fini Dom (l’ensemble des valeurs qu’elle peut prendre). Une variable d’´etat `a valeurs multiples V est ´egalement instanci´ee `a partir d’un domaine Dom, et pour chaque agent a ∈ A la variable V prend une certaine instance V (a) = v ∈ Dom. Le mod`ele tel quel est incomplet. En effet, on ne peut pas exprimer le fait qu’un agent ignore une information. De plus, dans le cas ou un agent diff´erent de MySelf connaˆıt l’instance d’un certain attribut, le mod`ele ne permet pas d’exprimer le fait que l’agent Myself ignore cette instance, mais il sait que l’autre agent la connaˆıt. Pour combler ce manque, nous avons introduit deux notions qui sont unknown et known. La premi`ere mod´elise le fait que les agents ne connaissent pas une information. La seconde mod´elise le fait que l’agent MySelf ne connaˆıt pas une information et qu’un autre agent la connaˆıt. Ainsi, le domaine des instances possibles d’une variable peut ˆetre d´ecrit par :

V (a) ∈ (

Domv⊔ {unknown} ⊔ {known}si a 6= MySelf

Domv⊔ {unknown} sinon

(4.1) Cette nouvelle repr´esentation n’enl`eve rien `a la capacit´e de HATP `a construire un mod`ele explicite des agents. Au contraire, elle vient en compl´ement. En effet, dans le chapitre pr´ec´edent, nous avons constat´e que la mod´elisation des agents sous forme d’entit´es permet de regrouper toutes les donn´ees les concernant dans la mˆeme variable. Nous avons ´egalement expliqu´e que ce mod`ele est compl´et´e par la d´efinition des actions avec leurs param`etres typ´es et leur mod`ele de coˆut. Cette extension vient renforcer cette description en ajoutant au mod`ele des agents la repr´esentation de leurs croyances. Dans le cadre de l’interaction homme-robot, cette extension vient servir le robot dans le sens o`u il peut d´esormais prendre en consid´eration les croyances de l’humain lors de la construction du plan. Cela lui permet d’analyser et de r´eagir au manque d’information que l’humain peut avoir et, de ce fait, g´en´erer des comportements proactifs.

L’exemple de la figure 4.3 illustre la d´eclaration et l’initialisation d’une base de croyances pour les diff´erents agents. L’entit´e “GLASS ” est de type object. Ses attributs sont : son “poids” et son possesseur “owner ”. Si nous consid´erons l’attribut “poids”, on peut constater qu’il a deux instances. La premi`ere par rapport `a l’agent “Jido” et l’autre par rapport `a l’agent “Tom”. Nous pouvons constater que ces deux instances sont diff´erentes, ce qui nous permet de dire que les agents “Jido” et “Tom” ont des croyances diff´erentes sur le poids de l’objet “GLASS ”. Pour

l’attribut “owner ”, nous pouvons constater que dans les croyances de l’agent “jido”, le possesseur de l’objet “GLASS ” est l’agent “Tom”, et que dans les croyances de l’agent Tom le possesseur est un autre agent appel´e “Mathieu”.

Mis `a jour des croyances

Un changement sur les croyances d’un agent ce fait grˆace aux actions qu’il r´ealise, soit sur des observations qu’il peut faire, soit en communiquant avec les autres agents. Cependant, Les croyances de MySelf ´evoluent ´egalement grˆace `a la communication avec les autres agents, mais aussi grˆace aux actions qui sont r´ealis´ees. Ce qui signifie que toutes les actions r´ealis´ees par des agents affectent obligatoirement leurs croyances, mais ´egalement les croyances de MySelf.

D´efinition d’une croyance consistante

Nous d´efinissons une croyance consistante par kS

∀a∈AgV (a)k = 1, cela signifie que pour

avoir une croyance consistante sur une variable d’´etat V , il faut que l’union des croyances des agents forme un ensemble de dimension 1. Dans tout autre cas il y a inconsistance. Dans notre cas et du fait que nous planifions pour Myself, le test de la consistance des croyances se fait par paire dans le sens o`u nous comparons les croyances des autres agents `a celle de Myself.

Extension de la syntaxe de HATP

La syntaxe de HATP a ´et´e d´ecrite dans le chapitre pr´ec´edent. Nous avions adopt´e la notation Entity.Attribut pour acc´eder `a la valeur de l’attribut. Dans le cas des croyances multiples, cette syntaxe n’est plus adapt´ee. En effet, nous sommes dans un cas o`u chaque agent a sa propre base de croyances. Il est alors n´ecessaire d’indiquer le nom de l’agent concern´e par la valeur d’un attribut.

Nous avons ´etendu la syntaxe pour pouvoir prendre en charge le cas des croyances multiples. Nous avons gard´e les mˆemes op´erateurs et les mˆemes fonctions que pr´ec´edemment, le seul changement concerne l’acc`es aux donn´ees d’un attribut. Nous avons adopt´e la notation Entity(Agent).Attribut qui renvoie la valeur de l’attribut pour un agent donn´e.

Nous avons ´egalement adopt´e les simplifications suivantes :

– Entity(M ySelf ).Attibut qui permet d’acc´eder `a la base de croyances de MySelf, ce qui permet de d´ecrire un domaine de planification prenant en compte l’agent pour lequel on va planifier.

– Entity.Attibut cette notation est ´equivalente `a Entity(M ySelf ).Attibut. Nous avons

C’est-`a-dire que lorsque nous utilisons uniquement cette notation pour la d´efinition du domaine de planification cela revient `a planifier uniquement avec les croyances de MySelf, ce qui correspond `a utiliser HATP sans croyances multiples.