Coping with Time Continuous Quantities David E Smith



















































![Reachability Analysis [0, ∞] Pointing(Earth) meets [5, ∞] Turn(A 7) [0, ∞] [3, ∞] Reachability Analysis [0, ∞] Pointing(Earth) meets [5, ∞] Turn(A 7) [0, ∞] [3, ∞]](https://slidetodoc.com/presentation_image_h2/23e3611327eb3a75a94c91b71140201b/image-52.jpg)

![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](https://slidetodoc.com/presentation_image_h2/23e3611327eb3a75a94c91b71140201b/image-54.jpg)


- Slides: 56
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 … Objective: maximize science return
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 continuous time constraints concurrent actions metric resources optimization
The Choice Spectrum job-shop scheduling planning
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 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 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 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 spacecraft observation scheduling process planning
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(? 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?
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(? 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 (? 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: 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 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 heuristics Consumable Time Uncertainty?
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 5, E 1, E 2, E 3 constraints: Fuel ≤ 10 Simplex
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 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 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 + LP fast ILP medium Graphplan ? Concurrent continuous change ugly! Time Uncertainty?
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?
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 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(? 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) 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(? 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
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, ? 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, ? 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 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 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 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 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 links meets conflicts threats mutex conflict resolution proactive lazy
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 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 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(? 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 • better propagation • timelines
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 2 level 1 level 3 level 2 … … …
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 (UNPOP) Geffner (HSP-R) RAO
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? 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 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?