56
Coping with Time & Continuous Quantities David E. Smith [email protected] Collaborators: Jeremy Frank, Ari Jónsson

Coping with Time & Continuous Quantities

  • Upload
    justin

  • View
    18

  • Download
    1

Embed Size (px)

DESCRIPTION

Coping with Time & Continuous Quantities. David E. Smith [email protected]. Collaborators: Jeremy Frank, Ari Jónsson. The Ambitious Spacecraft. Observation-1 priority time window target instruments duration Observation-2 Observation-3 Observation-4 …. Objective: - PowerPoint PPT Presentation

Citation preview

Page 1: Coping with  Time & Continuous Quantities

Coping with Time & Continuous Quantities

David E. Smith

[email protected]

Collaborators:Jeremy Frank, Ari Jónsson

Page 2: Coping with  Time & Continuous Quantities

The Ambitious Spacecraft

Observation-1priority

time windowtargetinstrumentsduration

Observation-2

Observation-3

Observation-4

…Objective:

maximize science return

Page 3: Coping with  Time & Continuous Quantities

Complications

Observation-1priority

time windowtargetinstrumentsduration

Observation-2

Observation-3

Observation-4

calibrationtarget1target2…

consumables:

fuel

power

data storage

cryogen

angle between targets

turn duration

Objective:

maximize science return

lin

ked

Page 4: Coping with  Time & Continuous Quantities

The Spacecraft’s Choices

Observations

Instrument

Calibration target

Ordering

Communication

Instrument Status

Page 5: Coping with  Time & Continuous Quantities

The Spacecraft’s Choices

Observations

Instrument

Calibration target

Ordering

Communication

Instrument statuscontinuous time

time constraints

concurrent actions

metric resources

optimization

Page 6: Coping with  Time & Continuous Quantities

The Choice Spectrum

planningjob-shopscheduling

Page 7: Coping with  Time & Continuous Quantities

The Choice Spectrum

planningjob-shopscheduling

Job1task1 < task2 < task3 < …

Job2

Job3…

R3 R7 R1

Ordering choices only

Page 8: Coping with  Time & Continuous Quantities

The Choice Spectrum

cascading levels of choice

planningjob-shopscheduling

…… … …

… …

Page 9: Coping with  Time & Continuous Quantities

The Choice Spectrum

job-shopscheduling

planningresourcechoices(RCSP)

umfagogginclavitracle

fernambulator5 11

Task1

Task2

Task3

Task4

Task5

Task6

Task8

Task7

[8,17]

Ordering choicesResource choices

Page 10: Coping with  Time & Continuous Quantities

The Choice Spectrum

job-shopscheduling

planning

resourcechoices(RCSP)

alternativeprocesses

process3 process7process8

Task1

Task2

Task3

Task4

Task5

Task6

Task8

Task7

Ordering choicesResource choicesProcess choices

Page 11: Coping with  Time & Continuous Quantities

The Choice Spectrum

planningambitious spacecraftjob-shop

scheduling

resourcechoices(RCSP)

alternativeprocesses

Observation choices

Instrument choices

Calibration target choices

Ordering choices

Communication choices

Instrument status choices

Page 12: Coping with  Time & Continuous Quantities

The Choice Spectrum

planning

Subset Selectionambitious spacecraftobservation schedulingprocess planning

job-shopscheduling

resourcechoices(RCSP)

alternativeprocesses

Page 13: Coping with  Time & Continuous Quantities

Strips Assumptions

Instantaneous actions

No time constraints

No concurrent actions

No continuous quantities

Bleak?

Page 14: Coping with  Time & Continuous Quantities

Some STRIPS Operators

