Coping with Time & Continuous Quantities David E. Smith Collaborators: Jeremy Frank, Ari Jónsson.

Slides:



Advertisements
Similar presentations
Practical Planning: Scheduling and Hierarchical Task Networks Chapter CS 63 Adapted from slides by Tim Finin and Marie desJardins.
Advertisements

REVIEW : Planning To make your thinking more concrete, use a real problem to ground your discussion. –Develop a plan for a person who is getting out of.
Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
Fragment-Based Conformant Planning James Kurien Palo Alto Research Center Pandu NayakStratify, Inc. David E. SmithNASA Ames Research Center.
CLASSICAL PLANNING What is planning ?  Planning is an AI approach to control  It is deliberation about actions  Key ideas  We have a model of the.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
1 Graphplan José Luis Ambite * [* based in part on slides by Jim Blythe and Dan Weld]
Plan Generation & Causal-Link Planning 1 José Luis Ambite.
Planning with Resources at Multiple Levels of Abstraction Brad Clement, Tony Barrett, Gregg Rabideau Artificial Intelligence Group Jet Propulsion Laboratory.
Graph-based Planning Brian C. Williams Sept. 25 th & 30 th, J/6.834J.
Planning Graphs * Based on slides by Alan Fern, Berthe Choueiry and Sungwook Yoon.
Planning and Scheduling. 2 USC INFORMATION SCIENCES INSTITUTE Some background Many planning problems have a time-dependent component –  actions happen.
Planning CSE 473 Chapters 10.3 and 11. © D. Weld, D. Fox 2 Planning Given a logical description of the initial situation, a logical description of the.
Slides compliments of Dave Smith, NASA Ames Handling Time: Constraint-based Interval Planning Compliments: David E. Smith
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Happy Spring Break!. Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
CSE 5731 Lecture 21 State-Space Search vs. Constraint- Based Planning CSE 573 Artificial Intelligence I Henry Kautz Fall 2001.
1 Planning. R. Dearden 2007/8 Exam Format  4 questions You must do all questions There is choice within some of the questions  Learning Outcomes: 1.Explain.
Planning II CSE 473. © Daniel S. Weld 2 Logistics Tournament! PS3 – later today Non programming exercises Programming component: (mini project) SPAM detection.
Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.
Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of.
Integrating Planning & Scheduling Subbarao Kambhampati Scheduling: The State of the Art.
1 BLACKBOX: A New Approach to the Application of Theorem Proving to Problem Solving Bart Selman Cornell University Joint work with Henry Kautz AT&T Labs.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Classical Planning via State-space search COMP3431 Malcolm Ryan.
RePOP: Reviving Partial Order Planning
Planning II CSE 573. © Daniel S. Weld 2 Logistics Reading for Wed Ch 18 thru 18.3 Office Hours No Office Hour Today.
PLANNING Partial order regression planning Temporal representation 1 Deductive planning in Logic Temporal representation 2.
For Wednesday Read chapter 12, sections 3-5 Program 2 progress due.
Jonathon Doran. The Planning Domain A domain describes the objects, facts, and actions in the universe. We may have a box and a table in our universe.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Homework 1 ( Written Portion )  Max : 75  Min : 38  Avg : 57.6  Median : 58 (77%)
Using Abstraction in Multi-Rover Scheduling Bradley J. Clement and Anthony C. Barrett Artificial Intelligence Group Jet Propulsion Laboratory {bclement,
1 The LPSAT Engine and its Application to Metric Planning Steve Wolfman University of Washington CS&E Advisor: Dan Weld.
Midterm Review Prateek Tandon, John Dickerson. Basic Uninformed Search (Summary) b = branching factor d = depth of shallowest goal state m = depth of.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Introduction to Planning Dr. Shazzad Hosain Department of EECS North South Universtiy
June 6 th, 2005 ICAPS-2005 Workshop on Constraint Programming for Planning and Scheduling 1/12 Stratified Heuristic POCL Temporal Planning based on Planning.
CS 5411 Compilation Approaches to AI Planning 1 José Luis Ambite* Some slides are taken from presentations by Kautz and Selman. Please visit their.
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
RePOP: Reviving Partial Order Planning XuanLong Nguyen & Subbarao Kambhampati Yochan Group:
Classical Planning Chapter 10 Mausam / Andrey Kolobov (Based on slides of Dan Weld, Marie desJardins)
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Continuous Time and Resource Uncertainty CSE 574 Lecture Spring ’03 Stefan B. Sigurdsson.
Robust Planning using Constraint Satisfaction Techniques Daniel Buettner and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science.
© Daniel S. Weld 1 Logistics Travel Wed class led by Mausam Week’s reading R&N ch17 Project meetings.
1 CMSC 471 Fall 2004 Class #21 – Thursday, November 11.
Graphplan CSE 574 April 4, 2003 Dan Weld. Schedule BASICS Intro Graphplan SATplan State-space Refinement SPEEDUP EBL & DDB Heuristic Gen TEMPORAL Partial-O.
Temporal Planning with Continuous Change J.Scott Penbrethy Daniel S. Weld Presented by - Parag.
AAAI of 20 Deconstructing Planning as Satisfiability Henry Kautz University of Rochester in collaboration with Bart Selman and Jöerg Hoffmann.
EMGT 5412 Operations Management Science Nonlinear Programming: Introduction Dincer Konur Engineering Management and Systems Engineering 1.
1 Chapter 6 Planning-Graph Techniques. 2 Motivation A big source of inefficiency in search algorithms is the branching factor  the number of children.
Planning as Satisfiability
Planning as Search State Space Plan Space Algorihtm Progression
RePOP: Reviving Partial Order Planning
Temporal Graphplan David E. Smith & Dan Weld.
Class #17 – Thursday, October 27
Planning José Luis Ambite.
Graphplan/ SATPlan Chapter
Planning Problems On(C, A)‏ On(A, Table)‏ On(B, Table)‏ Clear(C)‏
Class #19 – Monday, November 3
Class #20 – Wednesday, November 5
Graphplan/ SATPlan Chapter
Graphplan/ SATPlan Chapter
GraphPlan Jim Blythe.
[* based in part on slides by Jim Blythe and Dan Weld]
Presentation transcript:

Coping with Time & Continuous Quantities David E. Smith 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 time window target instruments duration Observation-2 Observation-3 Observation-4 … calibration target1 target2 … consumables: fuel power data storage cryogen angle between targets  turn duration Objective: maximize science return linked

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 time constraints concurrent actions metric resources optimization

The Choice Spectrum planning job-shop scheduling

The Choice Spectrum planning job-shop scheduling Job1 task1 < task2 < task3 < … Job2 Job3 … R3R7R1 Ordering choices only

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

The Choice Spectrum job-shop scheduling planning resource choices (RCSP) umfagoggin clavitracle fernambulator 5 11 Task1 Task2 Task3 Task4 Task5 Task6 Task8 Task7 [8,17] Ordering choices Resource choices

The Choice Spectrum job-shop scheduling planning resource choices (RCSP) alternative processes process3process7 process8 Task1 Task2 Task3 Task4 Task5 Task6 Task8 Task7 Ordering choices Resource choices Process choices

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

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

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

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 ≠ ?target Eff: ¬Pointing(?direction), Pointing(?target) no time, no resources

Outline Resources Reusable Consumable Time Uncertainty?

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

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

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

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

Reusable Resources (multiple-capacity)  usage > capacity Mutual exclusion between sets of actions: Graphplan n-ary mutex Satplan ¬(A 1  A 2  A 3  …) POCLA 1 <A 2  A 2 <A 1  A 1 <A 3  A 3 <A 1  … Graph Techniques IxTeT Profiling heuristics Sadeh, Fox, Beck O-Plan

Summary Resources Reusable Single-capacity  binary mutexeasy Multiple-capacity  n-ary mutextricky specialized algorithms search heuristics Consumable Time Uncertainty?

Consumable Resources Turn (?target): Pre:Pointing(?direction), ?direction ≠ ?target Fuel ≥ Angle(?direction,?target) *ConsumptionRate Eff:¬Pointing(?direction), Pointing(?target) Fuel –= Angle(?direction,?target) *ConsumptionRate 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:Pointing(?direction), ?direction ≠ ?target Fuel ≥ Angle(?direction,?target) *ConsumptionRate Eff:¬Pointing(?direction), Pointing(?target) Fuel –= Angle(?direction,?target) *ConsumptionRate ¬Turn-T3-T7 1 v {Pointing-T3 1  C1 1  ¬Pointing-T3 2  Pointing-T7 2  C2 2 } C1 1  Fuel 1 ≥ Angle(T3,T7) *ConsumptionRate C2 2  Fuel 2 = Fuel 1 – Angle(T3,T7) *ConsumptionRate Simplex SAT engine

ILP planning ¬Turn-T3-T7 1 v {Pointing-T3 1  C1 1  ¬Pointing-T3 2  Pointing-T7 2  C2 2 } C1 1  Fuel 1 ≥ Angle(T3,T7) *ConsumptionRate C2 2  Fuel 2 = Fuel 1 – Angle(T3,T7) *ConsumptionRate ¬Turn-T3-T7 1 v Pointing-T3 1 ¬Turn-T3-T7 1 v C1 1 ¬Turn-T3-T7 1 v ¬ Pointing-T3 2 ¬Turn-T3-T7 1 v Pointing-T7 2 ¬Turn-T3-T7 1 v C2 2 C1 1  Fuel 1 ≥ Angle(T3,T7) *ConsumptionRate C2 2  Fuel 2 = Fuel 1 – Angle(T3,T7) *ConsumptionRate Kautz & Walser Vossen et al.

ILP planning (1 - Turn-T3-T7 1 ) + Pointing-T3 1 ≥ 1 M(1 - Turn-T3-T7 1 ) + (1 + D1 1 ) ≥ 1 (1 - Turn-T3-T7 1 ) + (1 - Pointing-T3 2 ) ≥ 1 (1 - Turn-T3-T7 1 ) + Pointing-T7 2 ≥ 1 M(1 - Turn-T3-T7 1 ) + (1 ± D2 1 ) ≥ 1 D1 1 = Fuel 1 – Angle(T3,T7) *ConsumptionRate D2 2 = Fuel 2 – (Fuel 1 – Angle(T3,T7) *ConsumptionRate) ¬Turn-T3-T7 1 v Pointing-T3 1 ¬Turn-T3-T7 1 v C1 1 ¬Turn-T3-T7 1 v ¬ Pointing-T3 2 ¬Turn-T3-T7 1 v Pointing-T7 2 ¬Turn-T3-T7 1 v C2 2 C1 1  Fuel 1 ≥ Angle(T3,T7) *ConsumptionRate C2 2  Fuel 2 = Fuel 1 – Angle(T3,T7) *ConsumptionRate

Summary Resources Reusable Consumable Equality and Inequality conditions POCL + LPslow SAT + LPfast ILP medium Graphplan? Concurrent continuous changeugly! Time Uncertainty?

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

Outline Resources Time Uncertainty?

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)

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

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)

