• Aucun résultat trouvé

Liens entre langage d’actions et ASP

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.