![Page 1: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/1.jpg)
Lecture 2: Uninformed search methods
• Search problems
• Generic search algorithms
• Criteria for evaluating search algorithms
• Uninformed Search
– Breadth-First Search– Depth-First Search– Iterative Deepening
• Heuristics
COMP-424, Lecture 2 - January 9, 2013 1
Search in AI
• One of the first and major topics:
Newell & Simon (1972). Human Problem Solving
• Central component to many AI systems:
– Automated reasoning– Theorem proving– Game playing– Navigation
COMP-424, Lecture 2 - January 9, 2013 2
![Page 2: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/2.jpg)
Example: Eight-Puzzle
Example: Eight-Puzzle
Start State Goal State
2
45
6
7
8
1 2 3
4
67
81
23
45
6
7
81
23
45
6
7
8
5
September 7, 2006 3 COMP-424 Lecture 2
COMP-424, Lecture 2 - January 9, 2013 3
Example: Protein creation
2
Example Solution: Brushfire…
X
x
START
GOAL
Other Real-Life Examples
Protein designhttp://www.blueprint.org/proteinfolding/trades/trades_problem.html
Scheduling/Manufacturinghttp://www.ozone.ri.cmu.edu/projects/dms/dmsmain.html
Scheduling/Sciencehttp://www.ozone.ri.cmu.edu/projects/hsts/hstsmain.html
Route planning Robot navigationhttp://www.frc.ri.cmu.edu/projects/mars/dstar.html
Don’t necessarily know explicitly the structure of a search problem
Other Real-Life Examples
Protein designhttp://www.blueprint.org/proteinfolding/trades/trades_problem.html
Scheduling/Manufacturinghttp://www.ozone.ri.cmu.edu/projects/dms/dmsmain.html
Scheduling/Sciencehttp://www.ozone.ri.cmu.edu/projects/hsts/hstsmain.html
Route planning Robot navigationhttp://www.frc.ri.cmu.edu/projects/mars/dstar.html
Don’t have a clue when you’re doing well versus poorly!
10cm resolution4km2 = 4 108 states
What we are not addressing (yet)• Uncertainty/Chance ! State and transitions are known and deterministic• Game against adversary• Multiple agents/Cooperation• Continuous state space ! For now, the set of states is discrete
Overview• Definition and formulation• Optimality, Completeness, and Complexity• Uninformed Search
– Breadth First Search– Search Trees– Depth First Search– Iterative Deepening
• Informed Search– Best First Greedy Search– Heuristic Search, A*
COMP-424, Lecture 2 - January 9, 2013 4
![Page 3: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/3.jpg)
Example: Robot navigation
4
COMP-424: Artificial intelligence Joelle Pineau7
Example: Eight-Puzzle
What are the:
•States?
•Start state?
•Goals?
•Operators?
•Path cost?
COMP-424: Artificial intelligence Joelle Pineau8
Example: Robot path planning
• State space: robot’s position
• Operators: go-north, go-south, go-east, go-west
• Goal: target location
• Path cost: path length
COMP-424, Lecture 2 - January 9, 2013 5
Defining a Search Problem
• State space S: all possible configurations of the domain of interest
• An initial (start) state s0 ∈ S
• Goal states G ⊂ S: the set of end states
– Often defined by a goal test rather than enumerating a set of states
• Operators A: the actions available
– Often defined in terms of a mapping from a state to its successor
COMP-424, Lecture 2 - January 9, 2013 6
![Page 4: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/4.jpg)
Defining a search problem (2)
• Path: a sequence of states and operators
• Path cost: a number associated with any path
– Measures the quality of the path– Usually the smaller, the better
• Solution of a search problem is a path from s0 to some sg ∈ G
• Optimal solution: any path with minimum cost.
COMP-424, Lecture 2 - January 9, 2013 7
Example: Eight-Puzzle
Example: Eight-Puzzle
Start State Goal State
2
45
6
7
8
1 2 3
4
67
81
23
45
6
7
81
23
45
6
7
8
5
September 7, 2006 3 COMP-424 Lecture 2
• States: configurations of the puzzle
• Goals: target configuration
• Operators: swap the blank with an adjacent tile
• Path cost: number of moves
COMP-424, Lecture 2 - January 9, 2013 8
![Page 5: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/5.jpg)
Example: Robot navigation
4
COMP-424: Artificial intelligence Joelle Pineau7
Example: Eight-Puzzle
What are the:
•States?
•Start state?
•Goals?
•Operators?
•Path cost?
COMP-424: Artificial intelligence Joelle Pineau8
Example: Robot path planning
• State space: robot’s position
• Operators: go-north, go-south, go-east, go-west
• Goal: target location
• Path cost: path length
• States: position, velocity, map, obstacles, ...
• Goals: get to target position without crashing
• Operators: usually small steps in several directions
• Path cost: length of path, energy consumption, cost, ...
COMP-424, Lecture 2 - January 9, 2013 9
Assumptions
• Static (vs dynamic) environment
• Observable (vs unobservable) environment
• Discrete (vs continuous) state space
• Deterministic (vs stochastic) environment
The general search problem formulation does not make these assumptions,but we will make them when discussing search algorithms
COMP-424, Lecture 2 - January 9, 2013 10
![Page 6: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/6.jpg)
Coding a Generic Search Problem in Java
public abstract class Operator {}
public abstract class State {
abstract void print(); }
public abstract class Problem{
State startState;
abstract boolean isGoal (State crtState);
abstract boolean isLegal (State s, Operator op);
abstract Vector getLegalOps (State s);
abstract State nextState (State crtState, Operator op);
abstract float cost(State s, Operator op);
public State getStartState() { return startState; }
}
COMP-424, Lecture 2 - January 9, 2013 11
Coding an Actual Search Problem
public class EightPuzzleState extends State {
int tilePosition[9];
public void print() {//
}
}
public class EightPuzzleProblem extends Problem{
boolean isLegal (EightPuzzleState s,
EightPuzzleOperator op){
// check if blank can be moved in the desired direction
}}
Specialize the abstract classes, and add the code that does the work
COMP-424, Lecture 2 - January 9, 2013 12
![Page 7: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/7.jpg)
Coding a Generic Search Problem in C
• Write code for the different problems in separate files
• Be disciplined about the way in which functions are called (basically dothe checks of an object-oriented parser)
• Write different search algorithms in different files
• Link together files as appropriate.
COMP-424, Lecture 2 - January 9, 2013 13
Representing Search: Graphs and Trees
• Visualize a state space search in terms of a graph
– Vertices correspond to states– Edges correspond to operators
• We search for a solution by building a search tree and traversing it tofind a goal state
COMP-424, Lecture 2 - January 9, 2013 14
![Page 8: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/8.jpg)
ExampleSearching for a solution
A
B
C
F
D3
3
9
2
2
start state
goal state
Search treestate = A,
cost = 0
state = B,
cost = 3
state = D,
cost = 3
state = C,
cost = 5
state = F,
cost = 12
state = A,
cost = 7
goal state!
search tree nodes and states are not the same thing!Search tree nodes are not the same as the graph nodes!
COMP-424, Lecture 2 - January 9, 2013 15
Data Structures for Search
• Defining a search node:
– Each node contains a state– Node also contains additional information, e.g.:∗ The parent state and the operator used to generate it∗ Cost of the path so far∗ Depth of the node
• Expanding a node:
– Applying all legal operators to the state contained in the node– Generating nodes for all the corresponding successor states.
COMP-424, Lecture 2 - January 9, 2013 16
![Page 9: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/9.jpg)
Generic Search Algorithm
1. Initialize the search tree using the initial state of the problem
2. Repeat
(a) If no candidate nodes can be expanded, return failure(b) Choose a leaf node for expansion, according to some search strategy(c) If the node contains a goal state, return the corresponding path(d) Otherwise expand the node by:
• Applying each operator• Generating the successor state• Adding the resulting nodes to the tree
COMP-424, Lecture 2 - January 9, 2013 17
Problem: Search trees can get very big!Full search tree
state = A,
cost = 0
state = B,
cost = 3
state = D,
cost = 3
state = C,
cost = 5
state = F,
cost = 12
state = A,
cost = 7
goal state!
state = E,
cost = 7
state = F,
cost = 11
goal state!
state = B,
cost = 10
state = D,
cost = 10......
COMP-424, Lecture 2 - January 9, 2013 18
![Page 10: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/10.jpg)
Implementation Details
• We need to keep track only of the nodes that need to be expanded -frontier or open list
• This can be implemented using a (prioritized) queue:
1. Initialize the queue by inserting the node for the initial state2. Repeat(a) If the queue is empty, return failure(b) Dequeue a node(c) If the node contains a goal state, return the path(d) Otherwise expand the node, inserting the resulting nodes into queue
• Search algorithms differ in their queuing function!
COMP-424, Lecture 2 - January 9, 2013 19
Uninformed (blind) search
• If a state is not a goal, we cannot tell how close to the goal it might be
• Hence, all we can do is move systematically between states until westumble on a goal
• In contrast, informed (heuristic) search uses a guess on how close to thegoal a state might be
COMP-424, Lecture 2 - January 9, 2013 20
![Page 11: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/11.jpg)
Breadth-First Search (BFS)
• Enqueues nodes at the end of the queue
• All nodes at level i get expanded before all nodes at level i+1
COMP-424, Lecture 2 - January 9, 2013 21
Example
!"
Label all start states as set V0
COMP-424, Lecture 2 - January 9, 2013 22
![Page 12: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/12.jpg)
Example
!"
Label all successors of states in V0 that have not yet been labelled as set V1
COMP-424, Lecture 2 - January 9, 2013 23
Example
!"
Label all successors of states in V1 that have not yet been labelled as set V2
COMP-424, Lecture 2 - January 9, 2013 24
![Page 13: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/13.jpg)
Example
!"
Label all successors of states in V2 that have not yet been labelled as set V3
COMP-424, Lecture 2 - January 9, 2013 25
Example
!"
Label all successors of states in V3 that have not yet been labelled as set V4
COMP-424, Lecture 2 - January 9, 2013 26
![Page 14: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/14.jpg)
Example: Recovering the path
!"#$%&'(")*$+,-$).$'/01#/#2)
34
Follow pointers back to the parent node to find the path
COMP-424, Lecture 2 - January 9, 2013 27
Key Properties of Search Algorithms
• Completeness: are we assured to find a solution, if one exists?
• Space complexity: how much storage is needed?
• Time complexity: how many operations are needed?
• Solution quality: how good is the solution?
Other desirable properties:
• Can the algorithm provide an intermediate solution?
• Can an inadequate solution be refined or improved?
• Can the work done on one search be re-used for a different set ofstart/goal states?
COMP-424, Lecture 2 - January 9, 2013 28
![Page 15: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/15.jpg)
Search Performance
It is evaluated in terms of two characteristics of the problem:
• Branching factor of the search space (b): how many operators (at most)can be applied at any time?
E.g. For the eight-puzzle problem, the branching factor is considered 4,although most of the time we can apply only 2 or 3 operators.
• Solution depth (d): how long is the path to the closest (shallowest)solution?
COMP-424, Lecture 2 - January 9, 2013 29
Analyzing BFS
• Good news:
– Complete– Guaranteed to find the shallowest path to the goal
This is not necessarily the best path! But we can “fix” the algorithmto get the best path.
– Different start-goal combinations can be explored at the same time
COMP-424, Lecture 2 - January 9, 2013 30
![Page 16: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/16.jpg)
Analyzing BFS
• Good news:
– Complete– Guaranteed to find the shallowest path to the goal
This is not necessarily the best path! But we can “fix” the algorithmto get the best path.
– Different start-goal combinations can be explored at the same time
• Bad news:
– Exponential time complexity: O(bd) (why?)This is the same for all uninformed search methods
– Exponential memory requirements! O(bd) (why?)This is not good...
COMP-424, Lecture 2 - January 9, 2013 31
Fixing BFS To Get An Optimal Path
• Use a priority queue instead of a simple queue
• Insert nodes in the increasing order of the cost of the path so far
• Guaranteed to find an optimal solution!
• This algorithm is called uniform-cost search
COMP-424, Lecture 2 - January 9, 2013 32
![Page 17: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/17.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 33
Example
!"
COMP-424, Lecture 2 - January 9, 2013 34
![Page 18: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/18.jpg)
Example
!""#$%&'#()%*#+#'%#,#'%#'-.#/012.#%(#+
34
COMP-424, Lecture 2 - January 9, 2013 35
Example
!"#$%&'(#$)*+$,-#.$#$"&/$0##1$(23&-#3$)+*.$4$-*$56$$!",/$,/$7#1#+&''8$1*-$/(22*+-#3$
94
08$&$:;<$0(-$-"#+#$&+#$=&8/$-*$)&>#$,-6
COMP-424, Lecture 2 - January 9, 2013 36
![Page 19: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/19.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 37
Example
!"
COMP-424, Lecture 2 - January 9, 2013 38
![Page 20: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/20.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 39
Example
!!
COMP-424, Lecture 2 - January 9, 2013 40
![Page 21: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/21.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 41
Example
!"#$ %& '()#%'#)*+#,-+-+ .-)#/%&%)+01#2+#345+306#/%&%)+0#%)7
89
:!"#;(&)#+'<)#'+=3)%/+#(5#>1#)*%(5?&7##!'#"3;)#)*%&#%*6#%)#2('<)#2(5?#%"#;(&)#+#
'+=3)%/+ (5#>@##A()+#?++$#%'#B+B(56#+/+56)*%'=#2+</+#&++'7COMP-424, Lecture 2 - January 9, 2013 42
![Page 22: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/22.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 43
Example
!"
COMP-424, Lecture 2 - January 9, 2013 44
![Page 23: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/23.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 45
Example
!"
COMP-424, Lecture 2 - January 9, 2013 46
![Page 24: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/24.jpg)
Depth-First Search (DFS)
• Enqueues nodes at the front of the queue.
• Nodes at the deepest levels get expanded before shallower ones.
COMP-424, Lecture 2 - January 9, 2013 47
Example
!"
COMP-424, Lecture 2 - January 9, 2013 48
![Page 25: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/25.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 49
Example
!"
COMP-424, Lecture 2 - January 9, 2013 50
![Page 26: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/26.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 51
Example
!"
COMP-424, Lecture 2 - January 9, 2013 52
![Page 27: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/27.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 53
Example
!"
COMP-424, Lecture 2 - January 9, 2013 54
![Page 28: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/28.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 55
Example
!"
COMP-424, Lecture 2 - January 9, 2013 56
![Page 29: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/29.jpg)
Example
!"
COMP-424, Lecture 2 - January 9, 2013 57
Analyzing DFS
• Good news:
– Space complexity O(bd) (why?)– It is easy to implement recursively (do not even need a queue data
structure)– More efficient than BFS if there are many paths leading to a solution.
COMP-424, Lecture 2 - January 9, 2013 58
![Page 30: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/30.jpg)
Analyzing DFS
• Good news:
– Space complexity O(bd) (why?)– It is easy to implement recursively (do not even need a queue data
structure)– More efficient than BFS if there are many paths leading to a solution.
• Bad news:
– Exponential time complexity: O(bd)This is the same for all uninformed search methods
– Not optimal– DFS may not complete! (why?)– NEVER use DFS if you suspect a big tree depth
COMP-424, Lecture 2 - January 9, 2013 59
Depth-Limited Search
• Algorithm: Search depth-first, but terminate a path either if a goal stateis found, or if the maximum depth allowed is reached.
• Unlike DFS, this algorithm always terminates
– Avoids the problem of search never terminating by imposing a hardlimit on the depth of any search path
• However, it is still not complete (the goal depth may be greater than thelimit allowed.
COMP-424, Lecture 2 - January 9, 2013 60
![Page 31: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/31.jpg)
Iterative Deepening
• Algorithm: do depth-limited search, but with increasing depth
• Expands nodes multiple times, but time complexity is the same
COMP-424, Lecture 2 - January 9, 2013 61
Analysis of Iterative Deepening Search
• Complete (like BFS)
• Has linear memory requirements (like DFS)
• Classical time-space tradeoff!
• This is the preferred method for large state space, where the maximumdepth of a solution path is unknown
COMP-424, Lecture 2 - January 9, 2013 62
![Page 32: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/32.jpg)
Revisiting states
• What if we revisit a state that was already expanded?
• We already saw an example of re-visiting a state that is already in thequeue...
!
"
#
$
%
&
COMP-424, Lecture 2 - January 9, 2013 63
Revisiting states (2)
• Maintain a closed list to store every expanded node
– Works best for problems with many repeated states– Worst-case time and space requirements are O(|S|) where |S| is the
number of states
• Allowing states to be re-expanded could produce a better solution
– When a repeated state is detected, compare the old and new path andkeep best one
COMP-424, Lecture 2 - January 9, 2013 64
![Page 33: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/33.jpg)
Uninformed Search Summary
• Assumes no knowledge about the problem
• Main difference between the methods is in the order in which theyconsider the states
• Very general, can be applied to any problem but very expensive, sincewe assume no knowledge about the problem
• Some algorithms are complete, i.e. they will find a solution if one exists
ALL uninformed search methods have exponential worst-case complexity
COMP-424, Lecture 2 - January 9, 2013 65
Informed Search
• Uninformed search methods expand nodes based on the distance fromthe start node d(s0, s)
Obviously, we always know that!
• But what about expanding based on distance to the goal d(s, sg)?
• If we knew d(s, sg) exactly, it would be easy!
Just expand the nodes needed to find a solution.
• Even if we do not know d(s, sg) exactly, we often have some intuitionabout this distance!
• We will call this intuition a heuristic h(s).
COMP-424, Lecture 2 - January 9, 2013 66
![Page 34: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/34.jpg)
Example Heuristic: Path Planning
• Consider a path along a road system
• What is a reasonable heuristic?
COMP-424, Lecture 2 - January 9, 2013 67
Example Heuristic: Path Planning
• Consider a path along a road system
• What is a reasonable heuristic?
– The straight-line distance from one place to another
• Is it always right?
– Certainly not - roads are rarely straight!
COMP-424, Lecture 2 - January 9, 2013 68
![Page 35: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/35.jpg)
Example Heuristics: 8-puzzleExample: Eight-Puzzle
Start State Goal State
2
45
6
7
8
1 2 3
4
67
81
23
45
6
7
81
23
45
6
7
8
5
September 7, 2006 3 COMP-424 Lecture 2
What would be good heuristics for this problem?
COMP-424, Lecture 2 - January 9, 2013 69
Example Heuristics: 8-puzzleExample: Eight-Puzzle
Start State Goal State
2
45
6
7
8
1 2 3
4
67
81
23
45
6
7
81
23
45
6
7
8
5
September 7, 2006 3 COMP-424 Lecture 2Consider the following heuristics:
• h1 = number of misplaced tiles (=7 in example)
• h2 = total Manhattan distance (i.e., no. of squares from desired locationof each tile) (= 2+3+3+2+4+2+0+2 = 18 in example)
• Which one is better?
COMP-424, Lecture 2 - January 9, 2013 70
![Page 36: Lecture 2: Uninformed search methods - McGill School Of ...dprecup/courses/AI/Lectures/ai-lecture02.pdf · Lecture 2: Uninformed search methods • Search problems ... • If a state](https://reader034.vdocuments.us/reader034/viewer/2022042800/5a78a96a7f8b9a07028c49a4/html5/thumbnails/36.jpg)
Example Heuristics: 8-puzzleExample: Eight-Puzzle
Start State Goal State
2
45
6
7
8
1 2 3
4
67
81
23
45
6
7
81
23
45
6
7
8
5
September 7, 2006 3 COMP-424 Lecture 2Consider the following heuristics:
• h1 = number of misplaced tiles (=7 in example)
• h2 = total Manhattan distance (i.e., no. of squares from desired locationof each tile) (= 2+3+3+2+4+2+0+2 = 18 in example)
• Which one is better?
• Intuitively, h2 seems better: it varies more across the state space, andits estimate is closer to the true cost.
COMP-424, Lecture 2 - January 9, 2013 71
Where Do Heuristics Come From?
• Prior knowledge about the problem
• Exact solution cost of a relaxed version of the problem
– E.g. If the rules of the 8-puzzle are relaxed so that a tile can moveanywhere, then h1 gives the shortest solution
– If the rules are relaxed so that a tile can move to any adjacent square,then h2 gives the shortest solution
• Learning from prior experience - we will study such algorithms later.
COMP-424, Lecture 2 - January 9, 2013 72