WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Planification multi-agents pour la composition dynamique

( Télécharger le fichier original )
par Brakni Ilhem
Université de Tébessa -algerie - Ingénieur d'état en informatique 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

I.2.2.2. ADL et PDDL


·
Le langage ADL (Action Description language) est une extension significative en planification classique, permet l'utilisation de quantificateurs et d'expressions conditionnelles dans la description des opérateurs. Ainsi, une description plus générale de l'opérateur de déplacement Déplacer(b, x, y) serait :

Déplacer(b :bloc, x :bloc, y :bloc)

Precond : Sur(b, x)?Dégagé(b)?Dégagé(y) ? ~(b, y) ?~(x,y)

Effet : Sur(b, y)?#172;Sur(b, x)?( ~ (x, Table) -* Dégagé(x))?(? (y, Table) -*Dégagé(y))

Le « tableau1.1 » décrit brièvement le langage ADL en le comparant avec STRIPS [12]:

Langage STRIPS

Langage ADL

Seulement des littéraux positifs

dans la description des états :

Sur(b, x)?Dégagé(b)

Des littéraux positifs et négatifs

dans la description des états

Sur(b, y)?#172;Sur(b, x)

Hypothèse du monde-clos : tout littéral non mentionné dans un état est considérée faux.

Hypothèse du monde-ouvert : tout littéral non mentionné dans un état est considérée faux.

 

Effet P?#172;Q signifie : ajouter P et supprimer Q

Effet P?#172;Q signifie : ajouter P et #172;Q et supprimer #172;P et Q

Seulement des littéraux instanciés dans les objectifs :

SurTable(B) ? Sur(C, A)

Des variables quantifiées dans les objectifs : Vx At(P1, x)AAt(P2, x) est l'objectif d'avoir P1 et P2 dans le même endroit

Les objectifs sont des conjonctions:
SurTable(B) ? Sur(C, A)

Les objectifs admettent des

conjonctions et des disjonctions: SurTable(B)?(Sur(C, B)VSur(A, B))

Les effets sont des conjonctions

Les effets conditionnels sont admis: when P: E signifie que E et un effet seulement si P est satisfais

Non support de l'égalité

Prédicat d'égalité (x = y) admi

Non support des types

Les variables peuvent avoir des

types : (x :bloc, y :bloc)

 

Tableau!.!: comparaison entre STRIPS et ADL

· Le langage PDDL (Planning Domain Definition Language) [20] est une tentative pour standardiser les langages de description des domaines et des problèmes de planification. C'est un langage créé en 1998 par Drew McDermott pour la compétition IPC-98 dans le but de développer un seul langage de description des domaines de planification utilisé par tous les planificateurs de cette compétition. Il est ensuite devenu comme un standard utilisé par tous les planificateurs. La dernière version est PDDL3.1.

En PDDL, les composants nécessaires à la description de la planification sont :

· Les objets : les choses du monde qui nous intéresse.

· Les prédicats : propriétés des objets intéressants pour nous, peuvent être vraies ou fausses.

· L'état initial : l'état du monde de départ.

· La spécification de l'objectif : les choses que nous voulons soient vraies dans le monde.

· Actions/Opérateurs : chemins pour changer l'état du monde.

Ainsi, les problèmes de planification spécifiés dans ce langage sont séparés dans deux fichiers :

Fichier du domaine : pour la spécification des prédicats et des actions. La structure de ce fichier est la suivante :

(define (domain < nom du domaine >)

< code PDDL pour les prédicats >

< code PDDL pour la première action >

[...]

< code PDDL pour la dernière action >

)

< nom du domaine > : une chaîne de caractères identifiant le domaine de planification.

Exemple : pour notre exemple des blocs : un fichier du domaine en PDDL peut être spécifié comme suit :

(define (domain monde_blocs)

(: predicates (Sur ?x ?y) (Dégagé ?x))

(: action Déplacer

: parameters (?x ?y ?z)

: precondition

(and (Sur ?x ?y)(Dégagé ?x)(Dégagé ?z)
(not (= ?y ?z)) (not (= ?x ?y))

(not (= ?x ?z)) (not (= ?x Table)))

: effect

(and (Sur ?x ?z) (not (Sur ?x ?y))

(when (not (= ?y Table)) (Dégagé ?y))
(when (not (= ?z Table)) (not (Dégagé ?z)))))

Fichier du problème : pour la spécification des objets, de l'état initial et de l'objectif. La structure de ce fichier est la suivante :

(define (problem < nom du problème >)

(:domain < nom du domaine >)

< code PDDL pour les objets >

< code PDDL pour l'état initial >

< code PDDL pour la specification de l'objectif >

)

< nom du problème > : une chaîne de caractères identifiant le problème de planification.

< nom du domaine > : doit être similaire au nom du domaine dans le fichier du domaine correspondent.

Exemple : pour notre exemple des blocs : un fichier du problème de la « figure1.4 » en PDDL peut être spécifié comme suit :

(define (problem < problème_blocs >)

(:domain < monde_blocs >)

(:objects A B C Table )

(:init (Bloc A) (Bloc B) (Bloc C)

(Dégagé A) (Dégagé B) (Dégagé C) (Sur A Table) (Sur B Table) (Sur C Table)) (:goal (and (Sur A B) (Sur B C))

)

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"