TakeImage (?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 ≠ ?targetEff: ¬Pointing(?direction), Pointing(?target)

no time, no resources

Page 15: Coping with  Time & Continuous Quantities

Outline

Resources

Reusable

Consumable

Time

Uncertainty?

Page 16: Coping with  Time & Continuous Quantities

Resources

Discrete Continuoussingle/multiple (metric)

Reusable instruments bandwidth

Consumable solid rockets fuel

Page 17: Coping with  Time & Continuous Quantities

Reusable Resources(single-capacity)

TakeImage (?target, ?instr):Res: ?instrPre: Status(?instr, Calibrated), Pointing(?target)Eff: Image(?target)

Prevent concurrent actions

Mutual exclusion between actions:Graphplan trivial

Satplan ¬A1 ¬A2

POCL A1<A2 A2<A1

Page 18: Coping with  Time & Continuous Quantities

Reusable Resources(multiple-capacity)

TakeImage (?target, ?instr):Res: ?instrPre: Status(?instr, Calibrated), Pointing(?target)Eff: Image(?target)

Suppose: 2 camerasSimple approach: name the cameras

Mutual exclusion between actions:Graphplan trivial

Satplan ¬A1 ¬A2

POCL ?instr1≠?instr2 A1<A2 A2<A1

Page 19: Coping with  Time & Continuous Quantities

Reusable Resources(multiple-capacity)

TakeImage (?target):Res: Camera(1)Pre: Pointing(?target)Eff: Image(?target)

2 Cameras:Not named

Explicit checking of concurrent actions to ensure:

usage ≤ capacity

Capacity(Camera)=2

Page 20: Coping with  Time & Continuous Quantities

Reusable Resources(multiple-capacity)

usage > capacity

Mutual exclusion between sets of actions:Graphplan n-ary mutex

Satplan ¬(A1 A2 A3 …)

POCL A1<A2 A2<A1 A1<A3 A3<A1 …

Graph TechniquesIxTeT

Profiling heuristicsSadeh, Fox, BeckO-Plan

Page 21: Coping with  Time & Continuous Quantities

Summary

ResourcesReusable

Single-capacity binary mutex easy

Multiple-capacity n-ary mutex tricky

specialized algorithms

search heuristics

Consumable

Time

Uncertainty?

Page 22: Coping with  Time & Continuous Quantities

Consumable Resources

Turn (?target):Pre: Pointing(?direction), ?direction ≠ ?target

Fuel ≥ Angle(?direction,?target) *ConsumptionRateEff: ¬Pointing(?direction), Pointing(?target)

Fuel –= Angle(?direction,?target) *ConsumptionRate

Simple approach:wait until all variables are instantiated

Page 23: Coping with  Time & Continuous Quantities

LP Approaches

Zeno:

open conditions: P1, P2, P3, P4, P5, E1, E2, E3

constraints: Fuel ≤ 10

Simplex

Page 24: Coping with  Time & Continuous Quantities

LP Approaches: LPSAT

Turn (?target):Pre: Pointing(?direction), ?direction ≠ ?target

Fuel ≥ Angle(?direction,?target) *ConsumptionRateEff: ¬Pointing(?direction), Pointing(?target)

Fuel –= Angle(?direction,?target) *ConsumptionRate

¬Turn-T3-T71 v

{Pointing-T31 C11

¬Pointing-T32 Pointing-T72 C22 }

C11 Fuel1 ≥ Angle(T3,T7) *ConsumptionRate

C22 Fuel2 = Fuel1 – Angle(T3,T7) *ConsumptionRate

Simplex

SAT engine

Page 25: Coping with  Time & Continuous Quantities

ILP planning

¬Turn-T3-T71 v

{Pointing-T31 C11

¬Pointing-T32 Pointing-T72 C22 }

C11 Fuel1 ≥ Angle(T3,T7) *ConsumptionRate

C22 Fuel2 = Fuel1 – Angle(T3,T7) *ConsumptionRate

¬Turn-T3-T71 v Pointing-T31

¬Turn-T3-T71 v C11

¬Turn-T3-T71 v ¬ Pointing-T32

¬Turn-T3-T71 v Pointing-T72

¬Turn-T3-T71 v C22

C11 Fuel1 ≥ Angle(T3,T7) *ConsumptionRate

C22 Fuel2 = Fuel1 – Angle(T3,T7) *ConsumptionRate

Kautz & WalserVossen et al.

Page 26: Coping with  Time & Continuous Quantities

ILP planning

(1 - Turn-T3-T71) + Pointing-T31 ≥ 1

M(1 - Turn-T3-T71) + (1 + D11 ) ≥ 1

(1 - Turn-T3-T71) + (1 - Pointing-T32 ) ≥ 1

(1 - Turn-T3-T71) + Pointing-T72 ≥ 1

M(1 - Turn-T3-T71) + (1 ± D21 ) ≥ 1

D11 = Fuel1 – Angle(T3,T7) *ConsumptionRate

D22 = Fuel2 – (Fuel1 – Angle(T3,T7) *ConsumptionRate)

¬Turn-T3-T71 v Pointing-T31

¬Turn-T3-T71 v C11

¬Turn-T3-T71 v ¬ Pointing-T32

¬Turn-T3-T71 v Pointing-T72

¬Turn-T3-T71 v C22

C11 Fuel1 ≥ Angle(T3,T7) *ConsumptionRate

C22 Fuel2 = Fuel1 – Angle(T3,T7) *ConsumptionRate

Page 27: Coping with  Time & Continuous Quantities

Summary

ResourcesReusable

Consumable

Equality and Inequality conditions

POCL + LP slow

SAT + LP fast

ILP medium

Graphplan ?

Concurrent continuous change ugly!

Time

Uncertainty?

Page 28: Coping with  Time & Continuous Quantities

Concurrent Continuous Change

Turn (?target):Pre: Pointing(?direction), ?direction ≠ ?target

Fuel ≥ Angle(?direction,?target) *ConsumptionRateEff: ¬Pointing(?direction), Pointing(?target)

Fuel –= Angle(?direction,?target) *ConsumptionRate

Fuel = F(t) Fu

el

Time

Fu

el

Time

Fu

el

Time

Page 29: Coping with  Time & Continuous Quantities

Outline

Resources

Time

Uncertainty?

Page 30: Coping with  Time & Continuous Quantities

World Description

State-centric:for each time describe propositions that are true

Proposition-centric:for each proposion describe times it is true

Pointing(A7)

Status(Cam2, Calibrated)

Turn(A7)

Pointing(Earth)Status(Cam2, Calibrated)

¬ Image(A7)

Turn(A7) Pointing(A7)Status(Cam2, Calibrated)

¬ Image(A7)

Pointing(Earth)

Page 31: Coping with  Time & Continuous Quantities

Allen’s Ordering Relationships

A BA before B

A BA meets B

A

BA overlaps B

A contains BA

B

A = BA

B

A

BA starts B

A

BA ends B

Page 32: Coping with  Time & Continuous Quantities

TakeImage Schema

TakeImage(?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)}

