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é utableetai
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
sidist(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
sinbSteps(alt) = 0
logθaccS(1 +(θaccS∗(θaccS−1))
nbSteps(alt)
)
sinonement 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é parn
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 tionsM oveT o
etM 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
,pourunN 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 tionsi1
,i2
eti3
d'une alternative, dont les ibles prévues par le plan sont respe tivementc1
,c2
etc3
. Le al ul de la distan e à par ourir pour résoudre ette alternative est la somme de la distan eentre l'empla ementc
etl'empla ement dec1
,ladistan e entre l'empla ementc1
et l'empla ement dec2
et la distan e entre l'empla ementc2
et l'empla ement dec3
. 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)
où
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étant1
,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'alternativealt
étant al ulée par la fon tioncost(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 duNiveau 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 tionsai
l'alternativealt
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 tiona
, la valeur de la préféren e del'agentπc(a)
etsesvaleurssont in luses dansR
+
:
πc(a) = 0
exprime une inhibition pour l'intera tiona
:l'agent ne veutabsolument pas ee tuerl'intera tiona
,
0 < πc(a) < 1
désigne une répulsion qu'a l'agentc
à exé utera
,
πc(a) = 1
dénote l'indiéren ede l'agentc
quand àl'exé ution de l'intera tiona
,πc(a) > 1
marque l'attiran ede l'agentc
pour l'exé ution dea
.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))
sinonNotonsqu'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 etM
ible, lapremière so- lution demandeN ∗ M
opérations alors que la deuxième en demandeN + 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'alternativealt
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é parnbmulti(α)
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 delalsa
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
siinertie
1
sinon Le paramétrageπγ
inertia
= {θinertia}
. Ce paramétrage n'est pas limité, dans les simulationsquej'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.