IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au...

15
IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry http://planiart.usherbrooke.c a/~eric/ Étudiant au doctorat en informatique Laboratoire Planiart

Transcript of IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au...

Page 1: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

IFT615 – Intelligence artificielle

Planification temporelleÉric Beaudry

http://planiart.usherbrooke.ca/~eric/

Étudiant au doctorat en informatiqueLaboratoire Planiart

Page 2: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

Sujets

• Planification temporelle• Planification avec actions simultanées

Page 3: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

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.

Page 4: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

Plans séquentiels Pos=p1

Pos=p3Pos=p2Pos=p7

Déplacer(p1,p2)

Livrer(m1,p5)

Déplacer(p1,p2)

Déplacer(p1,p2)

… …Pos=p3

Pos=p5

Pos=p5

Déplacer(p3,p5)

Prendre(m1,p3)

MissionLivrer message m1 de p3 à p5

État initialPosition = p1

Plan1. SeDéplacer(p1, p3)2. PrendreMsg(m1, p3)3. SeDéplacer(p3, p5)4. Livrer(m1, p5)

p1

p2

p3p4

p5

p6p7

p8

p9 p10p11

Page 5: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

PLANIFICATION DE MISSIONS POUR ROBOTS SUR MARS

Exemple d’une application nécessitant des actions temporelles (concurrente)

5

Image Source : htt

p://marsrovers.jpl.nasa.gov/gallery/artw

ork/hires/rover3.jpg

Page 6: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

6

Transport Problem

r1 r2 r3 r4

r5 r6

r1 r2 r3 r4

r5 r6

Initial State Goal State

robot robot

Page 7: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

7

Classical Planning (A*)

Goto(r5,r1)

Goto(r5,r2

)

Take

(…)

Goto(…)…

… … … …

… …

Page 8: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

Modification pour planification temporelle

• Préconditions Conditions– at start– at end– over all

• L’état a un temps.• Les actions une une durée.

Page 9: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

9

Classical Planning

Time=0

Temporal Planning : add current-time to states

Goto(r5, r1)

Goto(r1, r5)

Time=60

Goto(r5, r1)

Time=120

Goto(r1, r5)

Page 10: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

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

Page 11: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

11

Concurrent Mars Rover Problem

InitializeSensor()Goto(a, b) AcquireData(p)

Cond

ition

sEff

ets

Cond

ition

sEff

ets

Cond

ition

sEff

ets

at begin: robotat(a)over all: link(a, b)

at begin: not at(a)at end: at(b)

atbegin: not initialized()

at end: initialized()

over all: at(p) initialized()

at end: not initialized() hasdata(p)

Page 12: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

12

Exemple de problème

r1 r2 r3 r4

r5 r6

Initial State

robot

r1 r2 r3 r4

r5 r6

Goal State

Picture r2 .

robot hasCamera (Sensor) is not initialized.

Page 13: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

13

Action Concurrency Planning

Time=0

Position=r5

Time=0

120: Position=r2

Goto(r5,r2

)

Goto(c1, r3)

Time=0

150: Position=r3

Time=0

90: Initialized=True

Position=r5

InitCamera()

Time=0

90: Initialized=True120: Position=r2

InitCamera()

…Goto(c1, p1)

Time=90

Position=r5Initialized=True$AdvTemps$

État initial

Position=undefinedPosition=undefined

Position=undefined

Page 14: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

14

(Suite) Time=0

120: Position=r2Goto(r5, r2

)

Time=0

90: Initialized=True120: Position=r2

InitCamera()

…Time=0

Position=r5Initialized=False

Time=90

120:+ Position=r2

Position=undefinedInitialized=True

$AdvTemps$

Time=120Position=r2 Initialized=True

$AdvTemps$

Initial State

Time=120

Position=r2

130: HasPicture(r2)=True130: Initialized=False

[120,130] Position=r2

TakePicture()

Time=130Position=r2Initialized=FalseHasPicture(r2)

$AdvTemps$

Position=undefinedInitialized=False

Position=undefinedInitialized=False

Page 15: IFT615 – Intelligence artificielle Planification temporelle Éric Beaudry eric/ Étudiant au doctorat en informatique Laboratoire.

15

Extracted Solution Plan

Goto(r5, r2)

InitializeCamera()

TakePicture(r2)

Time (s)0 120906040