CHAPITRE 5 LOGIQUE NON MONOTONE ET LANGAGES D’ACTIONS
5.4 Liens entre langage d’actions et ASP
Comme d´ecrit pr´ec´edemment, un langage d’actions utilise les fluents et les actions pour d´ecrire les ´etats du monde. Il a une expressivit´e variable d´ependante du domaine d’applica- tion. Parmi les langages d’action, le langage Ac
k (voir Tu et al., 2007) s’av`ere particuli`erement
adapt´e `a la description des actions des agents du syst`eme Leopar++. Il permet de d´ecrire les ph´enom`enes suivants :
– Des effets dynamiques : l’ex´ecution d’une action implique l’apparition d’un nouveau fluent dans l’environnement.
– Des effets statiques : un fluent implique l’apparition d’un nouveau fait dans l’environ- nement. Il ne n´ecessite pas l’ex´ecution d’une action.
– Des conditions d’ex´ecutions : des conditions sont n´ecessaires pour ex´ecuter une action. – Des ´etats initiaux : des fluent d´ecrivent des ´etats initiaux.
– Des ´etats finaux : des fluent d´ecrivent des ´etats finaux `a atteindre.
Le langage d’actions Ac
Tableau 5.1 Les axiomes du langages Ac k
N Axiomes Remarques
(1) initiallyplq D´efinit l’´etat initial du syst`eme (2) f inallyplq D´efinit l’´etat final du syst`eme
(3) executablepa, F q D´efinit les pr´econditions d’une action (4) causespa, l, F q D´efinit les pr´econditions et les effets d’une
actions
(5) ifpl, F q D´efinit une condition
Supposons que a repr´esente une action, F un ensemble de fluentstf1, ..., fnu, et l un lit´eral.
Les axiomes (1) et (2) expriment l’´etat initial et final du syst`eme. Dans notre cas, l’´etat final repr´esente l’´etat `a atteindre, les objectifs `a r´ealiser. L’axiome (3) informe que l’action a est ex´ecutable lorsque les fluents de F sont vrais. L’axiome (4) exprime les effets dynamiques d’une action. Il exprime que l’action a ne s’ex´ecute que lorsque les fluents F sont vrais, ce qui entraine la v´eracit´e du litt´eral l. Les fluents F est optionnel dans l’´equation (4).
L’axiome (5) repr´esente un effet statique. Les fluents F deviennent vrais dans le cas o`u les litt´eraux l sont v´erifi´es. Cet axiome ne fait pas intervenir des actions pour modifier l’´etat de l’environnement et le changement provient uniquement de l’environnement.
Les agents d´efinis par le langage Ack sont automatiquement traduits en langage ASP. Un solutionneur ASP d´etermine un plan d’ex´ecution conforme aux contraintes du domaine et aux objectifs finaux fix´es par l’utilisateur.
Analysons de plus pr`es la traduction du langage d’actions Ac
k selon le formalisme ASP
(voir Tableau 5.2). Nous invitons le lecteur `a se focaliser sur l’ex´ecution des actions.
Tableau 5.2 Traduction du langage Ac k
Expression Traduction ASP initiallyplq holdspl, 1q.
executablepa, F q executablepa, T q Ð holdspf1, T q, ..., holdspfn, T q, timepT q. Avec T r0..ns; n P N ; fi P F
causespa, l, F q holdspl, T 1q Ð occurspa, T q, holdspf1, T q, ..., holdspfn, T q, timepT q.
ifpl, F q holdspl, T q Ð holdspf1, T q, ..., holdspfn, T q, timepT q. f inallyplq f inallyplq.
Les contraintes d’int´egrit´e du langages Ac
ksont traduites dans le tableau suivant (voir Tableau
Tableau 5.3 Les contraintes d’int´egrit´e du langage d’action Ac k
Contraintes Traduction ASP
D´efinition de l’objectif : un plan n’existe que lorsque tous les litt´e- raux finaux « finally » se sont r´ea- lis´es « holds » `a l’instant T.
negGoalpT q Ð timepT q, finallypXq, not holdspX, T q.
goalpT q Ð timepT q, not negGoalpT q. existe planÐ goalpT q, timepT q. Ð not existe plan.
Inertie et dynamisme des ´etats : les deux premi`eres expres- sions d´efinissent qu’un ´etat est vrai/faux tant qu’il n’y a pas un ´etat contraire.
La troisi`eme expression indique qu’une action peut cr´eer un nouvel ´etat.
holdspF, T 1q Ð literalpF q, timepT q, holdspF, T q, not holdsp F, T 1q.
holdsp F, T 1q Ð literalpF q, timepT q, holdsp F, T q, not holdspF, T 1q.
holdspF, T 1q Ð literalpF q, timepT q, actionpAq, executablepA, T q, occurspA, T q, causespA, F q. Contrainte int´egrit´e des ´etats :
exprime qu’`a un instant donn´e, il ne peut exister un ´etat et son contraire.
Ð holdspF, T q, holdsp F, T q, timepT q, literalpF q.
Condition d’ex´ecution d’une action : une action ne s’ex´ecute que si elle est d´efinie comme ´etant ex´ecutable. La condition d’unicit´e de l’action est pr´eserv´ee par « occurs», qui assure qu’une seule action ne peut s’ex´ecuter durant l’instant T.
occurspA, T q Ð actionpAq, timepT q, executablepA, T q, not occurspA, T q.
occurspA, T q Ð actionpAq, actionpAAq, timepT q, occurspAA, T q.
`
A titre d’exemple, admettons que nous disposons de la description suivante en Ac
k (voir Ta-
bleau 5.4).
La r´esolution du mod`ele ASP du tableau 5.4 retourne l’ensemble r´eponse suivant : n 2
T r0..ns; n P N
S1 toccurspactionB, 1q, holdspfluentA, 1q, holdspfluentB, 2q, holdspfluentC, 2q,
goalp1q, goalp2qu.
`
A travers ces exemples, il en ressort que le formalisme ASP pr´esente deux avantages importants. Premi`erement, ASP est un langage d´eclaratif et non proc´edural. Il est en mesure de d´ecrire de mani`ere incr´ementale un probl`eme et de l’enrichir de mani`ere progressive.
Tableau 5.4 Exemple de mod`ele Ac k
Mod`ele Ack Traduction en ASP
initiallypfluentAq. holdspfluentA, 1q.
executablepactionB, fluentAq. executablepactionB, T q Ð holdspfluentA, T q, timepT q.
causespactionB, fluentB, tuq. holdspfluentB, T 1q Ð occurspactionB, T q, causespactionB, fluentBq, timepT q.
ifpfluentB, fluentCq. holdspfluentB, T q Ð holdspfluentC, T q, timepT q. f inallypfluentCq. f inallypfluentCq.
D´eclaration des litt´eraux & ac- tions :
literalpfluentAq. literalpfluentBq. literalpfluentCq. actionpactionBq.
Cette caract´eristique le rend parfaitement adapt´e aux besoins des langages d’actions qui sont de nature d´eclarative. Deuxi`emement, le langage ASP introduit deux op´erateurs puissants que sont la n´egation par d´efaut et l’union. Ils permettent de d´efinir des besoins sp´ecifiques. Ainsi, l’utilisation de ASP et des langages d’actions forment un excellent duo pour le syst`eme Leopar++. D’une part, ils permettent de d´ecrire ais´ement les agents du syst`eme, d’autre part, ils permettent de coordonner et de planifier les agents en fonction d’objectifs changeants.