48
Materials Ch 2 & 3 of Artificial Intelligence A Systems Approach by Tim Jones Chapters 3 and 4 of Artificial Intelligence a Modern Approach by Russell and Norvig

Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Embed Size (px)

Citation preview

Page 1: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Materials

Ch 2 & 3 of Artificial Intelligence A Systems Approach by Tim Jones

Chapters 3 and 4 of Artificial Intelligence a Modern Approach by Russell and Norvig

Page 2: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Problem solving, search and control strategies

Page 3: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

GENERAL PROBLEM SOLVING

Page 4: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

GENERAL PROBLEM SOLVING

Page 5: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

GENERAL PROBLEM SOLVING

Page 6: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

GENERAL PROBLEM SOLVING

Page 7: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

AI: SEARCH AND CONTROL STRATEGIES

Page 8: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first
Page 9: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first
Page 10: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first
Page 11: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 11

Tree search algorithms

• Basic idea:– offline, simulated exploration of state space by generating

successors of already-explored states (a.k.a.~expandingstates)

Page 12: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 12

Tree search example

Page 13: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 13

Tree search example

Page 14: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 14

Tree search example

Page 15: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 15

Implementation: general tree search

Page 16: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 16

Implementation: states vs. nodes

• A state is a (representation of) a physical configuration• A node is a data structure constituting part of a search tree

includes state, parent node, action, path cost g(x), depth

• The Expand function creates new nodes, filling in the various fields and using the SuccessorFn of the problem to create the corresponding states.

Page 17: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Search strategies

• A search strategy is defined by picking the order of node expansion

• Strategies are evaluated along the following dimensions:– completeness: does it always find a solution if one exists?– time complexity: number of nodes generated– space complexity: maximum number of nodes in memory– optimality: does it always find a least-cost solution?–

• Time and space complexity are measured in terms of – b: maximum branching factor of the search tree– d: depth of the least-cost solution– m: maximum depth of the state space (may be ∞)–

Page 18: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Uninformed search strategies

• Uninformed search strategies use only the information available in the problem definition

•• Breadth-first search

•• Depth-first search

•• Depth-limited search

•• Iterative deepening search

Page 19: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Breadth-first search

• Expand shallowest unexpanded node

•• Implementation:

– fringe is a FIFO queue, i.e., new successors go at end

Page 20: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 20

Breadth-first search

• Expand shallowest unexpanded node

•• Implementation:

– fringe is a FIFO queue, i.e., new successors go at end

Page 21: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 21

Breadth-first search

• Expand shallowest unexpanded node

•• Implementation:

– fringe is a FIFO queue, i.e., new successors go at end

Page 22: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 22

Breadth-first search

• Expand shallowest unexpanded node

•• Implementation:

– fringe is a FIFO queue, i.e., new successors go at end

Page 23: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 23

Properties of breadth-first search

• Complete? Yes (if b is finite)•• Time? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1)•• Space? O(bd+1) (keeps every node in memory)•• Optimal? Yes (if cost = 1 per step)•

• Space is the bigger problem (more than time)•

Page 24: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 24

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 25: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 25

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 26: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 26

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 27: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 27

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 28: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 28

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 29: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 29

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 30: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 30

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 31: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 31

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 32: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 32

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 33: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 33

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 34: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 34

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 35: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 35

Depth-first search

• Expand deepest unexpanded node

•• Implementation:

– fringe = LIFO queue, i.e., put successors at front

Page 36: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 36

Properties of depth-first search

• Complete? No: fails in infinite-depth spaces, spaces with loops– Modify to avoid repeated states along path–

complete in finite spaces

• Time? O(bm): terrible if m is much larger than d– but if solutions are dense, may be much faster than breadth-first–

• Space? O(bm), i.e., linear space!•• Optimal? No•

Page 37: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Depth – Limited search• Alleviating the embarrassing failure of depth-first search in

infinite state spaces by supplying depth-first search with a predetermined depth-limit of l.

• Nodes at depth l are treated as if they have no successors.

• Unfortunately, it also introduces an additional source of incompleteness if we choose l<d

• It will also be non-optimal if we choose l>d

• ts time complexity is O(bl)and its space complexity is O(bl).

• Depth-first search can be viewed as a special case of depth-limited search with l=∞.

• depth-limited search has two modes of failure:• standard failure - no solution.

• cutoff failure - no solution within the depth limit

Page 38: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Depth-limited search

= depth-first search with depth limit l,

i.e., nodes at depth l have no successors

• Recursive implementation:

Page 39: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Iterative deepening search

general strategy, often used in combination with depth-first tree search, that finds the best depth limit. It does this by gradually increasing the limit - first 0, then 1, then 2, and so on - until a goal is found. This will occure when the depth reaches d, the depth of the shallowest goal node. The algorithm is shown in Figure DFS-15:

Combines the benefits of depth-first search and breadth-first search.Memory requirements are: O(bd)N(IterativeDeepeningSearch)=(d)b + (d-1)b2 + ... + (1)b2

This gives a time complexity of O(bd)

Page 40: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 40

Iterative deepening search l =0

Page 41: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 41

Iterative deepening search l =1

Page 42: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 42

Iterative deepening search l =2

Page 43: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 43

Iterative deepening search l =3

Page 44: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 44

Iterative deepening search• Number of nodes generated in a depth-limited search to depth d with

branching factor b: NDLS = b0 + b1 + b2 + … + bd-2 + bd-1 + bd

• Number of nodes generated in an iterative deepening search to depth dwith branching factor b:

NIDS = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd

• For b = 10, d = 5,•

– NDLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111–– NIDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456–

• Overhead = (123,456 - 111,111)/111,111 = 11%

Page 45: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 45

Properties of iterative deepening search

• Complete? Yes

•• Time? (d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd)

•• Space? O(bd)

•• Optimal? Yes, if step cost = 1

Page 46: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 46

Summary of algorithms

Page 47: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

14 Jan 2004 CS 3243 - Blind Search 47

Graph search

Page 48: Materials - FolajimiClassfolajimiclass.weebly.com/.../3/5/6/9/3569427/__uninformed_search.pdf · Iterative deepening search general strategy, often used in combination with depth-first

Summary

• Problem formulation usually requires abstracting away real-world details to define a state space that can feasibly be explored

• Variety of uninformed search strategies

• Iterative deepening search uses only linear space and not much more time than other uninformed algorithms