TakeImage (?target, ?instr):Pre: Status(?instr, Calibrated), Pointing(?target)Eff: Image(?target)

Page 33: Coping with  Time & Continuous Quantities

Shorthand

Pointing(?target)

Status(?instr, Calibrated)

TakeImage(?target, ?instr) Image(?target)meets

contains

contains

TakeImage (?target, ?instr)contained-by Status(?instr, Calibrated)contained-by Pointing(?target)meets Image(?target)

Page 34: Coping with  Time & Continuous Quantities

Turn

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

Pointing(?target)Pointing(?direction) Turn(?target)meetsmeets

Page 35: Coping with  Time & Continuous Quantities

Calibrate

Status(?instr, Calibrated)

Pointing(?target)

CalibrationTarget(?target)

Calibrate(?instr)meetsmeets

contains

contains

Status(?instr, On)

Calibrate (?instr)met-by Status(?instr, On)contained-by CalibrationTarget(?target)contained-by Pointing(?target)meets Status(?instr, Calibrated)

Page 36: Coping with  Time & Continuous Quantities

Algorithm

Choose:

introduce an action & instantiate constraints

coalesce propositions

Propagate constraints

Page 37: Coping with  Time & Continuous Quantities

Initial Plan

Past Image(?target)meets

Pointing(Earth)

Status(Cam1, Off)

Status(Cam2, On)

CalibrationTarget(T17)

Futuremeets

-∞ ∞

Page 38: Coping with  Time & Continuous Quantities

Expansion 1

Image(A7) Futuremeets

Past meets

Pointing(Earth)

Status(Cam1, Off)

Status(Cam2, On)

CalibrationTarget(T17)

Pointing(A7)

Status(?instr, Calibrated)

TakeImage(A7, ?instr)meets

contains

contains

before

Page 39: Coping with  Time & Continuous Quantities

Expansion 2

Pointing(Earth)

Status(Cam1, Off)

Status(Cam2, On)

CalibrationTarget(T17)

Image(A7)

Pointing(A7)

Status(?instr, Calibrated)

TakeImage(A7, ?instr)meets

contains

contains

Pointing(?direction) Turn(A7)

Pointing(?caltarget)

CalibrationTarget(?caltarget)

Calibrate(?instr)

meetsmeets

meetsmeets

contains

contains

Status(?instr, On)

before

Page 40: Coping with  Time & Continuous Quantities

Coalescing

Pointing(Earth)

Status(Cam1, Off)

Status(Cam2, On)

CalibrationTarget(T17)

Image(A7)

Pointing(A7)

Status(Cam2, Calibrated)

TakeImage(A7, Cam2)meets

contains

contains

Pointing(?direction) Turn(A7)

Pointing(T17)

Calibrate(Cam2)

meetsmeets

meetsmeets

contains

contains

before before

Page 41: Coping with  Time & Continuous Quantities

Coalescing

Pointing(Earth)

Status(Cam1, Off)

Status(Cam2, On)

CalibrationTarget(T17)

Image(A7)

Pointing(A7)

Status(Cam2, Calibrated)

TakeImage(A7, Cam2)meets

contains

contains

Turn(A7)

Pointing(T17)

Calibrate(Cam2)

meets

meets

meetsmeets

contains

contains

before

Page 42: Coping with  Time & Continuous Quantities

Expansion 3

Pointing(Earth)

Status(Cam1, Off)

Status(Cam2, On)

CalibrationTarget(T17)

Image(A7)