Shorthand Pointing(?target) Status(?instr, Calibrated) TakeImage(?target, ?instr) Image(?target) meets contains TakeImage (?target, ?instr) contained-byStatus(?instr, Calibrated) contained-byPointing(?target) meetsImage(?target)

Turn Turn (?target) met-byPointing(?direction) meetsPointing(?target) Pointing(?target) Pointing(?direction) Turn(?target) meets

Calibrate Status(?instr, Calibrated) Pointing(?target) CalibrationTarget(?target) Calibrate(?instr) meets contains Status(?instr, On) Calibrate (?instr) met-byStatus(?instr, On) contained-byCalibrationTarget(?target) contained-byPointing(?target) meetsStatus(?instr, Calibrated)

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

Initial Plan PastImage(?target) meets Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) Future meets -∞ ∞

Expansion 1 Image(A7)Future meets Past meets Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) -∞ ∞ Pointing(A7) Status(?instr, Calibrated) TakeImage(A7, ?instr) meets contains before

Expansion 2 Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) Image(A7) Pointing(A7) Status(?instr, Calibrated) TakeImage(A7, ?instr) meets contains Pointing(?direction) Turn(A7) Pointing(?caltarget) CalibrationTarget(?caltarget) Calibrate(?instr) meets contains Status(?instr, On) before

