Planning, Executing, Sensing, and Replanning for Information Gathering Presented by Hector Gonzalez (Based on slides from Craig Knoblock and L. Joskowicz)

Slides:



Advertisements
Similar presentations
Forward-Chaining Partial-Order Planning Amanda Coles, Andrew Coles, Maria Fox and Derek Long (to appear, ICAPS 2010)
Advertisements

Language for planning problems
Chapter 5 Plan-Space Planning.
Planning II: Partial Order Planning
Causal-link Planning II José Luis Ambite. 2 CS 541 Causal Link Planning II Planning as Search State SpacePlan Space AlgorithmProgression, Regression POP.
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.
Classical Planning via Plan-space search COMP3431 Malcolm Ryan.
Plan Generation & Causal-Link Planning 1 José Luis Ambite.
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
PLANNING IN AI. Determine the set of steps that are necessary to achieve a goal Some steps might be conditional, i.e., they are only taken when a set.
Best-First Search: Agendas
Chapter 4 - Planning 4.1 State Space Planning 4.2 Partial Order Planning 4.3Planning in the Real World Part II: Methods of AI.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
Planning: Part 2 Partial Order Planning COMP151 April 2, 2007.
Artificial Intelligence Chapter 11: Planning
Intro to AI Fall 2002 © L. Joskowicz 1 Introduction to Artificial Intelligence LECTURE 13: Advanced Planning Motivation: least commitment principle Partial-order.
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 Planning is a special case of reasoning We want to achieve some state of the world Typical example is robotics Many thanks to Robin Burke, University.
CS 561, Session Planning Search vs. planning STRIPS operators Partial-order planning.
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
Planning Department of Computer Science & Engineering Indian Institute of Technology Kharagpur.
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.
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
1 Plan-Space Planning Dr. Héctor Muñoz-Avila Sources: Ch. 5 Appendix A Slides from Dana Nau’s lecture.
1 07. The planning problem 2  Inputs: 1. A description of the world state 2. The goal state description 3. A set of actions  Output: A sequence of actions.
An Integration Framework for Sensor Networks and Data Stream Management Systems.
Homework 1 ( Written Portion )  Max : 75  Min : 38  Avg : 57.6  Median : 58 (77%)
Access Path Selection in a Relational Database Management System Selinger et al.
CS.462 Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 07 : Planning.
For Friday Finish Chapter 18 Homework: –Chapter 18, exercises 1-2.
EEC4133 Computer Organization & Architecture Chapter 6: Languages and the Machine by Muhazam Mustapha, May 2014.
1 CS 430 Database Theory Winter 2005 Lecture 16: Inside a DBMS.
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
For Monday Read chapter 12, sections 1-2 Homework: –Chapter 10, exercise 3.
For Friday Finish chapter 10 No homework. Program 2 Any questions?
For Friday No reading Homework: –Chapter 11, exercise 4.
Planning (Chapter 10)
Lecture 3-1CS251: Intro to AI/Lisp II Planning to Learn, Learning to Plan.
Automated Planning and Decision Making Prof. Ronen Brafman Automated Planning and Decision Making Partial Order Planning Based on slides by: Carmel.
Partial Order Planning 1 Brian C. Williams J/6.834J Sept 16 th, 2002 Slides with help from: Dan Weld Stuart Russell & Peter Norvig.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Partial Order Plan Execution 1 Brian C. Williams J/6.834J Sept. 16 th, 2002 Slides with help from: Dan Weld Stuart Russell & Peter Norvig.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
Consider the task get milk, bananas, and a cordless drill.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
CSE573 Autumn /11/98 Planning Administrative –PS3 due 2/23 –Midterm Friday Last time –regression planning algorithm –introduction to plan-space.
LECTURE 19 Subroutines and Parameter Passing. ABSTRACTION Recall: Abstraction is the process by which we can hide larger or more complex code fragments.
Planning (Chapter 10) Slides by Svetlana Lazebnik, 9/2016 with modifications by Mark Hasegawa-Johnson, 9/2017
For Wednesday Read Chapter 18, sections 1-3 Homework:
Planning (Chapter 10)
Planning Search vs. planning STRIPS operators Partial-order planning
Dana S. Nau University of Maryland 3:10 AM September 12, 2018
Planning (Chapter 10)
Dana S. Nau University of Maryland 1:50 AM September 14, 2018
Consider the task get milk, bananas, and a cordless drill
Planning Search vs. planning STRIPS operators Partial-order planning
Knowledge Representation
Planning Search vs. planning STRIPS operators Partial-order planning
AI Planning.
Planning José Luis Ambite.
CIS 488/588 Bruce R. Maxim UM-Dearborn
© James D. Skrentny from notes by C. Dyer, et. al.
Course Outline Advanced Introduction Expert Systems Topics Problem
Causal-link planning 2 Jim Blythe.
Multidisciplinary Optimization
Presentation transcript:

