• Aucun résultat trouvé

Intelligence Artificielle Planification

N/A
N/A
Protected

Academic year: 2022

Partager "Intelligence Artificielle Planification"

Copied!
40
0
0

Texte intégral

(1)

Intelligence Artificielle Planification

Bruno Bouzy

http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr

Licence 3 Informatique

UFR Mathématiques et Informatique

Université Paris Descartes

(2)

Introduction ` a la planification

Qu’est ce que la planification?

Langage de repr´ esentation STRIPS

Planification dans les espaces d’´ etats

Planification partiellement ordonn´ ee

Conclusion

(3)

Introduction ` a la planification

Qu’est ce que la planification?

Langage de repr´ esentation STRIPS

Planification dans les espaces d’´ etats

Planification partiellement ordonn´ ee

Conclusion

(4)

Qu’est ce que la planification?

Tˆ ache qui consiste ` a trouver une s´ equence d’actions qui r´ ealisera un objectif

→ syst`emesautonomesetadaptablescapables de raisonner sur leurs capacit´es et les contraintes provenant de l’environnement

Repr´ esentation des probl` emes de planification : ´ etats, actions et objectifs

Description d’un ou plusieurs ´etat(s) initial(aux)

Description d’un ou plusieurs ´etat(s) but(s)

Description d’un ensemble d’actions que l’agent peut effectuer

→ Trouver une s´equence d’actions qui m`ene l’agent de l’´etat initial `a l’´etat but

(5)

Limites des algorithmes de recherche

L’agent peut ˆ etre submerg´ e par des actions non pertinentes

Les heuristiques et les tests de buts sont inad´ equats : il faut trouver des heuristiques ind´ ependantes du domaine!

Pas d’exploitation de la d´ ecomposition du probl` eme

Nous voulons trouver un langage qui est ` a la fois

suffisamment expressif pour d´ecrire une grande variet´e de probl`emes, mais assez restrictif pour permettre `a des algorithmes efficaces d’agir

(6)

Limites des algorithmes de recherche

But : Acheter du lait et une perceuse sans fil

Start

Aller`al’an imaler

ie

Aller`al’´eco le

Allerausupermarch´e Aller au lit Lireun

livre S’asse

oirsur lecana Et p´e

c...

Parler auperroquet

Acheter un chien Aller en cours

Acheterdu sucre

Acheter du lait ... Finish

Lire encore

(7)

G´ en´ erer un plan

Etant donn´ e

Une description du monde Un ´etat initial du monde Une description du but

Un ensemble d’actions disponibles pour changer le monde

On veut trouver

Une liste d’actions permettant de passer de l’´etat initial `a un ´etat qui satisfait le but

Repr´ esenter les changements

Savoir comment une action modifie le monde

