Coping with Time Continuous Quantities David E Smith

  • Slides: 56
Download presentation
Coping with Time & Continuous Quantities David E. Smith desmith@arc. nasa. gov Collaborators: Jeremy

Coping with Time & Continuous Quantities David E. Smith desmith@arc. nasa. gov Collaborators: Jeremy Frank, Ari Jónsson

The Ambitious Spacecraft Observation-1 priority time window target instruments duration Observation-2 Observation-3 Observation-4 …

The Ambitious Spacecraft Observation-1 priority time window target instruments duration Observation-2 Observation-3 Observation-4 … Objective: maximize science return

Complications Observation-1 priority linked time window target instruments duration Observation-2 angle between targets turn

Complications Observation-1 priority linked time window target instruments duration Observation-2 angle between targets turn duration calibration target 1 target 2 … Observation-3 Observation-4 … consumables: fuel power data storage cryogen Objective: maximize science return

The Spacecraft’s Choices Observations Instrument Calibration target Ordering Communication Instrument Status

The Spacecraft’s Choices Observations Instrument Calibration target Ordering Communication Instrument Status

The Spacecraft’s Choices Observations Instrument Calibration target Ordering Communication Instrument status continuous time constraints

The Spacecraft’s Choices Observations Instrument Calibration target Ordering Communication Instrument status continuous time constraints concurrent actions metric resources optimization

The Choice Spectrum job-shop scheduling planning

The Choice Spectrum job-shop scheduling planning

The Choice Spectrum planning job-shop scheduling R 3 R 7 R 1 Job 1

The Choice Spectrum planning job-shop scheduling R 3 R 7 R 1 Job 1 task 1 < task 2 < task 3 < … Job 2 Job 3 … Ordering choices only

The Choice Spectrum planning job-shop scheduling cascading levels of choice …… … …

The Choice Spectrum planning job-shop scheduling cascading levels of choice …… … …

The Choice Spectrum job-shop scheduling 5 umfagoggin clavitracle resource choices (RCSP) planning 11 fernambulator

The Choice Spectrum job-shop scheduling 5 umfagoggin clavitracle resource choices (RCSP) planning 11 fernambulator Task 4 [8, 17] Task 7 Task 2 Task 5 Task 1 Task 8 Task 3 Task 6 Ordering choices Resource choices

The Choice Spectrum resource choices job-shop scheduling (RCSP) process 8 alternative processes process 3

The Choice Spectrum resource choices job-shop scheduling (RCSP) process 8 alternative processes process 3 planning process 7 Task 4 Task 7 Task 2 Task 5 Task 1 Task 8 Task 3 Task 6 Ordering choices Resource choices Process choices

The Choice Spectrum job-shop scheduling alternative processes resource choices (RCSP) ambitious spacecraft planning Observation

The Choice Spectrum job-shop scheduling alternative processes resource choices (RCSP) ambitious spacecraft planning Observation choices Instrument choices Calibration target choices Ordering choices Communication choices Instrument status choices

The Choice Spectrum job-shop scheduling resource choices (RCSP) alternative processes planning Subset Selection ambitious

The Choice Spectrum job-shop scheduling resource choices (RCSP) alternative processes planning Subset Selection ambitious spacecraft observation scheduling process planning

Strips Assumptions Instantaneous actions No time constraints No concurrent actions No continuous quantities Bleak?

Strips Assumptions Instantaneous actions No time constraints No concurrent actions No continuous quantities Bleak?

