• Aucun résultat trouvé

4.2 Algorithme d’instanciation et de simplification des problèmes HTN

4.2.2 Instanciation et simplification des opérateurs

Le processus d’instanciation et de simplification des opérateurs génère uniquement les actions

pertinentes du problème. Il suit les quatre étapes représentées dans la figure4.3. À partir de

l’en-semble des opérateurs définis dans le domaine et de la table d’inerties calculées dans l’étape précé-dente, il normalise et instancie les opérateurs lors des étapes de (1) normalisation et (2) d’instancia-tion et de simplificad’instancia-tion des opérateurs. Après cela, les formules atomiques dans les opérateurs sont simplifiées (3) en utilisant la table d’inerties et des règles de tautologies des formules logiques du pre-mier ordre. enfin, l’ensemble des actions simplifiées est produit en supprimant celles qui ne sont pas pertinentes, en suivant les règles de simplification (4).

Étape 1. (Normalisation des expressions logiques des opérateurs) Pour chaque expression logique définie dans les pré-conditions et les effets d’un opérateur et contenant des implications ou des quantificateurs, une re-formulation sous forme normale conjonctive est une condition préa-lable à toute manipulation. Pour réaliser cette opération, nous effectuons les transformations logiques suivantes :

φϕ⇒ ¬φ∧ϕ

55 CHAPITRE4. GTOHP : UN PLANIFICATEURHTNAVEC DES PROBLÈMES INSTANCIÉS ET SIMPLIFIÉS

Domaine et problème en PDDL avec des opérateurs normalisés

Domaine et problème HTN en PDDL +

Table des inerties

Domaine et problème en PDDL avec des actions normalisés

Domaine et problème en PDDL contenant des actions normalisés avec des formules

atomiques simplifiées 1 - Normalisation des expressions logiques 2 - Instanciation des opérateurs 3 - Simplification des formules atomiques

Problème HTN semi-instancié contenant les faits et les actions pertinentes

4 - Simplification des actions

FIGURE4.3 –Vue globale de l’algorithme d’instanciation et de simplification des opérateurs.

— ∀(?xt y pe)⇒x1x2∧...∧xn — ∃(?xt y pe)⇒x1x2∨...∨xn

Étape 2. (Instanciation des opérateurs) Comme expliqué dans la section4.1, l’instanciation des opé-rateurs consiste à générer toutes les actions possibles en remplaçant les variables par toutes

les combinaisons d’objets. L’actionnavigatede l’exemple suivant est une instance possible de

l’opérateur(navigate)présenté dans le chapitre2.

( : action navigate

: parameters ( rover w1 w0)

: precondition ( and ( a v a i l a b l e rover ) ( can_traverse rover w1 w0) ( v i s i b l e w1 w0) ( at rover w1) )

: e f f e c t ( and ( not ( at rover w1) ) ( at rover w0) ) )

Les paramètres ont été instanciées comme suit : ?xr over, ?f r omw1, ?t ow0. Le

pro-cessus d’instanciation et de simplification boucle sur la liste des opérateurs et définit les objets

correspondants pour chaque variable en fonction de leur type. Si le problème n’est pas typé3, il

est nécessaire d’effectuer une étape d’inférence de type avant l’instanciation. Le processus est 3. Un problème non typé est un problème qui ne définit pas de type de variable

SECTION4.2 ALGORITHME D’INSTANCIATION ET DE SIMPLIFICATION DES PROBLÈMESHTN 56

expliqué en détail dans (Koehler & Hoffmann,1999).

Étape 3. (Simplification des formules atomiques) Dans un souci de performance et dans le but de réduire le coût du processus d’instanciation et de simplification, la simplification des formules atomiques doit être effectuée le plus tôt possible durant le processus d’instanciation. En uti-lisant la table des inerties, calculée précédemment, la simplification des formules atomiques consiste à évaluer les formules logiques contenues dans les pré-conditions et les effets des

opé-rateurs àvraioufaux. Sipest un prédicat contenu dans une formule atomique d’un opérateur

ets0l’état initial, la simplification des formules atomiques des opérateurs est effectuée en

sui-vant les règles suisui-vantes :

Sipest une inertie positive etps0alorspest simplifié àfaux.

Sipest une inertie négative etps0alorspest simplifié àvrai.

Sinonpne peut pas être simplifié.

Dire queps0est une simplification, cela signifie que tous les faits issus de l’instanciation et

de la simplification depsontvraisdans l’état initial s0. Lorsqu’un prédicat est évalué àfaux,

cela signifie que tous les fais correspondants ne serons jamaisvraisdans tous les états possibles

du problème. De même, si un prédicat est évalué àvrais, tous les faits correspondants seront

toujoursvraidans tous les états possibles du problème.

Si on considère, par exemple, la table d’inerties du domaineRover, où(can_traverse)est une

inertie positive et négative, et en supposant que le fait(can_traverse rover w1 w0)est vrai dans

l’état initial, la simplification le remplacera parvraidans toutes les actions. Par exemple l’action

(navigate rover w1 w0)sera simplifiée comme suit : ( : action navigate

: parameters ( rover w1 w0)

: precondition ( and ( a v a i l a b l e rover ) ( true ) ( v i s i b l e w1 w0) ( at rover w1) ) : e f f e c t ( and ( not ( at rover w1) ) ( at rover w0) ) )

Supposons, maintenant, que(can_traverse rover w1 w0)soitfauxdans l’état initial, alors il sera

remplacé parfauxdans toutes les actions. Dans le cas de(navigate rover w1 w0), toutes les

pré-conditions de l’action seront évaluées àfauxcomme montré dans l’exemple suivant :

: precondition ( and ( a v a i l a b l e rover ) ( f a l s e )

57 CHAPITRE4. GTOHP : UN PLANIFICATEURHTNAVEC DES PROBLÈMES INSTANCIÉS ET SIMPLIFIÉS

Étape 4. (Simplification des actions) Le but est de trouver et de supprimer des actions qui ne pour-ront jamais être appliquées dans le problème en se basant sur le résultat de la simplification des formules atomiques présentées précédemment. Comme on a pu le voir, les expressions

atomiques peuvent être simplifiées à vraiou à faux et impliquer la simplification des

pré-conditions et des effets en appliquant des règles de transformation logique. Si ces

simplifica-tions permettent de réduire àvraioufauxtoute l’expression logique contenue dans les

pré-conditions ou les effets d’une action, cette dernière peut être simplifiée comme suit :

— Si la pré-condition d’une action est remplacée parfaux, l’action est supprimée du problème

de planification : Si la pré-condition est fausse, cela veut dire qu’elle nécessite un fait qui ne

peut jamais êtrevraidans le problème, l’action ne peut, donc, jamais être appliquée dans le

problème.

— Si tous les effets de l’action sont évalués àvrai, l’action ne produit que des faits qui sont

toujoursvraisou ne consomme que des faits qui sont toujoursfaux. Elle peut, donc, être

supprimée du problème car elle ne produit aucun changement.