• Aucun résultat trouvé

4.3 Mise en ÷uvre du mé anisme de séle tion d'a tion

4.3.4 Les évaluateurs

Maintenant, quelafon tion de ombinaisonetl'intervalle de valeurspour CoCoAontété hoisis,jevaisvousprésenter lesévaluateurs orrespondantà haquemotivation séle tionnée. En ore une fois, es évaluateurs ne sont qu'une illustration possible de notre modèle que j'ai mis en pla e dans CoCoA. Les évaluateurs sont des fon tions qui pour un agent et une alternative donnésfournissent uneévaluation.Cetteévaluationpeutexprimeruneattra tion, une neutralité, une répulsion ouune inhibition suivant l'interprétation que l'onpeutfaire de lavaleurave lafon tion de ombinaisonproduit.

Pour haqueévaluateur, onsidérons unealternative

alt = (g, α, (ai)

i∈[1,n])

,où

g

lebut de l'alternative,

α

l'intera tion exé utableet

ai

lesautres a tionsà exé uterdel'alternative.

A

R

estl'ensemble desintera tions exé utablesau moment delaséle tion d'a tion. L'opportunisme

L'opportunisme est la motivation illustrant le prin ipe de on eption du mé anisme de séle tion d'a tionbasé surlesmotivations. Pour rappel:

γopp(alt) =

1

si

θopp≤ 1

2

si

dist(target(α)) = 0

max1, 1 + logθopp

θopp

dist(target(α))



sinon où

 target estune fon tion quifournit la ible de l'a tion

α