Coalescing Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) Image(A7) Pointing(A7) Status(Cam2, Calibrated) TakeImage(A7, Cam2) meets contains Pointing(?direction) Turn(A7) Pointing(T17) Calibrate(Cam2) meets contains before

Coalescing Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) Image(A7) Pointing(A7) Status(Cam2, Calibrated) TakeImage(A7, Cam2) meets contains Turn(A7) Pointing(T17) Calibrate(Cam2) meets contains before

Expansion 3 Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) Image(A7) Pointing(A7) Status(Cam2, Calibrated) TakeImage(A7, Cam2) meets contains Turn(A7) Pointing(T17) Calibrate(Cam2) meets contains Turn(T17) meets Pointing(?direction)

Coalescing Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) Image(A7) Pointing(A7) Status(Cam2, Calibrated) TakeImage(A7, Cam2) meets contains Turn(A7) Pointing(T17) Calibrate(Cam2) meets contains Turn(T17) meets

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

Causal Links & Threats proposition action meets action proposition action proposition action threatens proposition action proposition mutex POCLCBI Causal links: Threats :

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

Timelines Pointing=Turn (?target) met-byPointing=?direction meetsPointing=?target EarthA7Turn(A7) T17 ?direction ? Pointing: Turn (?target) met-byPointing(?direction) meetsPointing(?target)

