2. Motivations
Réactions instantanées à des stimuli ≠ Anticipation et réflexion sur les buts
Prévoir
Enchaîner les actions pour accomplir les tâches fixées
Adapter
2
3. Introduction : Planification
Représentation des problèmes de planification ( états, actions , but)
Description de l’état initial et l’état but
Description d'un ensemble d'actions que l'agent peut exécuter
Tâche : Trouver une séquence d'actions qui mène l'agent de l‘état initial à l‘état but.
3
4. Environnement de planification
Complètement observable
Déterministe
Fini
Statique (les changements ne sont dus qu'aux seules actions des agents )
Discret
4
5. Le langage STRIPS
STRIPS : Stanford Research Institute Problem Solver (1971)
Conçu pour contrôler SHAKEY un robot mobile pouvant se déplacer et pousser des objets
Etat = conjonction de prédicats positifs (logique du premier ordre)
ex: At(Shakey, Door2) ^ At(Box2, Door2)
Action : nom de l'action et paramètres nécessaires pour appliquer l'action
ex : Push(Box2, Door1, Door2)
Préconditions : ensemble des prédicats devant être vrais pour pouvoir appliquer l'action
Effets : modifications des prédicats après l'exécution de l'action
Retraits : prédicats qui étaient vrais et qui sont maintenant faux
Ajouts : prédicats qui étaient faux et qui sont maintenant vrais
5
7. Méthodes de planification : Planification linéaire
Recherche de séquences totalement ordonnées dans un espace d'états:
Planification en chainage avant
(FSSP: Forward State Space Planning)
Planification en chainage arrière
(BSSP: Backward State Space Planning)
Inconvénient: facteur de branchement très élevé
Planification par empilement de buts
(GSP: Goal-stack planning)
Décomposition du problème en sous-but et enchaîner les sous-plans dans un certain ordre.
Inconvénient : ne peut pas résoudre certains problèmes (ex. Anomalie de Sussman ) 7
8. Planification comme recherche dans un espace d’états
Remarque :
• Les descriptions des états dans le monde réel sont complexes
• L'agent a le choix entre de nombreuses actions possibles.
Et donc : Traiter la planification comme un problème de recherche n’est pas très efficace
8
Exemple de tâche de planification: Aller chercher du lait, des bananes et une perceuse.
9. Planification non linéaire: Partial order planning
Utilise :
Ensemble d’étapes (actions),
Ensemble de conditions (prédicats),
Liste de liens causaux : Action1 Condition C Action2 (action 1 rend vrai précondition C de action 2 )
Liste de liens d’ordre : Action1 < Action2.
Commence par 2 étapes Début (sans préconditions) et Fin (sans effets)
Début (Effets : description de l’état initial) et Fin (Préconditions : description de l’état but).
Algorithme:
Repeat until there are no open conditions:
1. Choose a step Sneed which has an open condition C.
Find a step Sadd either in the existing steps or in the list of actions which makes C true.
If Sadd is not in the existing steps, add it to the set of steps.
2. Add a link Sadd C Sneed, and ordering constraint Sadd < Sneed.
If Sadd is new, add also Start < Sadd and Sadd < Finish
3. Check for clobbering:
for all causal links Action1 Condition CAction2
check if there is Action3 which makes C false.
If yes add either Action3 < Action1 or Action2 < Action3 to ordering constraints.
9
10. Le monde des cubes (blocks world)
Définition du monde des cubes :
L'univers est composé d'un ensemble de blocs cubiques et d'une table.
Les blocs sont mobiles, la table est immobile.
Un agent effectue des actions primitives sur les blocs pour changer leur état.
Cet agent est un bras avec une pince mobile.
Un bloc peut reposer sur la table, sur un autre bloc ou être dans la pince.
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
La pince ne peut déplacer qu'un bloc à la fois.
10
Prédicats
Handempty
Holding(x)
Clear(x)
Ontable(x)
On(x,y)
Actions
Pickup(x)
pre and del : ontable(x), clear(x), handempty
add : holding(x)
Putdown(x)
pre and del : holding(x)
add : ontable(x), clear(x), handempty
Stack(x,y)
pre and del : holding(x), clear(y)
add : handempty, on(x,y), clear(x)
Unstack(x,y)
pre and del : handempty, on(x,y), clear(x)
add : holding(x), clear(y)
11. Monde des cubes : Planification par chainage avant
Inconvénient: Facteur de branchement très élevé
11
12. Goal stack planning : Anomalie de Sussman
Inconvénient : Goal stack planning non efficace pour des problèmes difficiles comme l’anomalie de Sussman
12
Diviser l’état but en sous-buts:
1. ON(B,C)
2. ON(A,B) 1. Satisfaire ON(B,C) en premier
Problème: On ne peut satisfaire ON(A,B) sans défaire ON(B,C)
2. Satisfaire ON(A,B) en premier
Problème: On ne peut satisfaire ON(B,C) sans défaire ON(A,B)
18. Planification : Applications
Aérospatiale
Deep Space One
Prises de vues satellitaires
Militaire
Mission de déminage naval
Mission d'hélicoptères de combats
Robotique industrielle
Ligne d'assemblage (ordonnancement de tâches) ,
Transport
Vie de tous les jours
Aspirateur automatique, tondeuse automatique
Informatique
Composition de services web
18