• Aucun résultat trouvé

CHAPITRE 4 PLANIFICATION

4.3 R´ esolution du probl` eme

Une fois le probl`eme de planification d´eclar´e `a l’aide d’un formalisme pr´ecis, l’´etape sui- vante est la r´esolution du probl`eme. Il existe de nombreux algorithmes pour la r´esolution de probl`emes de planification (Russell et Norvig (2010)). Nous pr´esentons ici quelques-uns de ces algorithmes qui sont applicables dans un contexte de planification classique (voir section 4.2.1) :

– Exploration dans un espace d’´etats – Graphes de planification

– Probl`emes de satisfaction de contraintes – Planification `a ordre partiel

4.3.1 Exploration dans un espace d’´etats

L’exploration dans un espace d’´etats est un algorithme qui consiste `a explorer l’ensemble des ´etats atteignables par l’application des actions sur l’´etat courant. Le probl`eme de plani- fication est donc r´eduit `a un probl`eme d’exploration. Il existe deux approches principales `a l’exploration dans un espace d’´etats : l’exploration progressive et l’exploration r´egressive.

L’exploration progressive dans un espace d’´etats consiste `a commencer la recherche `a partir de l’´etat initial et `a parcourir les ´etats atteignables par ex´ecution des actions applicables jusqu’`a l’atteinte du but. `A la base, ce type d’exploration est consid´er´e comme inefficace dˆu au nombre habituellement tr`es ´elev´e de possibilit´es, repr´esent´es par des noeuds dans le graphe d’exploration. De plus, puisque la recherche est progressive `a partir de l’´etat initial, elle n’est pas ax´ee vers les buts. La recherche demande donc un nombre tr`es grand de ressources et de temps d’ex´ecution dans des situations sans grande complexit´e.

L’exploration r´egressive est orient´ee inversement `a l’exploration progressive, c’est-`a-dire qu’elle consiste `a commencer la recherche `a partir de l’´etat final, ou but, et `a parcourir les ´

etats ayant permis d’atteindre cet ´etat par l’ex´ecution inverse des actions. Plutˆot que de tester l’applicabilit´e des actions, il faut plutˆot v´erifier que les effets des actions sont coh´erents avec l’´etat courant afin de pouvoir revenir `a l’´etat pr´ec´edant en appliquant inversement les pr´econditions et en supprimant les effets.

Qu’il s’agisse d’exploration progressive ou r´egressive, aucune des deux approches ne peut ˆ

etre assez efficace sans l’utilisation d’une heuristique (Russell et Norvig (2010)). La r´esolution d’un probl`eme de planification par exploration dans un espace d’´etats consid`ere donc toujours l’utilisation d’une heuristique, ce qui incite la grande majorit´e des syst`emes actuels `a utiliser une approche d’exploration progressive, puisque son algorithme simplifie de beaucoup la construction d’une bonne heuristique. Plusieurs planificateurs actuels utilisent cette approche dont HSP (Bonet (1983), Bonet et Geffner (2001)), Prodigy (Carbonell et al. (1991)), FF (Hoffmann et Nebel (2001)) et plus r´ecemment Fast-Downward (Helmert (2006)) et HPLAN- P (Baier et al. (2009)), se diff´erenciant tous par l’heuristique utilis´ee pour leur algorithme d’exploration.

4.3.2 Graphes de planification

Les graphes de planification sont des structures de donn´ees de type graphe orient´e qui permettent `a un algorithme d’exploration d’obtenir de meilleures estimations heuristiques. Puisque l’arbre de possibilit´es `a partir de l’´etat initial croˆıt de mani`ere exponentielle en rapport au nombre d’actions du plan, il n’est pas du tout efficace de tenter de le construire enti`erement. L’approche d’un graphe de planification en propose donc une approximation