Explanatory Frame Axioms Pointing(?target) met-byPast or met-byTurn (?target) Turn (?target) met-byPointing(?direction) meetsPointing(?target) Pointing(?target) Pointing(?direction) Turn(?target) meets

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 0level 1level 2level 3 level 0level 1level 2

Reachability Analysis Pointing(Earth) Pointing(A7) Calibrate(Cam1,T5) Status(Cam1, Calibrated) meets contains Turn(A7) meets [0, ∞] [5, ∞] meets [5, ∞] Pointing(T5) Turn(T5) [3, ∞] meets [3, ∞] meets [0, ∞] [3, ∞] [8, ∞] [0, 13] mutex rules more complex (Smith & Weld - IJCAI99)

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

Extracting Heuristic Estimates Pointing(Earth) Pointing(A7) Calibrate(Cam1,T5) Status(Cam1, Calibrated) meets contains Turn(A7) meets [0, ∞] [5, ∞] meets [5, ∞] Pointing(T5) Turn(T5) [3, ∞] meets [3, ∞] meets [0, ∞] [3, ∞] [8, ∞] [0, 13] Distance metrics time required fuel required …

Summary Multi-capacity MetricOptimizationContinuousSpeed ResourcesQuantities Time Graphplan hard? hard hard? hardgood IPP TGP SAT moderate?moderatemoderate?very hard?good planning LPSAT ILP easy? easy easyvery hard? fair? planning ILP-plan ILP-plan CBImoderate moderatemoderate? easy fair? planning IxTeT Zeno HSTS

Critical Issues Multi-capacity MetricOptimizationContinuousSpeed ResourcesQuantities Time Graphplan hard? hard hard? hardgood IPP TGP SAT moderate?moderatemoderate?very hard?good planning LPSAT ILP easy? easy easyvery hard? fair? planning ILP-plan ILP-plan CBImoderate moderatemoderate? easy fair? planning IxTeT Zeno HSTS