LaValle Chapter 2 (Sections 2.1-2.3) [2.1] Discrete feasible planning formulation [2.2] Basic search techniques – To find discrete feasible plans – But.

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Review: Search problem formulation
Problem solving with graph search
Uninformed search strategies
Informed Search Methods How can we improve searching strategy by using intelligence? Map example: Heuristic: Expand those nodes closest in “as the crow.
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.
Problem Solving Agents A problem solving agent is one which decides what actions and states to consider in completing a goal Examples: Finding the shortest.
Solving Problems by Searching Currently at Chapter 3 in the book Will finish today/Monday, Chapter 4 next.
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
CS 206 Introduction to Computer Science II 11 / 07 / 2008 Instructor: Michael Eckmann.
Artificial Intelligence (CS 461D)
UNINFORMED SEARCH Problem - solving agents Example : Romania  On holiday in Romania ; currently in Arad.  Flight leaves tomorrow from Bucharest.
Search in AI.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
ITEC200 – Week 12 Graphs. 2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study.
Review: Search problem formulation
UnInformed Search What to do when you don’t know anything.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Using Search in Problem Solving
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Uninformed Search Reading: Chapter 3 by today, Chapter by Wednesday, 9/12 Homework #2 will be given out on Wednesday DID YOU TURN IN YOUR SURVEY?
Informed Search Methods How can we make use of other knowledge about the problem to improve searching strategy? Map example: Heuristic: Expand those nodes.
CS 206 Introduction to Computer Science II 11 / 05 / 2008 Instructor: Michael Eckmann.
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.
Using Search in Problem Solving
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
CS 188: Artificial Intelligence Spring 2006 Lecture 2: Queue-Based Search 8/31/2006 Dan Klein – UC Berkeley Many slides over the course adapted from either.
Uninformed Search (cont.)
Solving problems by searching
Informed Search Idea: be smart about what paths to try.
CS261 Data Structures DFS and BFS – Edge List Representation.
Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the.
1 Problem Solving and Searching CS 171/271 (Chapter 3) Some text and images in these slides were drawn from Russel & Norvig’s published material.
Dijkstras Algorithm Named after its discoverer, Dutch computer scientist Edsger Dijkstra, is an algorithm that solves the single-source shortest path problem.
Tree Searching Breadth First Search Dept First Search.
State-Space Searches. 2 State spaces A state space consists of A (possibly infinite) set of states The start state represents the initial problem Each.
For Monday Read chapter 4, section 1 No homework..
COMP261 Lecture 6 Dijkstra’s Algorithm. Connectedness Is this graph connected or not? A Z FF C M N B Y BB S P DDGG AA R F G J L EE CC Q O V D T H W E.
Search with Costs and Heuristic Search 1 CPSC 322 – Search 3 January 17, 2011 Textbook §3.5.3, Taught by: Mike Chiang.
Lecture 3: Uninformed Search
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
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.
Goal-based Problem Solving Goal formation Based upon the current situation and performance measures. Result is moving into a desirable state (goal state).
Uninformed search strategies A search strategy is defined by picking the order of node expansion Uninformed search strategies use only the information.
Ricochet Robots Mitch Powell Daniel Tilgner. Abstract Ricochet robots is a board game created in Germany in A player is given 30 seconds to find.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Searching for Solutions
CPSC 322, Lecture 6Slide 1 Uniformed Search (cont.) Computer Science cpsc322, Lecture 6 (Textbook finish 3.5) Sept, 17, 2012.
Graph Search II GAM 376 Robin Burke. Outline Homework #3 Graph search review DFS, BFS A* search Iterative beam search IA* search Search in turn-based.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 13, 2013.
Blind Search Russell and Norvig: Chapter 3, Sections 3.4 – 3.6 CS121 – Winter 2003.
Search Part I Introduction Solutions and Performance Uninformed Search Strategies Avoiding Repeated States Partial Information Summary.
For Monday Read chapter 4 exercise 1 No homework.
Biointelligence Lab School of Computer Sci. & Eng. Seoul National University Artificial Intelligence Chapter 8 Uninformed Search.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Chapter 3.5 Heuristic Search. Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
Lecture 3: Uninformed Search
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Search: Advanced Topics Computer Science cpsc322, Lecture 9
Artificial Intelligence (CS 370D)
Artificial Intelligence Problem solving by searching CSC 361
Search: Advanced Topics Computer Science cpsc322, Lecture 9
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Russell and Norvig: Chapter 3, Sections 3.4 – 3.6
Problem Solving and Searching
What to do when you don’t know anything know nothing
Problem Solving and Searching
Informed Search Idea: be smart about what paths to try.
CMSC 471 Fall 2011 Class #4 Tue 9/13/11 Uninformed Search
Informed Search Idea: be smart about what paths to try.
Presentation transcript:

LaValle Chapter 2 (Sections ) [2.1] Discrete feasible planning formulation [2.2] Basic search techniques – To find discrete feasible plans – But occasionally even to find optimal plans [2.3] Discrete optimal planning – Fixed length – Unspecified length

