Presentation is loading. Please wait.

Presentation is loading. Please wait.

Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the.

Similar presentations


Presentation on theme: "Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the."— Presentation transcript:

1 Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the state space?

2 Example 1: Romania Initial state – Arad Actions – Go from one city to another Transition model – If you go from city A to city B, you end up in city B Goal state – Bucharest Path cost – Sum of edge costs On vacation in Romania; currently in Arad Flight leaves tomorrow from Bucharest

3 Example 2: The 8-puzzle States – Locations of tiles 8-puzzle: 181,440 states 15-puzzle: 1.3 trillion states 24-puzzle: 10 25 states Actions – Move blank left, right, up, down Path cost – 1 per move Finding the optimal solution of n-Puzzle is NP-hard

4 Review: Tree search Given: initial state, goal state, actions, transition model, path cost Find: lowest-cost path from initial state to goal Initialize the frontier using the starting state While the frontier is not empty – Choose a frontier node to expand according to search strategy – If the node contains the goal state, return solution – Else expand the node and add its children to the frontier

5 Review: Search tree The root node corresponds to the starting state The children of a node correspond to the successor states of that node’s state A path through the tree corresponds to a sequence of actions – A solution is a path ending in the goal state Nodes vs. states – A state is a representation of a physical configuration, while a node is a data structure that is part of the search tree ……… … Starting state Successor state Action Goal state

6 Tree search example

7

8 Frontier

9 Handling repeated states Initialize the frontier using the starting state While the frontier is not empty – Choose a frontier node to expand according to search strategy – If the node contains the goal state, return solution – Else expand the node and add its children to the frontier To handle repeated states: – Keep an explored set; add each node to the explored set every time you expand it – Every time you add a node to the frontier, check whether it already exists in the frontier with a higher path cost, and if yes, replace that node with the new one

10 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? – Optimality: does it always find a least-cost solution? – Time complexity: number of nodes generated – Space complexity: maximum number of nodes in memory Time and space complexity are measured in terms of – b: maximum branching factor of the search tree – d: depth of the optimal solution – m: maximum length of any path in the state space (may be infinite)

11 Uninformed search strategies Uninformed search strategies use only the information available in the problem definition Breadth-first search Uniform-cost search Depth-first search Iterative deepening search

12 Breadth-first search Expand shallowest unexpanded node Implementation: – frontier is a FIFO queue, i.e., new successors go at end A DF BC EG

13 Breadth-first search Expand shallowest unexpanded node Implementation: – frontier is a FIFO queue, i.e., new successors go at end A DF BC EG

14 Breadth-first search Expand shallowest unexpanded node Implementation: – frontier is a FIFO queue, i.e., new successors go at end A DF BC EG

15 Breadth-first search Expand shallowest unexpanded node Implementation: – frontier is a FIFO queue, i.e., new successors go at end A DF BC EG

16 Breadth-first search Expand shallowest unexpanded node Implementation: – frontier is a FIFO queue, i.e., new successors go at end A DF BC EG

17 Properties of breadth-first search Complete? Yes (if branching factor b is finite) Optimal? Yes – if cost = 1 per step Time? Number of nodes in a b-ary tree of depth d: O(b d ) (d is the depth of the optimal solution) Space? O(bd)O(bd) Space is the bigger problem (more than time)

18 Uniform-cost search For each frontier node, save the total cost of the path from the initial state to that node Expand the frontier node with the lowest path cost Implementation: frontier is a priority queue ordered by path cost Equivalent to breadth-first if step costs all equal

19 Illustration of uniform cost search (same as Dijkstra’s shortest path algorithm) Source: WikipediaWikipedia

20 Properties of uniform-cost search Complete? Yes, if step cost is greater than some positive constant ε (we don’t want infinite sequences of steps that have a finite total cost) Optimal? Yes – nodes expanded in increasing order of path cost Time? Number of nodes with path cost ≤ cost of optimal solution (C*), O(b C*/ ε ) This can be greater than O(b d ): the search can explore long paths consisting of small steps before exploring shorter paths consisting of larger steps Space? O(b C*/ ε )

21 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

22 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

23 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

24 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

25 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

26 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

27 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

28 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

29 Depth-first search Expand deepest unexpanded node Implementation: – frontier = LIFO queue, i.e., put successors at front A DF BC EG

30 Properties of depth-first search Complete? Fails in infinite-depth spaces, spaces with loops Modify to avoid repeated states along path  complete in finite spaces Optimal? No – returns the first solution it finds Time? Could be the time to reach a solution at maximum depth m: O(b m ) Terrible if m is much larger than d But if there are lots of solutions, may be much faster than BFS Space? O(bm), i.e., linear space!

31 http://xkcd.com/761/

32 Iterative deepening search Use DFS as a subroutine 1.Check the root 2.Do a DFS searching for a path of length 1 3.If there is no path of length 1, do a DFS searching for a path of length 2 4.If there is no path of length 2, do a DFS searching for a path of length 3…

33 Iterative deepening search

34

35

36

37 Properties of iterative deepening search Complete? Yes Optimal? Yes, if step cost = 1 Time? (d+1)b 0 + d b 1 + (d-1)b 2 + … + b d = O(b d ) Space? O(bd)


Download ppt "Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the."

Similar presentations


Ads by Google