Nonlinear Planning Lecture Module 9. Nonlinear Planning with Goal Set Generate a plan by doing some work on one goal, then some on another and then some.

Slides:



Advertisements
Similar presentations
Dynamic Programming 25-Mar-17.
Advertisements

Planning.
Heuristic Search techniques
1 Planning Chapter CMSC 471 Adapted from slides by Tim Finin and Marie desJardins. Some material adopted from notes by Andreas Geyer-Schulz,
Planning Module THREE: Planning, Production Systems,Expert Systems, Uncertainty Dr M M Awais.
Planning Module THREE: Planning, Production Systems,Expert Systems, Uncertainty Dr M M Awais.
Iterative Deepening A* & Constraint Satisfaction Problems Lecture Module 6.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Searching Algorithms Finding what you are looking for.
B+-Trees (PART 1) What is a B+ tree? Why B+ trees? Searching a B+ tree
Quick Sort, Shell Sort, Counting Sort, Radix Sort AND Bucket Sort
15-May-15 Dynamic Programming. 2 Algorithm types Algorithm types we will consider include: Simple recursive algorithms Backtracking algorithms Divide.
Best-First Search: Agendas
All rights reserved ©L. Manevitz Lecture 61 Artificial Intelligence Planning System L. Manevitz.
Sussman anomaly - analysis The start state is given by: ON(C, A) ONTABLE(A) ONTABLE(B) ARMEMPTY The goal by: ON(A,B) ON(B,C) This immediately leads to.
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 22 By Herbert I. Gross and Richard A. Medeiros next.
Section 2.3 Gauss-Jordan Method for General Systems of Equations
Artificial Intelligence 2005/06
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Introduction to Computability Theory
1 Using Search in Problem Solving Part II. 2 Basic Concepts Basic concepts: Initial state Goal/Target state Intermediate states Path from the initial.
1 Lecture 12 example (from slides prepared by Prof. J. Rosenchein)
Artificial Intelligence 2005/06 Planning: STRIPS.
Blind Search-Part 2 Ref: Chapter 2. Search Trees The search for a solution can be described by a tree - each node represents one state. The path from.
Strong Induction, WOP and Invariant Method Leo Cheung.
1 Pertemuan 17 Planning Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1.
Hashing General idea: Get a large array
BY Muhammad Suleman MBA MIT BSC (COMPUTER).  What is decision Making  Why decision Making  Conditions under which decision are made  What is Rational.
Systems of Inequalities Created By Richard Gill and Jeannie Taylor For Mth 163: Precalculus 1 Funded by a Grant from the VCCS LearningWare Program.
Review for Final Exam Systems of Equations.
Brute Force Search Depth-first or Breadth-first search
Heuristic Search Techniques
Table of Contents The goal in solving a linear system of equations is to find the values of the variables that satisfy all of the equations in the system.
Reading and Writing Mathematical Proofs
CS212: DATA STRUCTURES Lecture 10:Hashing 1. Outline 2  Map Abstract Data type  Map Abstract Data type methods  What is hash  Hash tables  Bucket.
Artificial Intelligence: Planning Lecture 6 Problems with state space search Planning Operators A Simple Planning Algorithm (Game Playing)
22/11/04 AIPP Lecture 16: More Planning and Operators1 More Planning Artificial Intelligence Programming in Prolog.
Week 5 - Monday.  What did we talk about last time?  Linked list implementations  Stacks  Queues.
1 Inference Rules and Proofs (Z); Program Specification and Verification Inference Rules and Proofs (Z); Program Specification and Verification.
Pushdown Automata (PDAs)
Planning, page 1 CSI 4106, Winter 2005 Planning Points Elements of a planning problem Planning as resolution Conditional plans Actions as preconditions.
Partial Ordering Planning Lecture Module 10. Partial Ordering Any planning algorithm that can place two actions into a plan without specifying which comes.
Equations, Inequalities, and Mathematical Models 1.2 Linear Equations
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
This presentation starts with a few review slides on graphing linear inequalities and a few review slides on graphing non-linear inequalities. To skip.
JETT 2005 Session 5: Algorithms, Efficiency, Hashing and Hashtables.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Introduction to Planning Dr. Shazzad Hosain Department of EECS North South Universtiy
Advanced Problem Solving Systems: Planning  In order to solve nontrivial problems, it is necessary to combine 1.Basic problem solving strategies 2.Knowledge.
Advanced Problem Solving Systems: Planning Lecture Module 8.
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
Basic Problem Solving Search strategy  Problem can be solved by searching for a solution. An attempt is to transform initial state of a problem into some.
Copyright © 2015, 2008, 2011 Pearson Education, Inc. Section 3.2, Slide 1 Chapter 3 Systems of Linear Equations.
Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1 1 Section 2.7 Solving Linear Inequalities Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1.
6.3 Solving Systems Using Elimination: Solution of a System of Linear Equations: Any ordered pair that makes all the equations in a system true. Substitution.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
© Love Ekenberg Hashing Love Ekenberg. © Love Ekenberg In General These slides provide an overview of different hashing techniques that are used to store.
Dynamic Programming.  Decomposes a problem into a series of sub- problems  Builds up correct solutions to larger and larger sub- problems  Examples.
1. Searching The basic characteristics of any searching algorithm is that searching should be efficient, it should have less number of computations involved.
Planning I: Total Order Planners Sections
Computer Science 1620 Sorting. cases exist where we would like our data to be in ascending (descending order) binary searching printing purposes selection.
Pat Langley Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford, CA
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
Learning Teleoreactive Logic Programs by Observation
Introduction Defining the Problem as a State Space Search.
Problem Reduction -AND-OR Graph -AO* Search CSE 402 K3R23/K3R20.
6.3 Using Elimination to Solve Systems
6.2 Using Substitution to Solve Systems
Presentation transcript:

