Presentation is loading. Please wait.

Presentation is loading. Please wait.

State space representations and search strategies - 2 Spring 2007, Juris Vīksna.

Similar presentations


Presentation on theme: "State space representations and search strategies - 2 Spring 2007, Juris Vīksna."— Presentation transcript:

1 State space representations and search strategies - 2 Spring 2007, Juris Vīksna

2 Search strategies - A* - state space h*(x)- a minimum path weight from x to the goal state h(x)- heuristic estimate of h*(x) g*(x)- a minimum path weight from I to x g(x)- estimate of g*(x) (i.e. minimal weight found as far f*(x) = g*(x) + h*(x) f(x) = g(x) + h(x)

3 Search strategies - A* [Adapted from J.Pearl]

4 Search strategies - A* A*Search(state space  =,h) Open  { } Closed   while Open   do  ExtractMin(Open) [minimum for f x ] if Goal(x,  ) then return x Insert(,Closed) for y  Child(x,  ) do g y = g x + W(x,y) f y = g y + h(y) if there is no  Closed with f  f y then Insert(,Open) [replace existing, if present] return fail

5 Complete search Definition An algorithm is said to be complete if it terminates with a solution when one exists.

6 Admissible search Definition An algorithm is admissible if it is guaranteed to return an optimal solution (with minimal possible path weight from the start state to a goal state) whenever a solution exists.

7 Dominant search Definition An algorithm A is said to dominate algorithm B, if every node expanded by A is also expanded by B. Similarly, A strictly dominates B if A dominates B and B does not dominate A. We will also use the phrase “more efficient than” interchangeably with dominates.

8 Optimal search Definition An algorithm is said to be optimal over a class of algorithms if it dominates all members of that class.

9 Locally finite state spaces Definition A state space is locally finite, if for every x  S, there is only a finite number of y  S such that (x,y)  P there exists  > 0 such that for all (x,y)  P we have W(x,y)  .

10 Completeness of A* Theorem A* algorithm is complete on locally finite state spaces.

11 Admissibility of A* Definition A heuristic function h is said to be admissible if 0  h(n)  h*(n) for all n  S.

12 Admissibility of A* Theorem A* which uses admissible heuristic function is admissible on locally finite state spaces.

13 Admissibility of A* Lemma If A* uses admissible heuristic function h, then at any time before A* terminates there exists a node n’ in Open, such that f(n’)  f*(I).

14 Admissibility of A* Theorem A* which uses admissible heuristic function is admissible on locally finite state spaces.

15 Informedness of heuristic functions Definition A heuristic function h 2 is said to be more informed than h 1, if both h 1 and h 2 are admissible and h 2 (n) > h 1 (n) for every non-goal node n  S. Similarly, an A* algorithm using h 2 is said to be more informed than that using h 1.

16 Dominance of A* Theorem If A 2 * is more informed than A 1 *, then A 2 * dominates A 1 *.

17 Dominance of A* Lemma Any node expanded by A* cannot have an f value exceeding f*(I), i.e. f(n)  f*(I) for all nodes expanded.

18 Dominance of A* Lemma Every node n on Open for which f(n) < f*(I) will eventually be expanded by A*.

19 C-bounded paths Definition We say that path P is C-bounded if every node along this path satisfies g P (n)+h(n)  C. Similarly, if a strict inequality holds for every n along P, we say that P is strictly C-bounded. When it becomes necessary to identify which heuristic was used, we will use the notation C(h)-bounded.

20 C-bounded paths Theorem A sufficient condition for A* to expand a node n is that there exists some strictly f*(I)-bounded path P from I to n.

21 C-bounded paths Theorem A necessary condition for A* to expand a node n is that there exists a f*(I)-bounded path P from I to n.

22 Dominance of A* Theorem If A 2 * is more informed than A 1 *, then A 2 * dominates A 1 *.

23 Consistent heuristic functions Definition A heuristic function h is said to be consistent, if h(n)  k(n,n’) + h(n’) for all nodes n and n’. (where k(n,n’) denotes the weight of cheapest path from n to n’).

24 Monotone heuristic functions Definition A heuristic function h is said to be monotone, if h(n)  W(n,n’) + h(n’) for all (n,n’)  P.

25 Monotonicity and consistency Theorem Monotonicity and consistency are equivalent properties.

26 Monotonicity and admissibility Theorem Every monotone heuristic is also admissible.

27 A* with monotone heuristic Theorem An A* algorithm with monotone heuristic finds optimal paths to all expanded nodes, i.e. g(n) = g*(n) for all  Closed.

28 Some terminology A* - we just discussed that A- basically the same as A*, but we check whether we have reached a goal state already at the time when nodes are generated Z*- generalization of A*, instead of f(x) = g(x) + h(x) uses more general function f(x’) = F(E(x),f(x),h(X’)) Z- related to Z* similarly as A to A*

29 Implementation issues A*Search(state space  =,h) Open  { } Closed   while Open   do  ExtractMin(Open) [minimum for f x ] if Goal(x,  ) then return x Insert(,Closed) for y  Child(x,  ) do g y = g x + W(x,y) f y = g y + h(y) if there is no  Closed with f  f y then Insert(,Open) [replace existing, if present] return fail

30 Implementation issues - Heaps They are binary trees with all levels completed, except the lowest one which may have uncompleted section on the right side They satisfy so called Heap Property - for each subtree of heap the key for the root of subtree must be at least as large as the keys for its (left and right) children

31 Implementation issues - Heaps 2 45 12 3 1 13

32 Implementation issues - Heaps 3 45 12 7 2 131 T(n) =  (h) =  (log n) Insert

33 Implementation issues - Heaps Delete 3 45 12 7 2 1314 T(n) =  (h) =  (log n)

34 Implementation issues - Heaps ExtractMin 3 45 12 7 1314 T(n) =  (h) =  (log n) 1

35 Implementation issues - BST T is a binary search tree, if it is a binary tree (with a key associated with each node) for each node x in T the keys at all nodes of left subtree of x are not larger than key at node x and keys at all nodes of right subtree of x are not smaller than key at node x

36 Implementation issues - BST 3 5 12 7 11

37 Implementation issues - BST Insert 3 5 13 142 7 12 9 108 11

38 Implementation issues - BST Delete 3 5 13 142 7 12 9 108 11

39 Implementation issues - BST Delete 3 5 13 142 7 12 9 118 10

40 Implementation issues - BST Delete 3 5 13 352 7 12 20 3018 31 19

41 Implementation issues - AVL trees T is an AVL tree, if it is a binary search tree for each node x in T we have Height(LC(x)) – Height(RC(x))  {– 1, 0, 1}

42 Implementation issues - skip lists 4 5 9 11 13  16 3 “Perfect” Skip List

43 How to chose a heuristic?  Original problem P Relaxed problem P' A set of constraints removing one or more constraints P is complex P' becomes simpler  Use cost of a best solution path from n in P' as h(n) for P  Admissibility: h* h cost of best solution in P >= cost of best solution in P' Solution space of P Solution space of P'

44 How to chose a heuristic - 8-puzzle  Example: 8-puzzle –Constraints: to move from cell A to cell B cond1: there is a tile on A cond2: cell B is empty cond3: A and B are adjacent (horizontally or vertically) –Removing cond2: h2 (sum of Manhattan distances of all misplaced tiles) –Removing cond2 and cond3: h1 (# of misplaced tiles) –Removing cond3: h3, a new heuristic function

45 How to chose a heuristic - 8-puzzle h3: repeat if the current empty cell A is to be occupied by tile x in the goal, move x to A. Otherwise, move into A any arbitrary misplaced tile. until the goal is reached  h2>= h3 >= h1 h1(start) = 7 h2(start) = 18 h3(start) = 7

46 How to chose a heuristic - TSP Example: TSP. A legal tour is a (Hamiltonian) circuit

47 How to chose a heuristic - TSP Example: TSP. A legal tour is a (Hamiltonian) circuit –It is a connected second degree graph (each node has exactly two adjacent edges) Removing the connectivity constraint leads to h1: find the cheapest second degree graph from the given graph (with o(n^3) complexity) The given complete graph A legal tour Other second degree graphs

48 How to chose a heuristic - TSP –It is a spanning tree (when an edge is removed) with the constraint that each node has at most 2 adjacent edges) Removing the constraint leads to h2: find the cheapest minimum spanning tree from the given graph (with O(n^2/log n) The given graph A legal tour Other MST

49 How complicated heuristic to chose? [Adapted from R.Shinghal]

50 Relaxing optimality requirements is f = g + h the best choice, if we want to minimize search efforts, not solution cost? even if solution cost is important, admissible f can lead to non terminating A*. Can speed be gained by decreasing solution quality? it may be hard to find good admissible heuristic. What happens, if we do not require admissibility?

51 Relaxing optimality requirements Weighted evaluation function f w (n) = (1–w)g(n) + w h(n) w = 0 - uniform cost w = 1/2- A* w = 1- BestFirst

52 Relaxing optimality requirements Bounded decrease in solution quality?

53 Relaxing optimality requirements Dynamic Weighting f(n) = g(n) + h(n) +  (1 – d(n)/N) h(n) d(n)- depth of a node N- anticipated depth of a goal node

54 Relaxing optimality requirements Dynamic Weighting f(n) = g(n) + h(n) +  (1 – d(n)/N) h(n) Theorem If h is admissible, then algorithm is  -admissible, i.e. it finds a path with a cost at most (1+  )C*.

55 Relaxing optimality requirements A  * algorithm Uses 2 lists - Open and Focal Focal is a sublist of Open containing nodes that do not deviate from the lowest f node by a factor greater than 1+ . A  * selects the node from Focal with lowest h F value h F (n) - a second heuristic function estimating the computational effort to complete the search starting from n

56 Relaxing optimality requirements A  * algorithm Theorem If h is admissible, then A  * algorithm is  -admissible, i.e. it finds a path with a cost at most (1+  )C*. Note h F does not need to be admissible

57 Relaxing optimality requirements [Adapted from J.Pearl]

58 Relaxing optimality requirements Theorem If h(n) - h*(n)  , then A* algorithm is  -admissible, i.e. it finds a path with a cost at most (1+  )C*.

59 Relaxing optimality requirements Example Consider SP with arc costs uniformly drawn from [0,1]. N - number of arcs between n and a goal h*(n) tends to be close to N/2 for large N The only admissible heuristic is h(n) = 0

60 Relaxing optimality requirements [Adapted from J.Pearl]

61 Relaxing optimality requirements [Adapted from J.Pearl]

62 Relaxing optimality requirements R  * algorithm selects node from Open with the lowest C  (n) value Three common risk measures: R 1 - the worst case risk R 2 - the probability of suboptimal termination R 3 - the expected risk

63 Relaxing optimality requirements [Adapted from J.Pearl]

64 Relaxing optimality requirements [Adapted from J.Pearl]

65 Relaxing optimality requirements R  * algorithm selects node from Open with the lowest C  (n) value Theorem For risk measures R 1, R 2, R 3 algorithm R  * is  -risk admissible, i.e. terminates with a solution cost C, such that R(C)  for all nodes left in Open.

66 Some performance examples [Adapted from J.Pearl]

67 Some performance examples [Adapted from J.Pearl]

68 Some performance examples [Adapted from J.Pearl]

69 Performance of search strategy T - number of nodes in search graph D - number fo nodes in solution path We define penetrance P as follows: P = D/T We have 0 < P < 1

70 Performance of search strategy T - number of nodes in search graph D - number fo nodes in solution path We define branching factor B as follows: T = B + B 2 +... + B D T = B(B D – 1)/(B – 1) We have B  1

71 Performance of search strategy [Adapted from R.Shinghal]

72 Performance of search strategy [Adapted from R.Shinghal]


Download ppt "State space representations and search strategies - 2 Spring 2007, Juris Vīksna."

Similar presentations


Ads by Google