Garder en m´emoire les ´etats du monde (a-t’on d´ej`a ´et´e dans cet ´etat avant?)

Pouvoir r´epondre aux questions `a propos des ´etats du mondespotentiels (qu’est-ce qu’il se passerait si... ?)

(8)

Environnements de planification

Les environnements consid´ er´ es dans la planification classique sont :

Totalement observables

D´eterministes Finis

Statiques - les changements ne sont dˆus qu’aux seules actions des agents Discrets

(9)

Applications

Militaire

→ Mission de d´eminage naval

→ Mission d’h´elicopt`eres de combats

A´ erospaciale

→ Deep Space One

→ Prises de vues satellitaires

Robotique indistrielle

→ Ligne d’assemblage, transport

Vie de tous les jours

→ Aspirateur automatique, tondeuse automatique

Informatique

→ Composition de services web

→ Informatique ambiante⇒nouvelles applications

(10)

Introduction ` a la planification

Qu’est ce que la planification?

Langage de repr´ esentation STRIPS

Planification dans les espaces d’´ etats

Planification partiellement ordonn´ ee

Conclusion

(11)

Langage de planification

L’´ etat du monde est d´ ecrit par une s´ erie de pr´ edicats en logique du premier ordre

Etat = conjonction de litt´ eraux positifs

Pauvre∧Inconnu

A(Avion1, Paris)∧A(Avion2, Toulouse)

Les ´ etats (lit´ eraux en logique du premier ordre) doivent ˆ etre

sans variable ni fonction

But = conjonction de litt´ eraux positifs sans variable ni fonction Repr´ esentation des actions :

Nom de l’action + param`etres (ex: Voler(p,from,to))

Pr´e-conditions : conjonction de litt´eraux positifs,ce qui doit ˆetre vrai pour pouvoir appliquer l’action

Effet : conjonction de litt´eraux,ce qui est vrai ou n’est plus vrai une fois que l’action a ´et´e appliqu´ee

(12)

S´ emantique du langage

Une action est applicable ` a chaque ´ etat qui satisfait les pr´ e-conditions Logique du premier ordre : un ´ etat satisfait les pr´ e-conditions s’il existe une substitution permettant d’unifier les pr´ e-conditions avec les litt´ eraux de l’´ etat

Exemple

Etat : A(A1,Orly)∧A(A2,Blagnac)∧Avion(A1)∧Avion(A2)∧ Aeroport(Orly)∧Aeroport(Blagnac)

Pr´e-conditions : A(x,from)∧Avion(x)∧Aeroport(from)∧Aeroport(to) Substitution : θ={x/A1,from/Orly,to/Blagnac}

Substitution 2 : θ={x/A2,from/Blagnac,to/Orly}

(13)

S´ emantique du langage

Action

a

menant d’un ´ etat

s1

` a un ´ etat

s2

Chaque litt´eralpositifl dans l’effet deaest ajout´e `as2 Silest d´ej`a danss2il n’est pas ajout´e deux fois

Chaque litt´eraln´egatif¬ldans l’effet deaest supprim´e des2 Siln’est pas danss2, rien ne change

Solution d’un probl` eme de planification : s´ equence d’actions permettant

de mener d’un ´ etat initial ` a un ´ etat qui satisfait le but

(14)

Le langage STRIPS

STRIPS :

Stanford Research Institute Problem Solver

(1971)

Pr´econditions: ensemble des pr´edicats devant ˆetrevraispour pouvoir appliquer l’action

Action: nom de l’action et param`etres n´ecessaires pour appliquer l’action Effets: modifications des pr´edicats apr`es l’ex´ecution de l’action

Retraits: pr´edicats qui ´etaient vrais et qui sont maintenant faux Ajouts: pr´edicats qui ´etaient faux et qui sont maintenant vrais

Suffisamment expressif pour d´ ecrire de nombreux probl` emes

Suffisamment restrictif pour ˆ etre utilis´ e par des algorithmes efficaces

(15)

Exemple : le monde des blocs

L’univers est compos´ e d’un ensemble de blocs cubiques et d’une table Les blocs sont mobiles, la table est immobile

Un agent d´ eplace les blocs

Un bloc peut ˆ etre sur la table ou sur un autre bloc Il ne peut pas y avoir plus d’un bloc sur un autre bloc

La table est assez grande pour que tous les blocs puissent y prendre place

L’ordre des blocs sur l’axe horizontal n’est pas important

(16)

Exemple : le monde des blocs

Pr´ edicats :

Bloc(x): Bloc(A), Bloc(B), Bloc(C), Bloc(D) Sur(x,y): Sur(C,B), Sur(B,A)

SurTable(x): SurTable(A), SurTable(D) Libre(x): Libre(C), Libre(D)

L’´ etat du monde est une conjonction de pr´ edicats :

Bloc(A)

Bloc(B)

Bloc(C)

Bloc(D)

Sur(C, B)

Sur(B, A)

SurTable(A)

SurTable(D)

Libre(C)

Libre(D)

(17)

Exemple : le monde des blocs

Actions :

Action(Deplacer(b,x,y)

PRECOND : Sur(b,x)∧Libre(b)∧Libre(y)∧Bloc(b)∧Bloc(x)∧Bloc(y)∧ (b6= x)∧(b6= y)∧(x6= y)

EFFET : Sur(b,y)∧Libre(x)∧ ¬Sur(b,x)∧ ¬Libre(y)) Action(DeplacerSurTable(b,x)

PRECOND : Sur(b,x)∧Libre(b)∧Bloc(b)∧Bloc(x)∧(b6= x) EFFET : Sur(b,Table)∧Libre(x)∧ ¬Sur(b,x))

Action(DeplacerDeTable(b,x)

PRECOND : Sur(b,Table)∧Libre(b)∧Libre(x)∧Bloc(b)∧Bloc(x)∧(b6=

x)

EFFET :¬Sur(b,Table)∧ ¬Libre(x)∧Sur(b,x))

(18)

Exemple : le monde des blocs

Etant donn´ e un probl` eme

Etat initial: Bloc(A)∧Bloc(B)∧Bloc(C)∧Bloc(D)∧Sur(C, B)∧ Sur(B, A)∧SurTable(A)∧SurTable(D)∧Libre(C)∧Libre(D) Etat final: Bloc(A)∧Bloc(B)∧Bloc(C)∧Bloc(D)∧Sur(A, B)∧ Sur(C, D)∧SurTable(B)∧SurTable(D)∧Libre(A)∧Libre(C)

Planification : trouver un enchainement d’actions permettant de passer de l’´ etat initial ` a l’´ etat final

Probl` eme difficile

Plusieurs m´ ethodes de planifications existent

(19)

Introduction ` a la planification

Qu’est ce que la planification?

Langage de repr´ esentation STRIPS

Planification dans les espaces d’´ etats

Planification partiellement ordonn´ ee

Conclusion

(20)

Planification dans les espaces d’´ etats

Algorithmes les plus simples pour la planification

Algorithmes de recherche dans lesquels l’espace de recherche est un sous-ensemble de l’espace d’´ etats

Nœud: ´etat du monde Arc: transition, action

Cheminentre l’´etat initial et un ´etat satisfaisant le but : plan d’actions

Tou algorithme d’exploration complet (comme par exemple A

) est un

algorithme de planification complet

(21)

Planification par recherche en chaˆınage avant

Proc` ede de l’´ etat initial vers l’´ etat final en utilisant les techniques d’exploration

Le facteur de branchement est ´ elev´ e

Toutes les actions applicables sont prises en consid´eration

N´ ecessit´ e d’heuristiques

Algorithme de recherche en chaˆınage avant : d´ eterministe

Algorithme de recherche en chaˆınage avant : correct et complet

(22)

Algorithme de recherche en chaˆınage avant

Algorithm 1: RechAvant(A, s

0

, g ) d´ ebut

si s

0

satisfait g alors retourner un plan vide π sinon

active ← {a|a est une action de A et precond(a) est vrai dans s

0

} si active = ∅ alors retourner Echec

sinon

Choisir action a

1

∈ active s

1

← γ(s

0

, a

1

)

π ← RechAvant(A, s

1

, g )

si π 6= Echec alors retourner a

1

.π; sinon retourner Echec

(23)

Planification par recherche en chaˆınage arri` ere

Proc` ede de l’´ etat final vers l’´ etat initial Limite le facteur de branchement

Habituellement, le but a peu d’op´erateurs applicables Ne consid`ere que les actionspertinentes

Action pertinente pour le but sous forme conjonctive :

Accomplir l’un des termes de la conjonction Ne pas annuler un des terme d´esir´e action consistente

Arrˆ et lorsqu’on obtient un sous-ensemble de litt´ eraux qui satisfont l’´ etat initial

N´ ecessit´ e d’heuristiques pour choisir l’action

Algorithme de recherche en chaˆınage arri` ere : correct et complet

(24)

Algorithme de recherche en chaˆınage avant

Algorithm 2: RechArriere(A, s

0

, g ) d´ ebut

si s

0

satisfait g alors retourner un plan vide π sinon

pertinent ← {a|a est une action de A et effet(a) est vrai dans s

0

} si pertinent = ∅ alors retourner Echec

sinon

Choisir action a

1

∈ pertinent s

1

← γ

−1

(s

0

, a

1

)

π ← RechArriere(A, s

1

, g )

si π 6= Echec alors retourner π.a

1

; sinon retourner Echec

(25)

Recherche dans les espaces d’´ etats

Recherche avant et arri` ere : recherche d’un plan totalement ordonn´ e S´ equence d’actions strictement lin´ eaires

Ordre chronologique de planification

Une approche plus souple peut ˆ etre n´ ecessaire : r´ esoudre diff´ erents sous-buts et combiner les sous-plans

Planification en ordre partiel

(26)

Introduction ` a la planification

Qu’est ce que la planification?

Langage de repr´ esentation STRIPS

Planification dans les espaces d’´ etats

Planification partiellement ordonn´ ee

Conclusion

(27)

Planification partiellement ordonn´ ee

Strat´ egie du moindre engagement (least commitment): se compromettre uniquement sur les aspects pertinents des actions, en laissant les autres aspects ` a plus tard

Un planificateur qui peut placer deux actions dans un plan sans sp´ ecifier laquelle intervient en premier est appel´ e planificateur en ordre partiel La solution est pr´ esent´ ee comme un graphe d’actions

Lin´ earisation du plan: le planificateur repr´ esente un ordre entre toutes les

´

etapes

(28)

Exemple

Partial Order Plan Start

Left Sock

Right Sock

Left Shoe LeftSockOn

Right Shoe RightSockOn

Total Order Plans Start

Left Sock

Right Sock

Left Shoe

Start

Left Sock

Right Sock

Right Shoe

Start

Left Sock Right Sock

Left Shoe

Start

Left Sock Right Sock

Right Shoe

Start

Left Sock Right Sock

Right Shoe

Start

Left Sock

Right Sock Left Shoe

(29)

Composantes d’un plan partiellement ordonn´ e

Un plan partiellement ordonn´ e est un tuple hA, ≺, B, Li o` u

A

=

{a1, . . . ,an}

est un ensemble d’actions

Un plan vide contient uniquement les actionsd´epartetfin

est un ensemble de contraintes d’ordre entre les actions

Chaque contrainte sp´ecifie le fait qu’une action doit survenir avant une autre

Si l’actionai doit ˆetre ex´ecut´ee avantaj, on ´ecriraai ≺aj

B

est un ensemble de contraintes d’instantiation sur les variables de

A L

est un ensemble de liens causaux entre les actions, not´ e

ai

−→p aj

, tels que

ai,aj∈Asont deux actions

ai ≺aj est une contrainte d’ordre d´efinie dans≺

Signifie que la propositionpest un effet deaet une pr´econdition dep

(30)

Solution d’un plan partiellement or- donn´ e

Une solution est un plan complet et consistant que l’agent peut accomplir et qui garantit l’accomplissement du but

Complet: toutes les pr´econditions sont satisfaites par une action pr´ec´edente, et ne sont pas annul´ees par une autre action

Consistant: Il n’y a pas de cycle dans les contraintes d’ordonnancement, et pas de conflits entre les liens causaux

(31)

D´ efaut et menace

Une action

ak

est une menace pour un lien causal

ai

−→p aj

ssi :

ak a un effet¬qqui est potentiellement incoh´erent avecp les contraintes d’ordresai≺aketak≺ajsont coh´erentes avec≺ les contraintes d’instantiation r´esultant de l’unification depet deqsont coh´erentes avecB

Un d´ efaut dans un plan partiellement ordonn´ e est soit

un sous-but, c’est `a dire la pr´econdition d’une action deAqui n’est pas support´ee par un lien causal

une menace, c’est `a dire une action qui interf`ere avec un lien causal

(32)

Exemple : changer un pneu

Actions :

Action(Sortir(NvPneu,Coffre) PRECOND : Dans(NvPneu,Coffre)

EFFET :¬Dans(NvPneu,Coffre)∧Au(NvPneu,Sol) Action(Retirer(PneuPlat,Essieu)

PRECOND : Sur(PneuPlat,Essieu)

EFFET :¬Sur(PneuPlat,Essieu)∧Au(PneuPlat,Sol) Action(Mettre(NvPneu,Essieu)

PRECOND : Au(NvPneu,Sol)∧ ¬Sur(PneuPlat,Essieu) EFFET : Sur(NvPneu,Essieu)∧ ¬Au(NvPneu,Sol)

Etat initial : Sur(PneuPlat, Essieu)

Dans(NvPneu,Coffre)

But : Sur(NvPneu,Essieu)

(33)

Exemple : changer un pneu

D´ebut Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu)

Fin Sur(NvPneu,Essieu)

(34)

Exemple : changer un pneu

D´ebut Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu)

Mettre(NvPneu,Essieu) Au(NvPneu,Sol)

¬Sur(PneuPlat,Essieu)

Sur(NvPneu,Essieu) Fin

(35)

Exemple : changer un pneu

D´ebut Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu)

Retirer(PneuPlat,Essieu) Sur(PneuPlat,Essieu)

Mettre(NvPneu,Essieu) Au(NvPneu,Sol)

¬Sur(PneuPlat,Essieu)

Sur(NvPneu,Essieu) Fin

(36)

Exemple : changer un pneu

D´ebut Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu)