Pointing(A7)

Status(Cam2, Calibrated)

TakeImage(A7, Cam2)meets

contains

contains

Turn(A7)

Pointing(T17)

Calibrate(Cam2)

meets

meets

meetsmeets

contains

contains

Turn(T17)meets

meets

Pointing(?direction)

Page 43: Coping with  Time & Continuous Quantities

Coalescing

Pointing(Earth)

Status(Cam1, Off)

Status(Cam2, On)

CalibrationTarget(T17)

Image(A7)

Pointing(A7)

Status(Cam2, Calibrated)

TakeImage(A7, Cam2)meets

contains

contains

Turn(A7)

Pointing(T17)

Calibrate(Cam2)

meets

meets

meetsmeets

contains

contains

Turn(T17)meets

meets

Page 44: Coping with  Time & Continuous Quantities

POCL vs CBI

POCL CBI

search goal-directed goal-directedstrategy

temporal before/after complexreasoning

protection causal links meets

conflicts threats mutex

conflict proactive lazyresolution

Page 45: Coping with  Time & Continuous Quantities

Causal Links & Threats

propositionaction

meets meetsactionaction action

proposition

action actionproposition

action

threatens

proposition

action

action

proposition

mutex

POCL CBI

Causal links:

Threats:

Page 46: Coping with  Time & Continuous Quantities

CBI Planners

Zeno (Penberthy) intervals, no CSP

Trains (Allen)

Descartes (Joslin) extreme least commitment

IxTeT (Ghallab) functional rep.

HSTS (Muscettola) functional rep., activities

Page 47: Coping with  Time & Continuous Quantities

Timelines

Pointing=Turn (?target)met-by Pointing=?directionmeets Pointing=?target

Earth A7Turn(A7)

T17

?direction

?

Pointing:

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

Page 48: Coping with  Time & Continuous Quantities

Explanatory Frame Axioms

Pointing(?target)met-by Pastormet-by Turn (?target)

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

Pointing(?target)Pointing(?direction) Turn(?target)meetsmeets

Page 49: Coping with  Time & Continuous Quantities

A Stupid Question

Why should CBI perform any better than POCL?

• less commitment

• better propagation

• timelines

Page 50: Coping with  Time & Continuous Quantities

A Stupid Question

Why should CBI perform any better than POCL?

• less commitment

• better propagation

• timelines

• reachability analysis

• heuristic estimators

Page 51: Coping with  Time & Continuous Quantities

Reachability Analysis

Graphplan:optimistic projection of achievability

level 0 level 1 level 2 level 3

level 0 level 1 level 2

Page 52: Coping with  Time & Continuous Quantities

Reachability Analysis

Pointing(Earth) Pointing(A7)

Calibrate(Cam1,T5) Status(Cam1, Calibrated)meets

contains

Turn(A7)meets

[0, ∞] [0, ∞] [5, ∞]meets

[5, ∞]

Pointing(T5)Turn(T5)

[3, ∞]meets

[3, ∞]meets [0, ∞]

[3, ∞] [8, ∞]

[0, 13]

mutex rules more complex (Smith & Weld - IJCAI99)

Page 53: Coping with  Time & Continuous Quantities

Benefits?

1. Pruning during plan construction

2. Basis for heuristic distance measuresMcDermott (UNPOP)

Geffner (HSP-R)

RAO

Page 54: Coping with  Time & Continuous Quantities

Extracting Heuristic Estimates

Pointing(Earth) Pointing(A7)

Calibrate(Cam1,T5) Status(Cam1, Calibrated)meets

contains

Turn(A7)meets

[0, ∞] [0, ∞] [5, ∞]meets

[5, ∞]

Pointing(T5)Turn(T5)

[3, ∞]meets

[3, ∞]meets [0, ∞]

[3, ∞] [8, ∞]

[0, 13]

Distance metricstime requiredfuel required…

Page 55: Coping with  Time & Continuous Quantities

Summary

Multi-capacity Metric Optimization Continuous Speed Resources Quantities Time

Graphplan hard? hard hard? hard good IPP TGP

SAT moderate? moderate moderate? very hard? goodplanning LPSAT

ILP easy? easy easy very hard? fair?planning ILP-plan ILP-plan

CBI moderate moderate moderate? easy fair?planning IxTeT Zeno HSTS

Page 56: Coping with  Time & Continuous Quantities

Critical Issues

Multi-capacity Metric Optimization Continuous Speed Resources Quantities Time

Graphplan hard? hard hard? hard good IPP TGP

SAT moderate? moderate moderate? very hard? goodplanning LPSAT

ILP easy? easy easy very hard? fair?planning ILP-plan ILP-plan

CBI moderate moderate moderate? easy fair?planning IxTeT Zeno HSTS