Planning, Executing, Sensing, and Replanning for Information Gathering Presented by Hector Gonzalez (Based on slides from Craig Knoblock and L. Joskowicz) Craig Knoblock and L. Joskowicz)

Motivation: SIMS Information Mediator Information Mediator “Anywhere” Information Retrieval Decision Support Automatic Planners SIMS Knowledge Bases Local Databases Internet Computer Programs

Information Gathering GIVEN: Unifying domain ontology Description of the contents of sources PROBLEM: How to plan and execute information queries many sources, possibly overlapping distributed and heterogeneous environment sources may be unavailable or fail asynchronous queries efficient access is critical

The Approach Cast the information gathering task as a planning problem Build on and extend a Partial Order Planner (UCPOP) with: parallel execution interleaved and simultaneous planning and execution asynchronous goals replanning for failures sensing to gather additional information

What is a partial order planner?

Partial Order Planner: Overview Search through the space of plans. Regression planning: work from goal to start Start from the initial plan, add one step (operator) in each iteration Add only steps that serve to achieve a precondition that has not been achieved yet. Keep track of interactions with causal links. When a conflict occurs, resolve it by imposing an order between steps Keep track of all choice points and backtrack as necessary

Example: shopping for groceries SM = Supermarket HWS = Hardware Store Steps: {Start: Op(Action: Start, Effect: At(Home) /\ Sells(HWS,Drill) /\ Sells(SM,Milk) /\ Sells(SM,Banana), Finish: Op(Action: Finish, Precond: At(Home) /\ Have(Drill) /\ Have(Milk) /\ Have(Banana)}

Actions: Go and Buy Op(Action: Go(there) Precond: At(here) Effect:At(there) /\ ~ At(here)) Op(Action: Buy(x) Precond: At(store) /\ Sells(store,x) Effect:Have(x) Go(there) At(here) At(there) ~At(here) Buy(x) At(store) Sells(store(x) Have(x)

Plan to achieve three preconditions Have(Milk)Have(Ban.) Have(Drill) At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.) Bold links are causal links Light links are ordering links

Instantiation and causal links {s/SM} {s/HWS} Causal links can be added because there is no conflict! No ordering is necessary At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.) Have(Milk) Have(Ban.)Have(Drill)

Next step: get to the store At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.) At(HWS) ~At(x) At(SM) ~At(x) Have(Milk)Have(Ban.) Have(Drill)

Instantiation and causal links {x/Home} At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.) At(HWS) ~At(Home)At(SM) ~At(Home) Have(Milk)Have(Ban.)Have(Drill) Flawed plan! Causal links conflict: cannot be in two places simultaneously ! Re-ordering is necessary

Soving causal link conflicts ccc Promotion and demotion sequentialize actions

After threat resolution (demotion) At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.) At(HWS)At(SM) Have(Milk)Have(Ban.)At(Home)Have(Drill)

Final Solution Have(Milk)Have(Ban.) At(SM) At(Home) Have(Drill) At(HWS) At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.)

POP algorithm (1) function POP(initial,goal,operators) returns plan plan := Make-Minimal-Plan(initial,goal) loop do if Solution?(plan) then return plan (S-need,c) := Select-Sub-Goal(plan) Choose-Operator(plan,operators,S-need,c) Resolve-Threats(plan) end function Select-Subgoal(plan) returns (S-need,c) pick a plan step S-need from STEPS( plan) with a precondition c that has not been achieved returns (S-need,c)