de taille polynomiale et facilement constructible. Elle permet d’estimer sans surestimation le coˆut pour atteindre le but `a partir de l’´etat initial et aussi de d´eterminer si le but est atteignable. Elle ne garantit pas de d´eterminer dans tous les cas s’il est atteignable, mais la pr´ediction est sans erreur lorsqu’elle est effectu´ee.

Blum et Furst (1997) ont pr´esent´e un algorithme du nom de GRAPHPLAN permettant l’extraction d’un plan directement `a partir d’un graphe de planification. Son fonctionnement consiste `a obtenir un niveau o`u tous les litt´eraux des buts sont repr´esent´es sans lien d’exclusion mutuelle. Ensuite, un algorithme avec base heuristique effectue une exploration r´egressive (voir section 4.3.1) afin d’obtenir le plan. Si le plan est impossible `a obtenir, des niveaux sont rajout´es jusqu’`a l’obtention de la solution. Dans le cas o`u celui-ci est toujours introuvable et que l’heuristique ne peut plus ˆetre respect´ee, l’extraction du plan `a partir de GRAPHPLAN est consid´er´ee impossible.

4.3.3 Planification `a ordre partiel

La planification `a ordre partiel (POP) est une variation de l’approche d’exploration dans un espace d’´etats. Dans cette approche, le probl`eme est toujours consid´er´e comme un pro- bl`eme d’exploration, mais l’espace d’´etats est transform´e en un espace de plans. Ceci est rendu possible par l’identification des actions ou sous-plans ind´ependants, c’est-`a-dire des actions n’interf´erant pas entre elles par leurs pr´econditions ou effets, donc pouvant ˆetre effec- tu´ees dans un ordre quelconque ou parall`element. Le plan final est dit partiellement ordonn´e, plutˆot que totalement ordonn´e dans le cas de l’exploration dans un espace d’´etats, et est repr´esent´e par un ensemble d’actions et de contraintes. Ces derni`eres sp´ecifient explicitement que deux actions sont d´ependantes l’une de l’autre, et dans l’ordre qu’elle doivent apparaˆıtre dans le plan final. Le reste de l’ordonnancement du plan est flexible et possiblement parall´e- lisable. Penberthy et Weld (1992) ont d’ailleurs pr´esent´e UCPOP, un planificateur exploitant les avantages de la planification `a ordre partiel.

4.3.4 Probl`emes de satisfaction de contraintes

Une avenue possible de la r´esolution d’un probl`eme de planification est la traduction de ce dernier en un probl`eme de satisfaction de contraintes (Constraint Satisfaction Problem, ou CSP). Un CSP consiste en la d´efinition d’un probl`eme par un ensemble de variables soumises `

a un domaine de valeurs possibles et `a un ensemble de contraintes sur ces variables. Cette technique de r´esolution est efficace lorsque le probl`eme de planification est born´e, c’est-`a-dire qu’il s’agisse de trouver un plan de longueur d´etermin´ee. Kautz et al. (1996) ont pr´esent´e une m´ethode de satisfiabilit´e bool´eenne (SAT) connue sous le nom de SATPLAN pour la r´esolution

de probl`eme de planification. De plus, Do et Kambhampati (2001) ont propos´e le syst`eme GP-CSP, permettant de traduire un graphe de planification en probl`eme de satisfaction de contraintes.

4.3.5 R´eseaux hi´erarchis´es de tˆaches

Une approche diff´erente `a la r´esolution de probl`emes de planification est la d´ecomposi- tion du probl`eme de mani`ere hi´erarchique. La planification hi´erarchique diff`ere des autres approches pr´esent´ees jusqu’ici par le fait qu’elle ne consid`ere pas les actions comme un en- semble fini d’´el´ements atomiques, mais plutˆot en d´ecrivant des actions de haut niveau (High- Level Actions, ou HLA). Celles-ci correspondent `a un ensemble d’affinements, consistant en des actions simples, dites actions primitives, ou `a d’autres actions de haut niveau. Ceci permet d’´etablir une hi´erarchie dans les actions et ainsi de d´ecomposer le plan en une arbores- cence d’actions des deux types. Cette approche de planification est appel´ee planification par r´eseaux hi´erarchis´es de tˆaches (Hierarchical Task Networks, ou HTN) et permet l’introduc- tion de concepts d’impl´ementations d’actions diff´erentes des approches exploratives simples comme la r´ecursivit´e, par exemple (Russell et Norvig (2010)). Erol et al. (1995) ont d´emontr´e par leur compr´ehension s´emantique des algorithmes HTN que le principal avantage de ces derniers est d’ˆetre beaucoup plus expressif qu’un algorithme standard d’exploration dans un espace d’´etats.