uninformed search (ch. 3-3.4) - university of minnesota...uninformed search (ch. 3-3.4) 1....
TRANSCRIPT
![Page 1: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/1.jpg)
Uninformed Search (Ch. 3-3.4)1
![Page 2: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/2.jpg)
Announcements
Writing 1 posted- use latex- run AIMA (book) code
2
![Page 3: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/3.jpg)
Search algorithm
For the next few searches we use:
3
![Page 4: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/4.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
4
![Page 5: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/5.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...)
5
![Page 6: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/6.jpg)
Breadth first search
(see: https://www.youtube.com/watch?v=5UfMU9TsoEM)(see: https://www.youtube.com/watch?v=nI0dT288VLs)
6
![Page 7: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/7.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)
7
![Page 8: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/8.jpg)
Breadth first search
Exponential problems are not very fun, as seenin this picture:
8
![Page 9: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/9.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)
9
![Page 10: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/10.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.
10
![Page 11: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/11.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)
11
![Page 12: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/12.jpg)
Depth first search
DFS is same as BFS except with a FILO (or LIFO) instead of a FIFO queue
12
![Page 13: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/13.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...
13
![Page 14: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/14.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
14
![Page 15: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/15.jpg)
Depth limited search
However, if you pick the depth limit before d,you will not find a solution (not correct, butwill terminate)
15
![Page 16: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/16.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
16
![Page 17: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/17.jpg)
Iterative deepening DFS17
![Page 18: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/18.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
18
![Page 19: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/19.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
19
![Page 20: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/20.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)
20
![Page 21: Uninformed Search (Ch. 3-3.4) - University of Minnesota...Uninformed Search (Ch. 3-3.4) 1. Announcements Writing 1 posted - use latex - run AIMA (book) code 2. Search algorithm For](https://reader036.vdocuments.us/reader036/viewer/2022063017/5fd9f02775097007763a436a/html5/thumbnails/21.jpg)
Uninformed search21