Nonlinear Planning Lecture Module 9

Nonlinear Planning with Goal Set Generate a plan by doing some work on one goal, then some on another and then some more on the first one. Such plans are called nonlinear plans as it is not composed of a linear sequence of complete sub plans.

Cont… A good plan for the solution is the following. Begin work on goal ON (A,B) by clearing A thus putting C on the table. Achieve ON (B,C) by stacking B on C. Complete the goal ON (A,B) by stacking A on B. Consider the collection of desired goals as a set. Backward searching is used from the goal to the initial state with no operators being actually applied along the way. Idea is to look first for the operator that will be applied last in final solution. It assumes that all but one of the sub goals have already been satisfied.

Cont… Consider a set of all sub-goals as start point of the search. Find all the operators that satisfy the final sub goal Assume that all other sub goals are satisfied In the example, consider the last sub goal to be proved as ON(A, B) or ON(B, C). If ON(A, B) is the last sub goal, then all its preconditions and ON(B, C) are assumed to be true prior to this operation. Whenever contradiction occurs in a goal set such as {HOLD(X), AE} or it contains false, then path is pruned. Many of the paths can be quickly be eliminated because of contradiction.

Cont… CL(B) could be achieved by Unstacking something from B. For this AE should be there which contradicts with HOLD and hence leads to contradiction in a set.

Cont.. When an operator is applied, it may cause the sub goals in a set no longer true. So non selected goals are not directly copied into new goal set but a process called regression is applied. Regression can be thought of as the backward application of operators. Each goal is regressed through an operator whereby, we are attempting to determine what must be true before the operator is performed.

Example of Regression Reg(ON(A, B), S(C, A)) = ON(A, B) Reg(CL(B), S(A, B)) = false Reg(ON(A, B), PU(C)) = ON(A, B) Reg(AE, PD(A)) = true Reg(AE, S(X, Y)) = true Reg(AE, PU(A)) = false Reg(AE, US(A, B)) = false

Means-Ends Analysis (MEA) It centers around the detection of difference between current and goal states. Once such a difference is isolated, an operator that can reduce the difference must be found. The action is performed on the current state to produce a new state. The process is recursively applied to this new state and the goal state It is quite possible that chosen operator can not be applied to the current state immediately

Example Assume S and G are start and goal states S B_____CG StartOperatorGoal By solving B to C, difference between S, B and C, G is reduced. Order in which the differences are considered is critical. Important that significant difference be reduced before less significant otherwise great deal of effort may be wasted. This method is not adequate for solving complex problems, since working on one difference may interfere with the plan of reducing another.

Cont… Reduce the difference between S & B and similarly between C & G. MEA also relies on a set of rules just like in other problem solving techniques. These rules are usually not represented with complete state description on each side. Instead they are represented as left side that describes preconditions and right side that describes those aspects of the problem state that will be changed by application of the rule.

Example: House hold Robot Find a sequence of actions robot performs Move desk with two things on it from one location S to another G. Operators are: PUSH, CARRY, WALK, PickUp, PutDown and PLACE. Main difference : Change of location of desk from initial position to goal position Here objects on top must also be moved. Data structure called ‘Difference Table’ indexes the rules by the differences that they can be used to reduce.

Cont… OperatorPre-conditionsResult PUSH(obj, loc) At(robot, obj)  Large(obj)  Clear(obj)  AE At(obj, loc)  At(robot, loc) CARRY(obj, loc) At(robot, obj)  Small(obj)At(obj, loc)  At(robot, loc) WALK(loc)NoneAt(robot, loc) PU(obj)At(robot, obj)Hold(obj) PD(obj)Hold(obj)~Hold(obj) PLACE(Obj1, obj2) At(robot, obj2)  Hold(obj1) On(obj1, obj2)

Difference Table PUSHCARRYWALKPUPDPLACE Move object** Move robot* Clear object* Get obj1 on obj2 * Get arm empty ** Hold object*

Cont… Move Desk with two small bags on it from S to G. To reduce this difference apply either CARRY or PUSH operator. If CARRY is chosen first, then its preconditions be met. This results in two more differences At(robot, desk) and Small(desk). Here desk is not small, so CARRY can not be applied. So choose PUSH which has four preconditions viz., At(robot, desk)  Large(desk)  Clear(desk)  AE Main important differences are only two i.e., At(robot, desk)  Clear(desk) and other two are common at start and goal positions. S B________CG Start PUSHGoal

Cont.. The differences between S and B can be reduced. At(robot, desk) by WALK(desk_loc) Clear(desk) by clearing two items on the desk. Clearing top can be done by two uses of PU operators. After one Pick up, an attempt to pickup second item results in another difference i.e., arm of robot be empty. This difference is reduced by PD operator. So, we get sequence of following operators: S(Start)_____________________________________B__________C WALK(desk_loc)->PU(obj1)->PD(obj1)->PU(obj2)->PD(obj2) PUSH Once PUSH is performed, problem state is close to goal state. Now objects must be placed on the top of desk.

Cont... The difference between C and G is achieved by PLACE operator. S(Start)______________________________B_____ C E________G(Goal) WALK->PU(obj1)->PD(obj1)->PU(obj2)->PD(obj2) -> PUSH PLACE The final difference between C & E can be reduced by using WALK to get robot back to objects, followed by PU and CARRY operators. Final Plan is as follows:  WALK (start_desk_loc)  PU(obj1)  PD(obj1)  PU(obj2)  WALK(start_desk_loc)  PUSH(desk, goal_loc)  PD(obj2)  PU(obj1)  CARRY(obj1,goal_loc)  PLACE(obj1,desk)  PLACE(obj2,desk)  CARRY(obj2, goal_loc)  PU(obj2)  WALK(start)