CS 4649/7649 Robot Intelligence: Planning Heuristics & Search Sungmoon Joo School of Interactive Computing College of Computing Georgia Institute of Technology S. Joo (sungmoon.joo@cc.gatech.edu) 1 *Slides based on Dr. Mike Stilman s lecture slides Course Info. Course Website: joosm.github.io/rip24 Course Wiki: github.com/rip24/rip24wiki/wiki - add your contact info, start grouping/filling in project ideas, etc. - github invitation sent (if you didn t get one, let me know) - S/W tutorial RIM seminar : http://www.robotics.gatech.edu/hg/item/3183 - Steven M. LaValle Planning expert, Virtual Reality - Friday, September 5, 24 12:00~:00 - Marcus Nanotechnology Building S. Joo (sungmoon.joo@cc.gatech.edu) 2 1
State Space vs. Plan Space vs. Graph Space S. Joo (sungmoon.joo@cc.gatech.edu) 3 Search from Initial State to Goal S. Joo (sungmoon.joo@cc.gatech.edu) 4 2
Uninformed Search S. Joo (sungmoon.joo@cc.gatech.edu) 5 Uninformed Search: Depth First (DFS) Moving along one branch S. Joo (sungmoon.joo@cc.gatech.edu) 6 3
Uninformed Search: Depth First (DFS) Moving along one branch S. Joo (sungmoon.joo@cc.gatech.edu) 7 Uninformed Search: Depth First (DFS) Take a look at the QUEUE 21 12 31 32 12 Expand until a node on the terminal level appears S. Joo (sungmoon.joo@cc.gatech.edu) 8 4
Uninformed Search: Depth First (DFS) Take a look at the QUEUE 21 12 31 32 12 32 12 Check the terminal nodes If not the goal, delete them and their parent nodes S. Joo (sungmoon.joo@cc.gatech.edu) 9 Uninformed Search: Depth First (DFS) Take a look at the QUEUE 21 12 31 32 12 32 12 12 22 23 33 23 Explore another branch S. Joo (sungmoon.joo@cc.gatech.edu) 10 5
Uninformed Search: Depth First (DFS) Take a look at the QUEUE 21 12 31 32 12 32 12 12 22 23 33 23 Repeat until you reach the goal 23 34 S. Joo (sungmoon.joo@cc.gatech.edu) 11 Uninformed Search: Depth First (DFS) S. Joo (sungmoon.joo@cc.gatech.edu) 12 6
Uninformed Search: Breadth First (BFS) Visiting every branch S. Joo (sungmoon.joo@cc.gatech.edu) Uninformed Search: Breadth First (BFS) Visiting every branch S. Joo (sungmoon.joo@cc.gatech.edu) 14 7
Uninformed Search: Breadth First (BFS) Visiting every branch S. Joo (sungmoon.joo@cc.gatech.edu) 15 Uninformed Search: Breadth First (BFS) Take a look at the QUEUE 12 21 21 22 23 21 22 23 24 22 23 23 24 24 31 32 31 32 33 24 Explore every branch, level by level 32 33 34 34 S. Joo (sungmoon.joo@cc.gatech.edu) 16 8
Uninformed Search: Breadth First (BFS) Take a look at the QUEUE 12 21 21 22 23 21 22 23 24 22 23 23 24 24 31 32 31 32 33 24 Every node on the given level is checked before any node on a later level is checked! 32 33 34 34 S. Joo (sungmoon.joo@cc.gatech.edu) 17 Uninformed Search: Breadth First (BFS) Take a look at the QUEUE 12 21 21 22 23 21 22 23 24 22 23 23 24 24 31 32 31 32 33 24 Every node on the given level is checked before any node on a later level is checked! 32 33 34 34 S. Joo (sungmoon.joo@cc.gatech.edu) 18 9
Uninformed Search: Breadth First (BFS) S. Joo (sungmoon.joo@cc.gatech.edu) 19 Uninformed Search: Iterative Deepening (IDS) DFS, level by level Richard Korf DFS on level 1 S. Joo (sungmoon.joo@cc.gatech.edu) 20 10
Uninformed Search: Iterative Deepening (IDS) DFS, level by level Richard Korf DFS on level 2 S. Joo (sungmoon.joo@cc.gatech.edu) 21 Uninformed Search: Iterative Deepening (IDS) DFS, level by level Richard Korf DFS on level 3 S. Joo (sungmoon.joo@cc.gatech.edu) 22 11
Uninformed Search: Iterative Deepening (IDS) Much less memory at any given time - first checked in the same order they would be checked in a breadth-first-search - nodes are deleted as the search progresses Usually better than plain DFS when memory is not an issue Main drawback Redundancy S. Joo (sungmoon.joo@cc.gatech.edu) 23 Efficiency in Planning S. Joo (sungmoon.joo@cc.gatech.edu) 24 12
Informed or Heuristic Search S. Joo (sungmoon.joo@cc.gatech.edu) 25 Informed Search: Best First Search h=5 h=1 h=4 h=1 h=1 h=2 h=1 S. Joo (sungmoon.joo@cc.gatech.edu) 26
Informed Search: Best First Search OPEN = [initial state] CLOSED = [] While OPEN is not empty do 1. Remove the best node from OPEN, call it n, add it to CLOSED. 2. If n is the goal state, backtrace path to n (through recorded parents) and return path. 3. Create n's successors. 4. For each successor do: a. If it is not in CLOSED and it is not in OPEN: evaluate it, add it to OPEN, and record its parent. b. Otherwise, if this new path is better than previous one, change its recorded parent. i. If it is not in OPEN add it to OPEN. ii. Otherwise, adjust its priority in OPEN using this new evaluation. done S. Joo (sungmoon.joo@cc.gatech.edu) 27 Informed Search: Best First Search h=5 h=1 h=4 h=2 h=1 h=2 h=1 Open Successor Closed Parent [] [] [11,12,] [11,12-n,] [] [11,] [21,22,23-n] [12,] 12 [21,22,11,] [34-n] [23,12,] 23 S. Joo (sungmoon.joo@cc.gatech.edu) 28 14
Properties of Heuristics: h(s) S. Joo (sungmoon.joo@cc.gatech.edu) 29 Informed Search: A* Search Cost you have to pay to reach the goal from n Cost you already paid to reach node n S. Joo (sungmoon.joo@cc.gatech.edu) 30 15
Informed Search: A* Search S. Joo (sungmoon.joo@cc.gatech.edu) 31 Variants of Heuristic Search S. Joo (sungmoon.joo@cc.gatech.edu) 32 16