IFT 615 Intelligence artificielle Planification temporelle ric Beaudry
IFT 615 – Intelligence artificielle Planification temporelle Éric Beaudry http: //planiart. usherbrooke. ca/~eric/ Étudiant au doctorat en informatique Laboratoire Planiart
Sujets • Planification temporelle • Planification avec actions simultanées
Planification classique • • Chaque action a une durée implicite (unitaire). Un plan est une séquence d’actions. Recherche A*. «Planification heuristique» = planification basée sur une recherche avec une heuristique indépendante du domaine.
Plans séquentiels 2) (p r e ac l p Dé Livrer message m 1 de p 3 à p 5 Pos=p 7 Pos=p 2 1 État initial Position = p 1 m e( Pos=p 3 3) p , r d en … p 5 2) 1, p ce a l p Dé r(p ce pla ) , p 2 1 r(p Mission p 4 Dé … Pos=p 1 … Pr Pos=p 3 Dé pla cer (p 3 , p 5 ) p 6 p 2 p 7 p 1 p 8 p 9 p 10 p 11 Plan 1. 2. 3. 4. Se. Déplacer(p 1, p 3) Prendre. Msg(m 1, p 3) Se. Déplacer(p 3, p 5) Livrer(m 1, p 5) 5) er r v i L Pos=p 5 ( , p 1 m Pos=p 5
Image Source : http: //marsrovers. jpl. nasa. gov/gallery/artwork/hires/rover 3. jpg Exemple d’une application nécessitant des actions temporelles (concurrente) PLANIFICATION DE MISSIONS POUR ROBOTS SUR MARS 5
Transport Problem Initial State r 1 r 5 r 2 robot r 3 Goal State r 1 r 4 r 6 r 5 r 2 robot r 3 r 4 r 6 6
Classical Planning (A*) 1) 5, r r ( o t Go (r o ot ) 2 5, r G Take(…) … … Goto(…) … … 7
Modification pour planification temporelle • Préconditions Conditions – at start – at end – over all • L’état a un temps. • Les actions une durée.
Classical Planning Goto(r 5, r 1) … Goto(r 1, r 5) Temporal Planning : add current-time to states Goto(r 5, r 1) Time=0 Goto(r 1, r 5) Time=60 Time=120 9
Planification temporelle par recherche à chainage avant • Augmentation de l’espace d’états – Chaque état contient une file d’événements (agenda) qui mémorise les effets futurs ( «delayed effects» ). – Un état : • Estampille temporelle • Contenu de l’état (faits) • Une file d’événements futurs
Concurrent Mars Rover Problem at end: initialized() Conditions atbegin: not initialized() Acquire. Data(p) Effets at begin: not at(a) at end: at(b) Conditions at begin: robotat(a) over all: link(a, b) Initialize. Sensor() Effets Conditions Goto(a, b) over all: at(p) initialized() at end: not initialized() hasdata(p) 11
Exemple de problème Initial State r 1 r 5 r 2 robot r 3 Goal State r 1 r 4 r 6 Camera (Sensor) is not initialized. r 2 r 3 r 4 r 6 r 5 robot has Picture r 2. 12
Action Concurrency Planning Time=0 2) État initial Time=0 , r 5 (r to o G Position=r 5 Position=undefined 120: Position=r 2 Time=0 Init. Camera() Position=undefined 90: Initialized=True 120: Position=r 2 … Time=0 Goto(c 1, r 3) Position=undefined … 150: Position=r 3 Goto(c 1, p 1) Init. Camera() Time=0 Time=90 Position=r 5 Initialized=True 90: Initialized=True … $Adv. Temps$ … 13
(Suite) Initial State Time=0 , r (r 5 to o G 2) Position=undefined Initialized=False Init. Camera() 120: Position=r 2 … Position=undefined Initialized=False 90: Initialized=True 120: Position=r 2 $Adv. Temps$ Position=r 5 Initialized=False Time=90 Position=undefined Initialized=True 120: + Position=r 2 $Adv. Temps$ Time=130 Position=r 2 Initialized=False Has. Picture(r 2) Time=120 $Adv. Temps$ Position=r 2 Time=120 Take. Picture() Position=r 2 Initialized=True 130: Has. Picture(r 2)=True 130: Initialized=False [120, 130] Position=r 2 14
Extracted Solution Plan Goto(r 5, r 2) Initialize. Camera() Take. Picture(r 2) 0 40 60 90 120 Time (s) 15
- Slides: 15