Retirer(PneuPlat,Essieu) Sur(PneuPlat,Essieu)

Mettre(NvPneu,Essieu) Au(NvPneu,Sol)

¬Sur(PneuPlat,Essieu)

Sur(NvPneu,Essieu) Fin

(37)

Exemple : changer un pneu

D´ebut Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu)

Sur(PneuPlat,Essieu)

Sortir(NvPneu,Coffre) Dans(NvPneu,Coffre)

Mettre(NvPneu,Essieu) Au(NvPneu,Sol)

¬Sur(PneuPlat,Essieu)

Fin Sur(NvPneu,Essieu)

(38)

Exemple : changer un pneu

D´ebut Dans(NvPneu,Coffre) Sur(PneuPlat,Essieu)

Sortir(NvPneu,Coffre) Dans(NvPneu,Coffre)

Mettre(NvPneu,Essieu) Au(NvPneu,Sol)

¬Sur(PneuPlat,Essieu)

Fin Sur(NvPneu,Essieu)

(39)

Introduction ` a la planification

Qu’est ce que la planification?

Langage de repr´ esentation STRIPS

Planification dans les espaces d’´ etats

Planification partiellement ordonn´ ee

Conclusion

(40)

Conclusion

Langage de repr´ esentation STRIPS Planification dans les espaces d’´ etats

→ Produit des s´equences d’actions

Planification dans les espaces de plans

→ Produit des plans partiellement ordonn´es Planification dans les graphes

→ Produit des plans solution qui sont des s´equences d’ensembles d’actions Graphe de planification

Moins expressive que dans les espaces de plans, mais plus que dans les espaces d’´etats

Références

Documents relatifs

• Le management par objectifs consiste à ce que les managers et leurs collaborateurs fixent des objectifs de performances précis, à analyser les résultats.. régulièrement et

– Utilisé pour trouver un chemin optimal dans un graphe via l’ajout d’une heuristique. • Une heuristique h(n) est une fonction d’estimation du coût entre un nœud n

• Pour l’instant, le seul avantage perceptible d’avoir un modèle PDDL (au lieu d’une fonction de transitions normale) est de représenter la fonction de transition de

• Pour l’instant, le seul avantage perceptible d’avoir un modèle PDDL (au lieu d’une fonction de transitions normale) est de représenter la fonction de transition de

• Expliquer comme est heuristique pour une recherche dans un espace d’états est défini à partir d’un graphe de planification relaxé en ignorant les delete-lists. IFT608/IFT702

 Pour des problèmes avec des contraintes binaires (c-à-d., entre deux variables), on peut visualiser le problème CSP par un graphe de contraintes.  Un graphe de contraintes est

but : neutraliser le plus possible les variables non contrôlés Répétitivité refaire la mesure du résultat d’un essai. Répétition refaire l’essai au

A l’état final, on voudrait avoir peint et avoir de la lumière dans cette pièce.. Donner en STRIPS l’état initial et l’état final de