POP algorithm (2) procedure Choose-Operator(plan,operators,S-need,c) choose (a step S-add from operators) or ( STEPS (plan) that has c as an effect) if there is no such step then fail add causal link (S-add -- c --> S-need) to LINKS (plan) add ordering constraint S-add < S-need to ORDERINGS( plan) if S-add is a newly added step from operators then add S-add to STEPS( plan) add Start < S-add < Finish to ORDERINGS( plan) procedure Resolve-Threats(plan) for each S-threat that threatens a link (Si -- c --> Sj) in LINKS (plan) do choose either Promotion: add S-threat < Si to ORDERINGS (plan) Demotion: add Sj < S-threat to ORDERINGS (plan) if not Consistent(plan) then fail

Back to information gathering...

Example Query What are the names of all ports that have sufficiently deep channels to accommodate Breakbulk ships  (retrieve (?name) (:and (ship ?ship) (type-name ?ship “breakbulk”) (draft ?ship ?draft) (port ?port) (channel-depth ?port ?depth) (port-name ?port ?name) (< ?draft ?depth)))

An Information Goal (available output (retrieve (?name) (:and (ship ?ship) (type-name ?ship “breakbulk”) (draft ?ship ?draft) (port ?port) (channel-depth ?port ?depth) (port-name ?port ?name) (< ?draft ?depth)))) Goal: Description of the data required Desired location Example

Information Gathering Operators Operators: Move -- moves data from one server to another Join -- combines two sets of data Translate -- select a source and translate the results (define (operator join) :parameters (?join-op ?data ?data-a ?data-b) :precondition (:and (join-partition ?data ?join-op ?data-a ?data-b) (available local ?data-a) (available local ?data-b)) :effect (available local ?data))

Searching the Space of Plans Operators allow only relevant search space e.g., only considers joins across sources Branch-and-bound search expands the lowest-cost plan on each iteration produces the optimal plan Good evaluation function estimates based on size and cardinality information exploits standard database estimation techniques

An Example Plan Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source: GEO Translate Source: GEO Translate Source:ASSETS Translate Source:ASSETS Join (< max-draft channel-depth) Join (< max-draft channel-depth) Move From: LOCAL To: OUTPUT Data: port-name Move From: LOCAL To: OUTPUT Data: port-name

Planning and Execution in Sage Built on UCPOP Planner [Weld et al.] Support for simultaneous actions [Knoblock ‘94] Interleaving of execution and planning [Ambros-Ingerson ‘87] Planning for asynchronous goals Replanning failed actions Sensing with run-time variables [Etzioni et al., ‘92]

Simultaneous Execution Queries to different information sources can be executed simultaneously To support this requires: Explicit resource requirements on actions Adding ordering constraints to avoid conflicts Executing each action as a separate process Unordered actions in a plan can be executed in parallel

Simultaneous Execution Planned Executing Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source: GEO Translate Source: GEO Translate Source:ASSETS Translate Source:ASSETS Join (< max-draft channel-depth) Join (< max-draft channel-depth) Move From: LOCAL To: OUTPUT Data: port-name Move From: LOCAL To: OUTPUT Data: port-name

Interleaved and Simultaneous Planning and Execution Execution is part of the planning process Each action is either: unexecuted, executing, completed, or failed Planner is done once the action that achieves the goal is completed Executing an action commits to the corresponding plan Delays execution as long as possible Allows planning and execution to be performed simultaneously

Planning and Execution Algorithm Select from the possible plans and apply first applicable: Possible conflict? Add possible ordering constraints Unachieved goal? Add possible operators to achieve goal Completed action? Success? Record results Failure? Remove failed actions and update model Pending goal? Add goal to unachieved goals Executable action? Initiate execution and discard alternative plans

Planning for Asynchronous Goals Information requests can arise during execution Adds request to the set of top-level goals Augments executing plan to solve new goal Orders actions to avoid conflicts Exploits any overlap