Some STRIPS Operators Take. Image (? target, ? instr): Pre: Status(? instr, Calibrated), Pointing(?

Some STRIPS Operators Take. Image (? target, ? instr): Pre: Status(? instr, Calibrated), Pointing(? target) Eff: Image(? target) Calibrate (? instrument): Pre: Status(? instr, On), Calibration-Target(? target), Pointing(? target) Eff: ¬Status(? inst, On), Status(? instr, Calibrated) Turn (? target): Pre: Pointing(? direction), ? direction ≠ ? target Eff: ¬Pointing(? direction), Pointing(? target) no time, no resources

Outline Resources Reusable Consumable Time Uncertainty?

Outline Resources Reusable Consumable Time Uncertainty?

Resources Discrete Continuous Reusable instruments bandwidth Consumable solid rockets single/multiple (metric) fuel

Resources Discrete Continuous Reusable instruments bandwidth Consumable solid rockets single/multiple (metric) fuel

Reusable Resources (single-capacity) Take. Image (? target, ? instr): Res: ? instr Pre: Status(?

Reusable Resources (single-capacity) Take. Image (? target, ? instr): Res: ? instr Pre: Status(? instr, Calibrated), Pointing(? target) Eff: Image(? target) Prevent concurrent actions Mutual exclusion between actions: Graphplan Satplan POCL trivial ¬A 1 ¬A 2 A 1<A 2 A 2<A 1

Reusable Resources (multiple-capacity) Suppose: 2 cameras Simple approach: name the cameras Take. Image (?

Reusable Resources (multiple-capacity) Suppose: 2 cameras Simple approach: name the cameras Take. Image (? target, ? instr): Res: ? instr Pre: Status(? instr, Calibrated), Pointing(? target) Eff: Image(? target) Mutual exclusion between actions: Graphplan Satplan POCL trivial ¬A 1 ¬A 2 ? instr 1≠? instr 2 A 1<A 2 A 2<A 1

Reusable Resources (multiple-capacity) 2 Cameras: Not named Take. Image (? target): Res: Camera(1) Pre:

Reusable Resources (multiple-capacity) 2 Cameras: Not named Take. Image (? target): Res: Camera(1) Pre: Pointing(? target) Eff: Image(? target) Capacity(Camera)=2 Explicit checking of concurrent actions to ensure: usage ≤ capacity

Reusable Resources (multiple-capacity) usage > capacity Mutual exclusion between sets of actions: Graphplan Satplan

Reusable Resources (multiple-capacity) usage > capacity Mutual exclusion between sets of actions: Graphplan Satplan POCL Graph Techniques Ix. Te. T n-ary mutex ¬(A 1 A 2 A 3 …) A 1<A 2 A 2<A 1 A 1<A 3 A 3<A 1 … Profiling heuristics Sadeh, Fox, Beck O-Plan

Summary Resources Reusable Single-capacity binary mutex easy Multiple-capacity n-ary mutex tricky specialized algorithms search

Summary Resources Reusable Single-capacity binary mutex easy Multiple-capacity n-ary mutex tricky specialized algorithms search heuristics Consumable Time Uncertainty?

Consumable Resources Turn (? target): Pre: Eff: Pointing(? direction), ? direction ≠ ? target

Consumable Resources Turn (? target): Pre: Eff: Pointing(? direction), ? direction ≠ ? target Fuel ≥ Angle(? direction, ? target) *Consumption. Rate ¬Pointing(? direction), Pointing(? target) Fuel –= Angle(? direction, ? target) *Consumption. Rate Simple approach: wait until all variables are instantiated

LP Approaches Zeno: open conditions: P 1, P 2, P 3, P 4, P

LP Approaches Zeno: open conditions: P 1, P 2, P 3, P 4, P 5, E 1, E 2, E 3 constraints: Fuel ≤ 10 Simplex

LP Approaches: LPSAT Turn (? target): Pre: Eff: Pointing(? direction), ? direction ≠ ?

LP Approaches: LPSAT Turn (? target): Pre: Eff: Pointing(? direction), ? direction ≠ ? target Fuel ≥ Angle(? direction, ? target) *Consumption. Rate ¬Pointing(? direction), Pointing(? target) Fuel –= Angle(? direction, ? target) *Consumption. Rate ¬Turn-T 3 -T 71 v {Pointing-T 31 C 11 ¬Pointing-T 32 Pointing-T 72 C 22 } C 11 Fuel 1 ≥ Angle(T 3, T 7) *Consumption. Rate C 22 Fuel 2 = Fuel 1 – Angle(T 3, T 7) *Consumption. Rate SAT engine Simplex

ILP planning ¬Turn-T 3 -T 71 v {Pointing-T 31 C 11 ¬Pointing-T 32 Pointing-T

ILP planning ¬Turn-T 3 -T 71 v {Pointing-T 31 C 11 ¬Pointing-T 32 Pointing-T 72 C 22 } C 11 Fuel 1 ≥ Angle(T 3, T 7) *Consumption. Rate C 22 Fuel 2 = Fuel 1 – Angle(T 3, T 7) *Consumption. Rate ¬Turn-T 3 -T 71 v Pointing-T 31 ¬Turn-T 3 -T 71 v C 11 ¬Turn-T 3 -T 71 v ¬ Pointing-T 32 ¬Turn-T 3 -T 71 v Pointing-T 72 ¬Turn-T 3 -T 71 v C 22 C 11 Fuel 1 ≥ Angle(T 3, T 7) *Consumption. Rate C 22 Fuel 2 = Fuel 1 – Angle(T 3, T 7) *Consumption. Rate Kautz & Walser Vossen et al.

ILP planning ¬Turn-T 3 -T 71 v Pointing-T 31 ¬Turn-T 3 -T 71 v

ILP planning ¬Turn-T 3 -T 71 v Pointing-T 31 ¬Turn-T 3 -T 71 v C 11 ¬Turn-T 3 -T 71 v ¬ Pointing-T 32 ¬Turn-T 3 -T 71 v Pointing-T 72 ¬Turn-T 3 -T 71 v C 22 C 11 Fuel 1 ≥ Angle(T 3, T 7) *Consumption. Rate C 22 Fuel 2 = Fuel 1 – Angle(T 3, T 7) *Consumption. Rate (1 - Turn-T 3 -T 71) + Pointing-T 31 ≥ 1 M(1 - Turn-T 3 -T 71) + (1 + D 11 ) ≥ 1 (1 - Turn-T 3 -T 71) + (1 - Pointing-T 32 ) ≥ 1 (1 - Turn-T 3 -T 71) + Pointing-T 72 ≥ 1 M(1 - Turn-T 3 -T 71) + (1 ± D 21 ) ≥ 1 D 11 = Fuel 1 – Angle(T 3, T 7) *Consumption. Rate D 22 = Fuel 2 – (Fuel 1 – Angle(T 3, T 7) *Consumption. Rate)

Summary Resources Reusable Consumable Equality and Inequality conditions POCL + LP slow SAT +

Summary Resources Reusable Consumable Equality and Inequality conditions POCL + LP slow SAT + LP fast ILP medium Graphplan ? Concurrent continuous change ugly! Time Uncertainty?

Concurrent Continuous Change Eff: Pointing(? direction), ? direction ≠ ? target Fuel ≥ Angle(?

Concurrent Continuous Change Eff: Pointing(? direction), ? direction ≠ ? target Fuel ≥ Angle(? direction, ? target) *Consumption. Rate ¬Pointing(? direction), Pointing(? target) Fuel –= Angle(? direction, ? target) *Consumption. Rate Fuel Turn (? target): Pre: Fuel = F(t) Fuel Time

Outline Resources Time Uncertainty?

Outline Resources Time Uncertainty?

World Description State-centric: for each time describe propositions that are true Pointing(Earth) Status(Cam 2,

World Description State-centric: for each time describe propositions that are true Pointing(Earth) Status(Cam 2, Calibrated) ¬ Image(A 7) Turn(A 7) Pointing(A 7) Status(Cam 2, Calibrated) ¬ Image(A 7) Proposition-centric: for each proposion describe times it is true Pointing(Earth) Turn(A 7) Pointing(A 7) Status(Cam 2, Calibrated)

Allen’s Ordering Relationships A before B A A meets B A A overlaps B

Allen’s Ordering Relationships A before B A A meets B A A overlaps B B A A=B A ends B B A A contains B A starts B B B A B

Take. Image Schema Take. Image (? target, ? instr): Pre: Status(? instr, Calibrated), Pointing(?

Take. Image Schema Take. Image (? target, ? instr): Pre: Status(? instr, Calibrated), Pointing(? target) Eff: Image(? target) Take. Image(? target, ? instr)A $P {Status(? instr, Calibrated)P Contains(P, A)} $Q {Pointing(? target)Q Contains(Q, A)} $R {Image(? target)R Meets(A, R)}

Shorthand Take. Image (? target, ? instr) contained-by Status(? instr, Calibrated) contained-by Pointing(? target)

Shorthand Take. Image (? target, ? instr) contained-by Status(? instr, Calibrated) contained-by Pointing(? target) meets Image(? target) Pointing(? target) contains Take. Image(? target, ? instr) contains Status(? instr, Calibrated) meets Image(? target)

Turn (? target) met-by meets Pointing(? direction) Pointing(? target) meets Turn(? target) meets Pointing(?

Turn (? target) met-by meets Pointing(? direction) Pointing(? target) meets Turn(? target) meets Pointing(? target)

Calibrate (? instr) met-by contained-by meets Status(? instr, On) Calibration. Target(? target) Pointing(? target)

Calibrate (? instr) met-by contained-by meets Status(? instr, On) Calibration. Target(? target) Pointing(? target) Status(? instr, Calibrated) Pointing(? target) contains Status(? instr, On) meets Calibrate(? instr) meets contains Calibration. Target(? target) Status(? instr, Calibrated)

Algorithm Choose: introduce an action & instantiate constraints coalesce propositions Propagate constraints

Algorithm Choose: introduce an action & instantiate constraints coalesce propositions Propagate constraints

Initial Plan Pointing(Earth) Status(Cam 1, Off) Past -∞ Image(? target) meets Status(Cam 2, On)

Initial Plan Pointing(Earth) Status(Cam 1, Off) Past -∞ Image(? target) meets Status(Cam 2, On) Calibration. Target(T 17) meets Future ∞

st Expansion 1 Pointing(Earth) before Status(Cam 1, Off) Pointing(A 7) contains Take. Image(A 7,

st Expansion 1 Pointing(Earth) before Status(Cam 1, Off) Pointing(A 7) contains Take. Image(A 7, ? instr) meets Status(Cam 2, On) Calibration. Target(T 17) contains Status(? instr, Calibrated) meets Image(A 7) meets Future ∞

ting(Earth) Expansion 2 Pointing(? direction) meets bration. Target(T 17) meets Take. Image(A 7, ?

ting(Earth) Expansion 2 Pointing(? direction) meets bration. Target(T 17) meets Take. Image(A 7, ? instr) Pointing(? caltarget) contains Status(? instr, On) Pointing(A 7) contains before atus(Cam 1, Off) atus(Cam 2, On) Turn(A 7) meets Calibrate(? instr) contains meets contains Calibration. Target(? caltarget) Status(? instr, Calibrated) meets Image

Coalescing Pointing(? direction) ng(Earth) meets Turn(A 7) meets contains before Take. Image(A 7, Cam

Coalescing Pointing(? direction) ng(Earth) meets Turn(A 7) meets contains before Take. Image(A 7, Cam 2) Pointing(T 17) tus(Cam 1, Off) contains Status(Cam 2, On) meets Calibrate(Cam 2) contains Calibration. Target(T 17) Pointing(A 7) contains meets Status(Cam 2, Calibrated) meets Image(

Coalescing Turn(A 7) nting(Earth) meets contains meets before Take. Image(A 7, Cam 2) Pointing(T

Coalescing Turn(A 7) nting(Earth) meets contains meets before Take. Image(A 7, Cam 2) Pointing(T 17) tatus(Cam 1, Off) contains Status(Cam 2, On) meets Calibrate(Cam 2) contains Calibration. Target(T 17) Pointing(A 7) contains meets Status(Cam 2, Calibrated) meets Image

Expansion 3 Pointing(? direction) ting(Earth) Turn(A 7) meets Turn(T 17) atus(Cam 1, Off) meets

Expansion 3 Pointing(? direction) ting(Earth) Turn(A 7) meets Turn(T 17) atus(Cam 1, Off) meets contains meets Take. Image(A 7, Cam 2) Pointing(T 17) contains Status(Cam 2, On) meets Calibrate(Cam 2) contains Calibration. Target(T 17) Pointing(A 7) contains meets Status(Cam 2, Calibrated) meets Image

Coalescing Turn(A 7) inting(Earth) meets Take. Image(A 7, Cam 2) Pointing(T 17) contains Status(Cam

Coalescing Turn(A 7) inting(Earth) meets Take. Image(A 7, Cam 2) Pointing(T 17) contains Status(Cam 2, On) meets Calibrate(Cam 2) contains Calibration. Target(T 17) Pointing(A 7) contains meets Turn(T 17) Status(Cam 1, Off) meets contains meets Status(Cam 2, Calibrated) meets Imag

POCL vs CBI POCL CBI search strategy goal-directed temporal reasoning before/after complex protection causal

POCL vs CBI POCL CBI search strategy goal-directed temporal reasoning before/after complex protection causal links meets conflicts threats mutex conflict resolution proactive lazy

Causal Links & Threats POCL CBI Causal links: meets proposition action meets action proposition

Causal Links & Threats POCL CBI Causal links: meets proposition action meets action proposition Threats: proposition action threatens action proposition mutex proposition action

CBI Planners Zeno (Penberthy) intervals, no CSP Trains (Allen) Descartes (Joslin) extreme least commitment

CBI Planners Zeno (Penberthy) intervals, no CSP Trains (Allen) Descartes (Joslin) extreme least commitment Ix. Te. T (Ghallab) functional rep. HSTS (Muscettola) functional rep. , activities

Timelines Turn (? target) met-by meets Pointing(? direction) Pointing(? target) Pointing=Turn (? target) met-by

Timelines Turn (? target) met-by meets Pointing(? direction) Pointing(? target) Pointing=Turn (? target) met-by Pointing=? direction meets Pointing=? target Pointing: Earth ? direction T 17 ? Turn(A 7) A 7

Explanatory Frame Axioms Turn (? target) met-by meets Pointing(? direction) Pointing(? target) meets Turn(?

Explanatory Frame Axioms Turn (? target) met-by meets Pointing(? direction) Pointing(? target) meets Turn(? target) meets Pointing(? target) met-by or met-by Pointing(? target) Past Turn (? target)

A Stupid Question Why should CBI perform any better than POCL? • less commitment

A Stupid Question Why should CBI perform any better than POCL? • less commitment • better propagation • timelines

A Stupid Question Why should CBI perform any better than POCL? • less commitment

A Stupid Question Why should CBI perform any better than POCL? • less commitment • better propagation • timelines • reachability analysis • heuristic estimators

Reachability Analysis Graphplan: optimistic projection of achievability level 0 level 1 level 0 level

Reachability Analysis Graphplan: optimistic projection of achievability level 0 level 1 level 0 level 2 level 1 level 3 level 2 … … …

Reachability Analysis [0, ∞] Pointing(Earth) meets [5, ∞] Turn(A 7) [0, ∞] [3, ∞]

Reachability Analysis [0, ∞] Pointing(Earth) meets [5, ∞] Turn(A 7) [0, ∞] [3, ∞] Turn(T 5) [5, ∞] meets Pointing(A 7) [0, 13] [3, ∞] meets [3, ∞] Pointing(T 5) contains Calibrate(Cam 1, T 5) [8, ∞] meets Status(Cam 1, Calibrated) mutex rules more complex (Smith & Weld - IJCAI 99)

Benefits? 1. Pruning during plan construction 2. Basis for heuristic distance measures Mc. Dermott

Benefits? 1. Pruning during plan construction 2. Basis for heuristic distance measures Mc. Dermott (UNPOP) Geffner (HSP-R) RAO

Extracting Heuristic Estimates Distance metrics time required fuel required … [0, ∞] Pointing(Earth) meets

Extracting Heuristic Estimates Distance metrics time required fuel required … [0, ∞] Pointing(Earth) meets [5, ∞] Turn(A 7) [0, ∞] [3, ∞] Turn(T 5) [5, ∞] meets Pointing(A 7) [0, 13] [3, ∞] meets [3, ∞] Pointing(T 5) contains Calibrate(Cam 1, T 5) [8, ∞] meets Status(Cam 1, Calibrated)

Summary Multi-capacity Metric Resources Quantities Graphplan Optimization Continuous Time Speed hard? hard IPP hard?

Summary Multi-capacity Metric Resources Quantities Graphplan Optimization Continuous Time Speed hard? hard IPP hard? hard TGP good SAT planning moderate? moderate LPSAT moderate? very hard? good ILP planning easy? easy ILP-plan very hard? fair? CBI planning moderate Ix. Te. T moderate Zeno moderate? easy HSTS fair?

Critical Issues Multi-capacity Metric Resources Quantities Graphplan Optimization Continuous Time Speed hard? hard IPP

Critical Issues Multi-capacity Metric Resources Quantities Graphplan Optimization Continuous Time Speed hard? hard IPP hard? hard TGP good SAT planning moderate? moderate LPSAT moderate? very hard? good ILP planning easy? easy ILP-plan very hard? fair? CBI planning moderate Ix. Te. T moderate Zeno moderate? easy HSTS fair?