,

 dist est une fon tion qui al ule la distan e en nombre de mouvements entre l'agent, a teurde l'intera tion,etun élément (i ila ible de l'intera tion),



θopp

est laportée de l'inuen e del'opportunisme.

Le paramètre

θopp

représente la notion de voisinage de l'agent an d'identier les autres agentsquisont pro hesdeluipour favoriserlesintera tions sur eux- i.Alorsles paramètres

πγopp

duprol omportemental pour l'opportunisme orrespondent au paramètre

θopp

,

πγopp= {θopp}

.

L'a omplissement en espa e

Cette fon tion évalueles dépla ements né essaires à larésolution d'une alternative. L'a - omplissement en espa eest paramétrée par unseuilen nombrede dépla ements

πγaccS

= {θaccS}

. Si l'estimation de la résolution de l'alternative est supérieure que e seuil, l'évaluationserarépulsive,en-dessous elle seraattra tive. Commepour l'opportunisme,j'uti- liseun logarithmeanbornerla valeur maximale del'évaluation.

γaccS(alt) =

1

si

θaccS≤ 1

2

si

nbSteps(alt) = 0

logθaccS(1 +(θaccS∗(θaccS−1))

nbSteps(alt)

)

sinon

ement basée sur les empla ements des ibles des intera tions d'après les onnaissan es de l'agent au moment de l'évaluation. Ainsi elle ee tue la somme en nombrede ases desdis- tan es entrel'agent etla ible de lapremière intera tion, ave la distan eentrela ible de la premièreintera tionave la ibledeladeuxième intera tion etainsidesuitejusqu'àatteindre la ible de ladernière intera tionde l'alternative.

Dans CoCoA, les plans ne présentent pas les séquen e de dépla ements unitaires pour atteindre une ible. En eet, un dépla ement vers une ible qui se trouve à

n

ases, ne va pas êtrereprésenté par

n

intera tions de dépla ement. Indépendamment du nombrede ases que né essite un dépla ement, e dernier sera dé omposé en deux intera tions

M oveT o

et

M oveOneSteep

. Cette dé omposition peut se omprendre omme e i, pour se rendre à un empla ement ourejoindreunautreagent,ilfaut d'abordee tuerunpremierpas.Il nes'agit don pas pour ette motivation de ompter le nombre d'intera tions de dépla ement mais de faire une estimation desdépla ements suivant les onnaissan es de l'agent au moment de l'évaluation.

Commenousl'avonsvupré édemment,la olle tedesa tionsdel'alternativeneprendpas en ompte lanotiond'ordre desa tions. Eneet,dansun

Arbre − et/ou

,pourun

N oeud − et

nous ne pouvonspas toujours savoir dans quel ordre les ls de e n÷ud seront traités. C'est pourquoi, le al ul des distan es permettant l'évaluation de l'a omplissement en espa e est une estimationandedonnerunordred'idée surle oûten dépla ementsde laréalisation de l'alternative.

De plus, le al ul même de la distan e entre l'a teur et la ible de l'intera tion est une estimation, puisqu'elleestbaséesuruneprévision. Eneet, e al ulestbasésurlesinforma- tions ontenuesdanslamémoireaumomentdel'évaluationdel'alternative( ommeunephoto instantanée de la mémoire). La mémoire étant une versiondégradée del'environnement, elle peut ontenir deserreurs parrapportà l'étatréel del'environnement,ainsiles empla ements des diérents agents ible, s'ils ne sont pas dansle hamp de per eptionde l'agent, peuvent être erronés.

Enn, ilfaut savoirqueles ibles desintera tions peuvent êtredesagentsmobiles (ilsont la apa ité de sedépla er dans l'environnement). Or au moment où l'évaluateur demande le al uldes distan es, es dernières seront les distan es entreles empla ementsdes iblesdans lamémoire etau moment du al ul. Par exemple,si unagent

c

doit ee tuerles intera tions

i1

,

i2

et

i3

d'une alternative, dont les ibles prévues par le plan sont respe tivement

c1

,

c2

et

c3

. Le al ul de la distan e à par ourir pour résoudre ette alternative est la somme de la distan eentre l'empla ement

c

etl'empla ement de

c1

,ladistan e entre l'empla ement

c1

et l'empla ement de

c2

et la distan e entre l'empla ement

c2

et l'empla ement de

c3

. Si un agent ibleestmobile,iladon la apa itéde hangerd'empla ement pendantl'exé utiondes diérentes a tions qui pré èdent l'a tion dont il est la ible, rendant erronée l'estimation de la distan e totale. Notons toutefois,que pour e dernier as, l'estimation des distan es peut être améliorée en ajoutant une prédi tion surles empla ements desagents ible, notamment ommelestravauxde CyrilSeptseault[Sep07℄quipermettentlamiseàjour delamémoirede manièreintrospe tive ensebasantsurla onnaissan e deladynamiquedu omportementdes autres agents.

La priorité des buts

Dans une simulation, l'agent doit résoudre desbuts de priorités diérentes. Ces priorités sontmisesenpla eenfon tiondel'agentetdel'importan edesdiérentsbuts.Ellesdénissent don unepartiedu omportementdel'agent,puisquenosagentssontdirigésparlesbuts.Cette prioritédoitdon êtrepriseen ompte.Une fois etteprioritédéniedansCoCoA, lafon tion d'évaluation estassez triviale.

γgoal(alt) = priority(g)

priority

représente la fon tion donnant la valeur de la priorité du but de l'alternative et

πγgoal

= ∅

.

L'a omplissement en temps

Cette motivation évaluele oûtd'exé ution de toutes les intera tions présentes dansl'al- ternative. Dans un ontexte de jeu vidéo, e oût peut représenter le temps d'exé ution de l'a tion (ou de l'animation).Comme l'a omplissement en espa e, ette fon tion estparamé- tréeparunseuil(

θaccT

).Sile oûttotaldetouteslesintera tionsdel'alternativeestinférieurà eseuil, l'évaluationseraattra tive,sile oûtestsupérieur, l'évaluationserarépulsive.Cette motivation né essite également de dénir pour l'agent et pour haque intera tion son oût d'exé ution.Par défaut,nousdénissonsle oûtminimal ommeétant

1

,suivantl'appli ation de lasimulation, ette valeurpeutreprésenter un oûten temps ou en ressour e etpourquoi pas en argent. La somme des oûts des intera tions de l'alternative

alt

étant al ulée par la fon tion

cost(alt)

.

γaccT(alt) =

(

1

si

θaccT

≤ 1

logθaccT(1 +

(θaccT∗(θaccT−1))

cost(alt)

)

sinon et

πγ

accT

= {θaccT}

.

Le oût d'une intera tion n'est jamais nul (i.e.

cost(alt) = 0

est impossible), mais selon le ontexted'utilisation, e oûtne doitpas for ément êtredénipar l'utilisateur pendant la réationduprold'individualité.Prenons ommeexempleleMMORPGDofus,dans ejeules joueursontdesmétiers, haquemétieraunniveauetpluslejoueurexé utedesa tionsliéesà sonmétierplussonniveaudans e métieraugmente.Dansles métiers ditderé olte omme bû heron,mineurou paysan,lejoueurdoit attendre unlapsde temps spé iquepour qu'une ré oltesoit ee tuée, e temps dépenddu niveau du joueurdanslemétier (voir tableau 4.2). Par exemple, lorsque lejoueurest bû heronniveau 1,letemps de oupe du frêneest de11.9 se ondes, lorsque pour le joueur qui est bû heron de niveau 100, le temps de oupe est de 2 se ondes. Ainsi le joueur possède une propriété niveau dans haque métier qu'il pratique. Selonsonniveau,laduréedelaré olteestautomatiquement al ulée.Dansd'autresjeuxvidéo e prin ipeexiste également, parexemple dansles jeuxdutype RPGmédiéval-fantastique la duréed'in antation(de hargement)d'unsortdépendduniveaudusortpossédéparlejoueur, ainsique de ses ara téristiques omme ses valeurs en intelligen e et en esprit. Sur e même prin ipe, le prol d'individualité de l'a omplissement en temps peut être réduit au seuil de la motivation, si les propriétés de l'agent permettent de al uler automatiquement le temps d'exé utiondesa tions.Ce iallégerait latâ hedu on epteur enautomatisant unepartie du

Niveau du métierbu heron 1 10 20 30 40 50 60 70 80 90 100 Temps de oupe (ense ondes) 11.9 11 10 9 8 7 6 5 4 3 2 Tab.4.2 Tempsde oupedubois(duFrêne) ense ondesrequisenfon tion duniveaudans lemétier de bû heron dupersonnage dansDofus.

Les préféren es de l'agent

Cet évaluateur prend en ompte les préféren es de l'agent sur les intera tions ontenues dansl'alternative. Commepour l'a omplissement entemps, ilfautagréger lesdiérentes va- leurs pour haquealternativeenutilisantunefon tionde ombinaisonrespe tantladénition delamotivation. Pour l'a omplissement entemps lasommeestuneéviden e, maislespréfé- ren esné essitentunefon tionde ombinaisonunpeuplus omplexe.Deplus, ontrairementà la ombinaisondesévaluations (lafon tion

Comb

),lespréféren esnesontpasindépendantes, arellespeuvent se ompenser.Ainsiun agent peutee tuer uneintera tion qu'iln'aimepas s'il l'ee tue après desintera tions qu'il aime bien. Une préféren eest exprimée par rapport àuneautre. Ilfautdon pouvoirexprimerlesintera tions quel'agent aimefaireet ellesqu'il n'aime pas. Nousretrouvons don l'idéed'attra tion etde répulsion quepeutexprimer ette motivation.La neutralité etl'inhibition ont également unsens.La neutralitéou l'indiéren e est une préféren e exprimant que l'exé ution ou non de l'intera tion n'a pas d'importan e pourl'agent( ette préféren enedoitdon pasinuen erl'évaluationdel'alternative). L'inhi- bition estunepréféren ebloquant toutel'alternative, ar etteintera tion (etpar onséquent l'alternative)ne doitpasêtreexé utée.And'anti ipersurlemoyenterme,les préféren esde l'agent surles a tionsà exé uter,toutes lesa tions

ai

l'alternative

alt

sont onsidérées.

Maintenant que le sens des valeurs des préféren es a été déni et que l'impa t de es préféren es surl'évaluationdel'alternative,ilfaut hoisirunefon tionpour ombiner lespré- féren esdesa tionsd'unealternative.Laprésentationdesdiérentesfon tionspour ombiner les préféren es est ee tuée dans l'annexe B. La préféren e pour une alternative représente une préféren e globale pour toutes les intera tions de l'alternative. Les préféren es pouvant se ompenseretn'étant pasindépendantes, j'ai privilégié lefaitd'obtenir unevaleurmoyen- ne pour lapréféren epour haquealternative.Toutefois, unea tion inhibitri edoittoujours inhiberl'alternative etune a tion neutrene doit pasinuen er lavaleurnale.

Ainsi, pour un agent

c

, la fon tion

πc

donne pour haque intera tion

a

, la valeur de la préféren e del'agent

πc(a)

etsesvaleurssont in luses dans

R

+

:



πc(a) = 0

exprime une inhibition pour l'intera tion

a

:l'agent ne veutabsolument pas ee tuerl'intera tion

a

,



0 < πc(a) < 1

désigne une répulsion qu'a l'agent

c

à exé uter

a

,



πc(a) = 1

dénote l'indiéren ede l'agent

c

quand àl'exé ution de l'intera tion

a

, 

πc(a) > 1

marque l'attiran ede l'agent

c

pour l'exé ution de

a

.

Dans CoCoA, je laisse la possibilité à un utilisateur averti de hoisir entre la moyenne harmoniqueetlamoyennegéométrique(viaune ongurationd'un hierxml).Pardéfautou parl'utilisationdel'interfa egraphique(voirlapartie5.1),lamoyenneharmoniqueest hoisie. Que e soit pour lamoyenne harmonique ou pour lamoyenne géométrique, les moyennes se basentsurlenombred'élémentsàévaluerpourdénirleurvaleur.Ainsi,danslebutdegarder lefaitqu'unepréféren eneutrequin'inuen epasl'évaluationdespréféren esdel'agent,nous dénissons l'ensemble

pref

desintera tions ave une préféren enon neutre :

pref (alt) = {ai

∈ alt | πc(ai) 6= 1}

Ainsi, silamoyenne harmonique

M oyharm

estdénie omme e i :

M oyharm(X) =

P

kXk

xi∈X



1

xi



Alorslapréféren e del'agent

γpref

estdéni omme:

γpref(α) =



0

if

∃ai

| πc(ai) = 0

M oyharm(pref (alt))

sinon

Notonsqu'ilestpossiblequel'utilisateurveuilleallerplusloindansledétaildespréféren es desonagent,enspé iantdespréféren es surlesa tionsetsurles iblesdesintera tions.Par exemple,l'agentpeutpréférermangerdespommes,pluttquedemangerdesépinards(même si les épinards sont bons pour la santé). Pour ela il existe plusieurs façons de faire. Soit spé ier pour haque ouple (intera tion, agent) une valeur de préféren e, soit ajouter une nouvelle motivation de préféren equi sebaseuniquement surles iblesetqui viendrait om- pléter lamotivation a tuelle. Nous préféronsla deuxième solution qui rend moins fastidieux leparamétrage du prol omportemental (s'il ya

N

intera tions et

M

ible, lapremière so- lution demande

N ∗ M

opérations alors que la deuxième en demande

N + M

) et exploite notre per eption de notre modèle qui se base sur la ombinaison de motivations indépen- dantes pour séle tionner lameilleure a tion à exé uter.En eet, sinousreprenons l'exemple pré édent, si l'intera tion manger est favorisée, etsi la ible pomme est plus favorisée que la ibleépinard,alorsla ombinaisondesdeuxmotivations,favoriseranaturellementl'intera tion manger(pomme)pluttquel'intera tionmanger(épinard).DansCoCoA,j'aidé idéd'assigner à haqueintera tionunepréféren esanspré iserla ible del'intera tionetjemelimiterai aux motivations déjà présentées. Toutefois, ommela onstru tion est in rémentale ilest possible d'ajouter une motivationde préféren ede l'agent surles iblesou deredénir les préféren es pour haque ouple(intera tion, agent).

La revalorisation multi-buts

La revalorisation multi-buts favorise les intera tions exé utablesprésentes dans plusieurs alternatives. DansCoCoA, la olle tedesalternativespermetde onnaîtretoutes lesalterna- tivesprésentespour untourdonné.Cetteévaluationné essitede ompterlenombred'o ur- ren esd'uneintera tionexé utable

α

del'alternative

alt

ave lamême ibleetprésente omme intera tion exé utable dans les autres alternatives. Ce nombre est al ulé en omparant les intera tions exé utables. Ce al ul est ee tué par

nbmulti(α)

et la revalorisation applique ommebonus :

γmulti(alt) = θmrg∗ (1 + log(nbmulti(α)))

Ave

πγ

rmg

= {θrmg}

,leparamètre

θrmg

permetde dénirl'impa tdu bonusde larevalo- risation multi-buts. Dans CoCoA, j'ai xé par défaut, lavaleur de

θrmg

à 1, e qui limitele bonus maximalà

2

( omme l'opportunisme etl'a omplissement en temps eten espa e).

L'inertie

L'inertie favorise la ontinuité dans une résolution. Une intera tion exé utable doit être favoriséeparl'inertiesiellefaitpartiedel'alternativedel'intera tionexé utéeautoursuivant. Il est don né essaire de mémoriser la dernière alternative séle tionnée par le mé anismede séle tion d'a tion (noté

lsa

pour last sele ted alternative). Néanmoins à haque tourl'agent metàjourlesinformationsperçuesdesonenvironnement danssamémoire.Lesplanspeuvent don être modiésau ours delasimulation. Siunplanest modiépar l'apportdenouvelles informations perçues par l'agent, les alternatives orrespondantes au planpeuvent don être modiées également. J'ai don déni une heuristique an de déterminer la similitude entre deux alternatives(voirlagure 4.9).

La modi ation d'un plan peut entrainer l'ajout et/ou la suppression d'intera tions à exé uter. An de ne pas omplexier la re her he d'inertie et de ne pas ee tuer trop de omparaisons entredeux alternatives pour déterminerla similitude, jegère l'ajout etla sup- pression d'intera tions par l'algorithme en gure 4.8. Dans le as 1 où l'alternative a perdu desintera tions àexé uter ( 'estle as général puisqu'uneintera tion a étéexé utée),l'algo- rithme re her he si l'intera tionexé utable ouranteappartient à la

lsa

quia étémémorisée. Dans le as 2, où l'alternative a gagné des intera tions à exé uter, l'algorithme re her he si l'intera tion père de la pré édente intera tion exé utée ( 'est-à-dire l'intera tion qui aurait dû être exé utée) appartient à l'alternative ourante. Cet algorithme permet de dé ouvrir si l'alternative ouranteestsimilaireàl'alternative pré édenteounonave seulement2par ours d'alternative (le par ours dela

lsa

pour le as1 etlepar ours de l'alternative ourante pour le as 2). Tous les as ne sont pas gérés, mais ette re her he a une omplexité linéaire (2 par ours d'alternative) etdans le as où l'alternative hange trop, on peut présumer que les alternativesne sont passimilaires.

γinertia(alt) =



1 + θinertia

si

inertie

1

sinon Le paramétrage

πγ

inertia

= {θinertia}

. Ce paramétrage n'est pas limité, dans les simulations

quej'ai ee tuées dansCoCoAj'utiliseprin ipalement unbonus d'inertiede 0.10qui permet de valoriser l'alternative assez pour éviter les os illations sans pour autant bloquer le han- gement d'alternative. Toutefois, il est possible de dénir volontairement un bonus d'inertie très important an de on evoir le omportement buté d'un agent qui ne veut pas hanger d'alternative etqui reste dansunerésolution unefois qu'elleaété hoisie.