Discrete Feasible Planning

General Forward Search Template States: Unvisited Dead Alive Alive states put in a priority queue Q Search algorithms use different functions to sort Q

Particular Forward Search Methods NameQ sorted byRunning time Breadth firstFIFOO(|V| + |E|) O(|X| + |X||U|) SystematicFeasible plan Depth firstLIFOO(|V| + |E|) O(|X| + |X||U|) Systematic only for finite X Feasible plan Dijkstra‘cost-to-come’ CO(|V| ln |V| + |E|) SystematicOptimal plan A* C ∗ (x’) + G ∗ (x’) SystematicOptimal plan Best firstEstimate of ‘cost- to-go’ Worst case is worse than A* Not systematic Feasible plan Iterative deepening Successive DF to greater depths Worst case is better than BF for many problems SystematicIDA* is optimal

BFS and DFS Same asymptotic running time Both generate feasible solutions (plans) Neither is optimal DFS systematic only for finite X, BFS always systematic

Dijkstra Simplest feasible planner that is also optimal Special form of Dynamic Programming Associate a cost l(x,u) with each state x and action u (a cost per edge in the graph) Sort Q by a quantity C (the cost-to-come) C(x’) = C*(x) + l(x,u) If x’ is already in Q with a prior cost C_old then resort Q if C and C_old are different C(x’) = C*(x’) when x’ is removed from Q

A* Extension of Dijkstra: systematic and optimal Tried to reduce the number of states explored by incorporating a heuristic estimate of the cost to get to the goal (G) from a given state Cost-to-come C can be minimized by dynamic programming (this is what Dijkstra does by finding C*) Optimal cost-to-go G* cannot be similarly found (as part of the planning process) Find a function Ĝ* that underestimates G* Sort Q by C*(x’) + Ĝ*(x’)

Best-first Sort Q by an estimate of the optimal cost-to- go Best-first is not optimal Expands few vertices

Iterative Deepening Prefer if search tree has large branching factor Feasible, more efficient than BFS Use DFS to find all states that are <=i hops from initial state If one of these is not the goal state reset the algorithm and use DFS to find all states that are <=(i+1) hops from initial state Essentially convert DFS into a systematic search Combine A* with ID to get IDA* – replace i by C*(x’) + Ĝ*(x’) – Each iteration of IDA* causes the total allowed cost to increase – Optimal

Bidirectional Search Grow two search trees Terminate when trees meet (not always easy) Failure to find a feasible plan when one Q is exhausted One can have Dijkstra and A* variants that give optimal solutions

Unified View of Search 1.Initialization 2.Select Vertex 3.Apply an Action 4.Insert Directed Edge into Graph 5.Check for Solution 6.Return to 2

Discrete Optimal Planning Stage index Cost functional Find a plan of length K that minimizes L

Optimal Fixed-Length Plans Generate all length-K sequences and pick the one that has lowest L – O(|U|^K) Key observation: any subsequence of an optimal plan is optimal Derive long optimal plans from shorter ones Value-iteration is an iterative way to compute optimal cost-to-go functions over X

(Backward) Value Iteration in Words 1.Want to solve for the optimal path of length K u 1, u 2, u 3, … u K 2.Optimal cost-to-go for paths of stage K+1 (length 0) is known in advance (this is the null path that consists of one node, the goal cost = 0) 3.Optimal cost-to-go for paths of stage K (length 1) from any node to the goal can be computed by using step 2 4.In general, optimal cost-to-go for paths of stage k (length K-k+1) can be computed by using the optimal cost-to-go for paths of stage k+1 (length K-k) 5.Working backward, finally compute optimal cost-to-go for paths of stage 1 (length K) 6.Result: optimal cost-to-go from any state to the goal in K stages 7.Plan: store actions as you work backward

Backward Value Iteration (Initialize)

Backward Value Iteration (First Iteration)

Backward Value Iteration (General Iteration)

Computing G* k is now easy since it depends only on x k, u k, and G* k+1 O(|X||U|) time At iteration (k+1) some state(s) x k receive an infinite value because they are not reachable – i.e. a (K-k) step plan from x k to goal does not exist G* 1 is computed in O(K|X||U|)

5 state example K=4, start = a, goal = d Four iterations to compute Gs

Forward Value Iteration Symmetrical Cost-to-come instead of cost-to-go Finds optimal plans to all states in X (instead of optimal plans from all states in X)

Optimal Plans of Unspecified Length Do not specify K in advance Cost functional Termination action u T – Zero cost – Does not change state Find a plan (of any length) that minimizes L

Adapting the Fixed-length Algorithm Suppose value iterations are performed up to K=5, and there is a 2 step plan (u 1, u 2 ) that takes the start state to the goal This is equivalent to the 5 step plan (u 1, u 2, u T, u T, u T ) We can now simply run the fixed-length algorithm

Termination The algorithm stops when optimal costs-to-go for all states become stationary This will always happen provided the state transition graph does not have any negative cycles (negative values of l(x,u) are OK) When the process terminates we have G* values for all x Recover optimal plan

Variable Length Example