![Page 1: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/1.jpg)
Uninformed Search (Ch. 3-3.4)
1
![Page 2: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/2.jpg)
Search
Goal based agents need to search to find apath from their start to the goal (a path is asequence of actions, not states)
For now we consider problem solving agentswho search on atomically structured spaces
Today we will focus on uninformed searches,which only know cost between states but noother extra information
2
![Page 3: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/3.jpg)
Search
In the vacuum example, the states and actionsI gave upfront (so only one option)
In more complex environments, we have a choice of how to abstract the problem intosimple (yet expressive) states and actions
The solution to the abstracted problem shouldbe able to serve as the basis of a more detailedproblem (i.e. fit the detailed solution inside)
3
![Page 4: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/4.jpg)
Search
Example: Google maps gives direction bytelling you a sequence of roads and does notdictate speed, stop signs/lights, road lane
4
![Page 5: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/5.jpg)
Search
In deterministic environments the search solution is a single sequence (list of actions)
Stochastic environments need multiple sequences to account for all possible outcomesof actions
It can be costly to keep track of all of theseand might be better to keep the most likelyand search again when off the main sequences
5
![Page 6: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/6.jpg)
Search
There are 5 parts to search:1. Initial state2. Actions possible at each state3. Transition model (result of each action)4. Goal test (are we there yet?)5. Path costs/weights (not stored in states)
(related to performance measure)
In search we normally fully see the problemand the initial state and compute all actions
6
![Page 7: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/7.jpg)
Small examples
Here is our vacuum world again:
2. For all states, we have actions: L, R or S3. Transition model = black arrows5. Path cost = ??? (from performance measure)
1. initial
4. goals
7
![Page 8: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/8.jpg)
Small examples
8-Puzzle1. (semi) Random2. All states: U,D,L,R4. As shown here5. Path cost = 1 (move count)3. Transition model (example):
Result( ,D) =
(see: https://www.youtube.com/watch?v=DfVjTkzk2Ig)
8
![Page 9: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/9.jpg)
Small examples
8-Puzzle is NP complete so to find the bestsolution, we must brute force
3x3 board = = 181,440 states
4x4 board = 1.3 trillion statesSolution time: milliseconds
5x5 board = 1025 statesSolution time: hours
9
![Page 10: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/10.jpg)
Small examples
8-Queens: how to fit 8 queens on a 8x8 boardso no 2 queens can capture each other
Two ways to model this:Incremental = each action is to
add a queen to the board(1.8 x 1014 states)
Complete state formulation = all 8 queens starton board, action = move a queen(2057 states)
10
![Page 11: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/11.jpg)
Real world examples
Directions/traveling (land or air)
Model choices: only have interstates?Add smaller roads, with increased cost?(pointless if they are never taken)
11
![Page 12: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/12.jpg)
Real world examples
Traveling salesperson problem (TSP): Visiteach location exactly once and return to start
Goal: Minimize distance traveled
13
![Page 13: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/13.jpg)
Search algorithm
To search, we will build a tree with the root asthe initial state
(Use same procedure for multiple algorithms)
14
![Page 14: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/14.jpg)
Search algorithm
What are states/actions for this problem?
15
![Page 15: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/15.jpg)
Search algorithm
Multiple options, but this is a good choice
16
![Page 16: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/16.jpg)
Search algorithm
Multiple options, but this is a good choice
17
A
B C
turn left turn right
E D F G
I H
L J
... ... ......
![Page 17: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/17.jpg)
Search algorithm
What are the problems with this?
18
![Page 18: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/18.jpg)
Search algorithm19
![Page 19: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/19.jpg)
Search algorithm
We can remove visiting states multiple timesby doing this:
But this is still not necessarily all that great...
21
![Page 20: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/20.jpg)
Search algorithm
When we find a goal state, we can back trackvia the parent to get the sequence
To keep track of the unexplored nodes, we willuse a queue (of various types)
The explored set is probably best as a hashtable for quick lookup (have to ensure similarstates reached via alternative paths are thesame in the has, can be done by sorting)
23
![Page 21: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/21.jpg)
Search algorithm
The search algorithms metrics/criteria:1. Completeness (does it terminate with a valid solution)2. Optimality (is the answer the best solution)3. Time (in big-O notation)4. Space (big-O)
b = maximum branching factord = minimum depth of a goalm = maximum length of any path
25
![Page 22: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/22.jpg)
Breadth first search
Breadth first search checks all states whichare reached with the fewest actions first
(i.e. will check all states that can be reached by a single action from the start, next all states that can be reached by two actions, then three...)
27
![Page 23: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/23.jpg)
Breadth first search
(see: https://www.youtube.com/watch?v=5UfMU9TsoEM)(see: https://www.youtube.com/watch?v=nI0dT288VLs)
28
![Page 24: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/24.jpg)
Breadth first search
BFS can be implemented by using a simpleFIFO (first in, first out) queue to track thefringe/frontier/unexplored nodes
Metrics for BFS:Complete (i.e. guaranteed to find solution if exists)Non-optimal (unless uniform path cost)Time complexity = O(bd)Space complexity = O(bd)
29
![Page 25: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/25.jpg)
Breadth first search
Exponential problems are not very fun, as seenin this picture:
30
![Page 26: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/26.jpg)
Uniform-cost search
Uniform-cost search also does a queue, butuses a priority queue based on the cost(the lowest cost node is chosen to be explored)
32
![Page 27: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/27.jpg)
Uniform-cost search
The only modification is when exploring anode we cannot disregard it if it has alreadybeen explored by another node
We might have found a shorter path and thusneed to update the cost on that node
We also do not terminate when we find a goal,but instead when the goal has the lowestcost in the queue.
33
![Page 28: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/28.jpg)
Uniform-cost search
UCS is..
1. Complete (if costs strictly greater than 0)2. Optimal
However....3&4. Time complexity = space complexity
= O(b1+C*/min(path cost)), where C* cost ofoptimal solution (much worse than BFS)
34
![Page 29: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/29.jpg)
Depth first search
DFS is same as BFS except with a FILO (or LIFO) instead of a FIFO queue
35
![Page 30: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/30.jpg)
Depth first search
Metrics:1. Might not terminate (not complete) (e.g. in
vacuum world, if first expand is action L)2. Non-optimal (just... no)3. Time complexity = O(bm)4. Space complexity = O(b*m)
Only way this is better than BFS is the space complexity...
36
![Page 31: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/31.jpg)
Depth limited search
DFS by itself is not great, but it has two (very)useful modifications
Depth limited search runs normal DFS, but if it is at a specified depth limit, you cannot havechildren (i.e. take another action)
Typically with a little more knowledge, youcan create a reasonable limit and makes thealgorithm correct
37
![Page 32: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/32.jpg)
Depth limited search
However, if you pick the depth limit before d,you will not find a solution (not correct, butwill terminate)
38
![Page 33: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/33.jpg)
Iterative deepening DFS
Probably the most useful uninformed searchis iterative deepening DFS
This search performs depth limited search with maximum depth 1, then maximum depth 2, then 3... until it finds a solution
39
![Page 34: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/34.jpg)
Iterative deepening DFS40
![Page 35: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/35.jpg)
Iterative deepening DFS
The first few states do get re-checked multipletimes in IDS, however it is not too many
When you find the solution at depth d, depth 1is expanded d times (at most b of them)
The second depth are expanded d-1 times(at most b2 of them)
Thus
41
![Page 36: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/36.jpg)
Iterative deepening DFS
Metrics:1. Complete2. Non-optimal (unless uniform cost)3. O(bd)4. O(b*d)
Thus IDS is better in every way than BFS(asymptotically)
Best uninformed we will talk about
42
![Page 37: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/37.jpg)
Bidirectional search
Bidirectional search starts from both the goaland start (using BFS) until the trees meet
This is better as 2*(bd/2) < bd
(the space is much worse than IDS, so onlyapplicable to small problems)
43
![Page 38: Uninformed Search (Ch. 3-3.4) › ... › slides › week3 › 02.03.20.pdf · 2020-02-10 · Uninformed Search (Ch. 3-3.4) 1. Search Goal based agents need to search to find a path](https://reader033.vdocuments.mx/reader033/viewer/2022053011/5f0e692f7e708231d43f1d3a/html5/thumbnails/38.jpg)
Uninformed search44