Planning for Asynchronous Goals Planned Executing Completed Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source: GEO Translate Source: GEO Translate Source:ASSETS Translate Source:ASSETS Join (< max-draft channel-depth) Join (< max-draft channel-depth) Move From: LOCAL To: OUTPUT Data: port-name Move From: LOCAL To: OUTPUT Data: port-name (retrieve (?desc) (:and (port ?port) (description ?port ?desc) (port-name ?port “Long Beach”)))

Planning for Asynchronous Goals Translate Source: GEO Translate Source: GEO Move From: To: OUTPUT Data: port-description Move From: To: OUTPUT Data: port-description Planned Executing Completed Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source: GEO Translate Source: GEO Translate Source:ASSETS Translate Source:ASSETS Join (< max-draft channel-depth) Join (< max-draft channel-depth) Move From: LOCAL To: OUTPUT Data: port-name Move From: LOCAL To: OUTPUT Data: port-name

Replanning Failed Actions Actions may fail Current state is updated to reflect problem Plan updated to indicate unachieved goals Unachieved goals are then replanned Preserves completed work and work in progress

Replanning Failed Actions Planned Executing Completed Failed Translate Source: GEO Translate Source: GEO Move From: To: OUTPUT Data: port-description Move From: To: OUTPUT Data: port-description Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source: GEO Translate Source: GEO Translate Source:ASSETS Translate Source:ASSETS Join (< max-draft channel-depth) Join (< max-draft channel-depth) Move From: LOCAL To: OUTPUT Data: port-name Move From: LOCAL To: OUTPUT Data: port-name

Replanning Failed Actions Planned Executing Completed Failed Translate Source: GEO Translate Source: GEO Move From: To: OUTPUT Data: port-description Move From: To: OUTPUT Data: port-description Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source:ASSETS Translate Source:ASSETS Join (< max-draft channel-depth) Join (< max-draft channel-depth) Move From: LOCAL To: OUTPUT Data: port-name Move From: LOCAL To: OUTPUT Data: port-name

Replanning Failed Actions Planned Executing Completed Failed Translate Source: GEO Translate Source: GEO Move From: To: OUTPUT Data: port-description Move From: To: OUTPUT Data: port-description Move From: To: LOCAL Data: port-name channel-depth Move From: To: LOCAL Data: port-name channel-depth Translate Source: GEO Translate Source: GEO Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source:ASSETS Translate Source:ASSETS Join (< max-draft channel-depth) Join (< max-draft channel-depth) Move From: LOCAL To: OUTPUT Data: port-name Move From: LOCAL To: OUTPUT Data: port-name

Sensing for Information Gathering Sensing actions can be exploited to improve efficiency incorporate sensed data to optimize individual queries gather additional data to narrow down the possibly relevant sources [Knoblock & Levy ‘95] Incorporate run-time variables in the planning language Add sensing goals and actions to the planning operators

Sensing for Information Gathering Bind-Result ?draft = ? Bind-Result ?draft = ? use-sensed-data ?draft = ? use-sensed-data ?draft = ? Planned Executing Completed Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source: ASSETS Translate Source: ASSETS

Sensing for Information Gathering Bind-Result ?draft = 24 Bind-Result ?draft = 24 use-sensed-data ?draft = 24 use-sensed-data ?draft = 24 Planned Executing Completed Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source: ASSETS Translate Source: ASSETS

Sensing for Information Gathering Bind-Result ?draft = 24 Bind-Result ?draft = 24 use-sensed-data ?draft = 24 use-sensed-data ?draft = 24 Planned Executing Completed Move From: To: LOCAL Data: max-draft Move From: To: LOCAL Data: max-draft Translate Source: GEO Translate Source: GEO Translate Source: ASSETS Translate Source: ASSETS Move From: To: LOCAL Data: port-name channel-depth > 24

Discussion Databases Provides a much more flexible approach than conventional query processors Unlike typical multidatabase systems, does not assume a fixed mapping to the sources Planning Integrates previous work on planning, execution, replanning, and sensing Extends this work to support simultaneous and interleaved planning and execution Demonstrates the ideas in a real application