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.
— ∀(?x−t y pe)⇒x1∧x2∧...∧xn — ∃(?x−t y pe)⇒x1∨x2∨...∨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 : ?x→r over, ?f r om→w1, ?t o→w0. 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 etp∉s0alorspest simplifié àfaux.
— Sipest une inertie négative etp∈s0alorspest simplifié àvrai.
— Sinonpne peut pas être simplifié.
Dire quep∉s0est 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.