Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 search CS 331/531 Dr M M Awais REPRESENTATION METHODS Represent the information: Animals are generally divided into birds and mammals. Birds are further.

Similar presentations


Presentation on theme: "1 search CS 331/531 Dr M M Awais REPRESENTATION METHODS Represent the information: Animals are generally divided into birds and mammals. Birds are further."— Presentation transcript:

1 1 search CS 331/531 Dr M M Awais REPRESENTATION METHODS Represent the information: Animals are generally divided into birds and mammals. Birds are further classified into large birds and small birds. Small birds include sparrows, and crows. The large birds are ostriches. The mammals include whales, monkeys, and elephants. Charlie is a elephant.

2 2 search CS 331/531 Dr M M Awais Predicate types(Animals, Birds,Mammals) types(Birds, Largebirds, Smallbirds) Etc… Unify to answer the queries IS THERE ANY OTHER WAY?

3 3 search CS 331/531 Dr M M Awais Semantic Nets (Graphical Methods) Instance IS-A Animal Bird Mammal Elephant whales charlie small Large IS-A sparro w crow instance Super Class: Animal

4 4 search CS 331/531 Dr M M Awais Semantic Nets (Graphical Methods) Instance IS-A Animal Bird Mammal Elephant whales charlie small Large IS-A sparro w crow instance IS_A: Relation Animal: Super Bird: Class Mammal: Class

5 5 search CS 331/531 Dr M M Awais Semantic Nets (Graphical Methods) Instance IS-A Animal Bird Mammal Elephant whales charlie small Large IS-A sparro w crow instance Instance: defines a specific instance of a class

6 6 search CS 331/531 Dr M M Awais Semantic Nets (Graphical Methods) Instance IS-A Animal Bird Mammal Elephant whales charlie small Large IS-A sparro w crow instance

7 7 search CS 331/531 Dr M M Awais Semantic Nets (Graphical Methods) Instance IS-A Animal Bird Mammal Elephant whales charlie small Large IS-A sparro w crow instance banana s likes Can have attribute link: likes for instance, class, superclass

8 8 search CS 331/531 Dr M M Awais SEARCH METHODS Formulate a problem as a search Can answer queries such as: Is CHARLIE an animal?

9 9 search CS 331/531 Dr M M Awais Search Representation Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Level 0: Root node

10 10 search CS 331/531 Dr M M Awais Search Representation Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Level 0: Root node Level 1

11 11 search CS 331/531 Dr M M Awais Search Representation Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Level 0: Root node Level 1 Level 2

12 12 search CS 331/531 Dr M M Awais Search Representation Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Level 0: Root node Level 1 Level 2 Level 3

13 13 search CS 331/531 Dr M M Awais Answering Queries Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Level 0: Root node Level 1 Level 2 Level 3 Is charlie an animal? Answer: Traverse the tree If charlie node present then answer is YES otherwise NO

14 14 search CS 331/531 Dr M M Awais Answering Queries Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Level 0: Root node Level 1 Level 2 Level 3 Is charlie an animal? Answer: Traverse the tree If charlie node present then answer is YES otherwise NO The way one traverses the tree defines SEARCH TYPES

15 15 search CS 331/531 Dr M M Awais SEARCH METHODS Blind Search Breadth First Depth First Iterative Deepening Heuristic search Hill Climbing Best First A* Search

16 16 search CS 331/531 Dr M M Awais Standard Terms Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Root node

17 17 search CS 331/531 Dr M M Awais Standard Terms Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Child of Animal node

18 18 search CS 331/531 Dr M M Awais Standard Terms Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Bird and Mammal are Siblings

19 19 search CS 331/531 Dr M M Awais Standard Terms Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Root node Path to a node is the list of nodes from the root to the goal node. GOAL node

20 20 search CS 331/531 Dr M M Awais Standard Terms Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow Root node Path to a node is the list of nodes to the goal node (bold lines). GOAL node

21 21 search CS 331/531 Dr M M Awais How to Traverse the Tree to find PATH? Animal Bird Mammal Elephan t whales charlie smallLarge sparro w crow

22 22 search CS 331/531 Dr M M Awais ANALYSIS OF SEARCH STRATEGIES Completeness: is the strategy guaranteed to find a solution where there is one? Time Complexity:How long does it take to find a solution? Space Complexity:How much memory does it need to perform the search? Optimality:Does the strategy find the highest quality solution when there are several different solutions?

23 23 search CS 331/531 Dr M M Awais Exhaustive Search One can systematically check every state that is reachable from initial state to end state if it is a goal state. Search Space The set of all states is the search space For simple/small search space exhaustive search is applicable [BRUTE FORCE or BLIND SEARCH] For complex search space HEURISTIC SEARCH is used

24 24 search CS 331/531 Dr M M Awais GRAPHS AND TREES Graphs:- Consist of a set of nodes with links between them links can be directed / undirected Path is the sequence of nodes connected nodes via links. Acyclic graphs = (Paths linking a node with itself are absent) Trees???

25 25 search CS 331/531 Dr M M Awais Tree:- A tree is a special kind of graph with only one path to each node, usually represented with a special root node at the top Relationship between nodes Parent Children Sibling Ancestor Node,Descendant Node,Leaf Node

26 26 search CS 331/531 Dr M M Awais Graphs VS Trees Compare the searches in the two (which is efficient) a b c d a b c d e f g

27 27 search CS 331/531 Dr M M Awais Relating State and Graph Nodes Every physical state of a problem can be represented as a node in a graph/tree The link between the nodes represent action required to change the states For a navigation problem: Link:driving action Node:cities For the Wumpus world problem: Link:movement of the agent Node:present position of the agent

28 28 search CS 331/531 Dr M M Awais 8 Puzzle Problem: 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

29 29 search CS 331/531 Dr M M Awais 8 Puzzle Problem: 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

30 30 search CS 331/531 Dr M M Awais Tree search algorithms Basic idea: offline, simulated exploration of state space by generating successors of already-explored states (a.k.a.~expanding states)

31 31 search CS 331/531 Dr M M Awais Example: Romania

32 32 search CS 331/531 Dr M M Awais Example: Romania On holiday in Romania; currently in Arad. Flight leaves tomorrow from Bucharest Formulate goal: be in Bucharest Formulate problem: states: various cities actions: drive between cities Find solution: sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest

33 33 search CS 331/531 Dr M M Awais Tree search example

34 34 search CS 331/531 Dr M M Awais Tree search example

35 35 search CS 331/531 Dr M M Awais Tree search example Keep on expanding unless you reach the goal

36 36 search CS 331/531 Dr M M Awais 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 ∞)

37 37 search CS 331/531 Dr M M Awais Blind Search: Strategies Breadth First (Breadth wise expansion) Depth First (Depth wise expansion) Iterative Deepening (Depth Limit)

38 38 search CS 331/531 Dr M M Awais Breadth-first search Expand shallowest unexpanded node Implementation: FIFO queue, i.e., new successors go at end

39 39 search CS 331/531 Dr M M Awais Breadth-first search

40 40 search CS 331/531 Dr M M Awais Breadth-first search

41 41 search CS 331/531 Dr M M Awais Breadth-first search

42 42 search CS 331/531 Dr M M Awais Properties of breadth-first search Complete? Yes (if b is finite) Time? 1+b+b 2 +b 3 +… +b d + b(b d -1) = O(b d+1 ) Space? O(b d+1 ) (keeps every node in memory) Optimal? Yes (if cost = 1 per step) Space is the bigger problem (more than time)

43 43 search CS 331/531 Dr M M Awais 1.Start with queue = [initial - state] and found = FALSE 2.While queue not empty and not found do: (a)Remove the first node n from queue (b)if N is a goal state then found = TRUE (c )Find all the successor nodes of X, and put them on the end of the queue Breath First: Algorithm

44 44 search CS 331/531 Dr M M Awais 1.Open = [A]; closed = [] Evaluate A not goal Goal: D

45 45 search CS 331/531 Dr M M Awais 1.Open = [A]; closed = [] Evaluate A not goal 2.Open = [B,C];closed =[A] Evaluate B not goal Goal: D

46 46 search CS 331/531 Dr M M Awais 1.Open = [A]; closed = [] Evaluate A not goal 2.Open = [B,C];closed =[A] Evaluate B not goal 3.Open = [C,D,E];closed = [B,A] Evaluate C not goal Goal: D

47 47 search CS 331/531 Dr M M Awais 1.Open = [A]; closed = [] Evaluate A not goal 2.Open = [B,C];closed =[A] Evaluate B not goal 3.Open = [C,D,E];closed = [B,A] Evaluate C not goal 4.Open = [D,E,G,F];closed = [C,B,A] 1.Evaluate Dis goal: STOP Goal: D Path: A B D Path Cost: The cost in reaching D from A Path cost = 2 A to B=1, B to D=1 (assuming a unit cost between nodes)

48 48 search CS 331/531 Dr M M Awais Uniform-cost search Expand least-cost unexpanded node Implementation: queue ordered by path cost Equivalent to breadth-first if step costs all equal

49 49 search CS 331/531 Dr M M Awais Depth-first search Expand deepest unexpanded node Implementation: LIFO queue, i.e., put successors at front

50 50 search CS 331/531 Dr M M Awais Depth-first search

51 51 search CS 331/531 Dr M M Awais Depth-first search

52 52 search CS 331/531 Dr M M Awais Depth-first search

53 53 search CS 331/531 Dr M M Awais Depth-first search

54 54 search CS 331/531 Dr M M Awais Depth-first search

55 55 search CS 331/531 Dr M M Awais Depth-first search

56 56 search CS 331/531 Dr M M Awais Depth-first search

57 57 search CS 331/531 Dr M M Awais Depth-first search

58 58 search CS 331/531 Dr M M Awais Depth-first search

59 59 search CS 331/531 Dr M M Awais Depth-first search

60 60 search CS 331/531 Dr M M Awais Depth-first search

61 61 search CS 331/531 Dr M M Awais 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(b m ): 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

62 62 search CS 331/531 Dr M M Awais 1.Start with agenda = [initial - state] and found = FALSE 2.While agenda not empty and not found do: (a)Remove the first node N from agenda (b)if N is not in visited then (I)Add N to visited (II)if N is a goal state then found = TRUE (III)Put N’s successors on the front of the stack Depth First

63 63 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Goal: C

64 64 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Open=[B,C];closed=[A] Evaluate Bnot a goal Goal: C

65 65 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Open=[B,C];closed=[A] Evaluate B not a goal Open=[D,E,C];closed=[B,A] Evaluate D not a goal Goal: C

66 66 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Open=[B,C];closed=[A] Evaluate B not a goal Open=[D,E,C];closed=[B,A] Evaluate D not a goal Open=[H,I,E,C];closed=[D,B,A] Evaluate H not a goal Goal: C

67 67 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Open=[B,C];closed=[A] Evaluate B not a goal Open=[D,E,C];closed=[B,A] Evaluate D not a goal Open=[H,I,E,C];closed=[D,B,A] Evaluate H not a goal Open=[I,E,C];closed=[H,D,B,A] Evaluate I not a goal Goal: C

68 68 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Open=[B,C];closed=[A] Evaluate B not a goal Open=[D,E,C];closed=[B,A] Evaluate D not a goal Open=[H,I,E,C];closed=[D,B,A] Evaluate H not a goal Open=[I,E,C];closed=[H,D,B,A] Evaluate I not a goal Open=[E,C];closed=[I,H,D,B,A] Evaluate E not a goal Goal: C

69 69 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Open=[B,C];closed=[A] Evaluate B not a goal Open=[D,E,C];closed=[B,A] Evaluate D not a goal Open=[H,I,E,C];closed=[D,B,A] Evaluate H not a goal Open=[I,E,C];closed=[H,D,B,A] Evaluate I not a goal Open=[E,C];closed=[I,H,D,B,A] Evaluate E not a goal Open=[J,K,C];closed=[E,I,H,D,B,A] Evaluate J not a goal Goal: C

70 70 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Open=[B,C];closed=[A] Evaluate B not a goal Open=[D,E,C];closed=[B,A] Evaluate D not a goal Open=[H,I,E,C];closed=[D,B,A] Evaluate H not a goal Open=[I,E,C];closed=[H,D,B,A] Evaluate I not a goal Open=[E,C];closed=[I,H,D,B,A] Evaluate E not a goal Open=[J,K,C];closed=[E,I,H,D,B,A] Evaluate J not a goal Open=[K,C];closed=[K, E,I,H,D,B,A] Evaluate K not a goal Goal: C

71 71 search CS 331/531 Dr M M Awais Open=[A],closed=[] Evaluate A not a goal Open=[B,C];closed=[A] Evaluate B not a goal Open=[D,E,C];closed=[B,A] Evaluate D not a goal Open=[H,I,E,C];closed=[D,B,A] Evaluate H not a goal Open=[I,E,C];closed=[H,D,B,A] Evaluate I not a goal Open=[E,C];closed=[I,H,D,B,A] Evaluate E not a goal Open=[J,K,C];closed=[E,I,H,D,B,A] Evaluate J not a goal Open=[K,C];closed=[J,E,I,H,D,B,A] Evaluate K not a goal Open=[C];closed=[K,E,I,H,D,B,A] Evaluate C is goal: STOP Goal: C

72 72 search CS 331/531 Dr M M Awais Depth-limited search depth-first search with depth limit L nodes at depth L have no successors Do not apply depth first after a certain depth Iterative Deepening tries almost all depth limits Searches the tree with L=0, L=1, L=2, etc…

73 73 search CS 331/531 Dr M M Awais Iterative deepening search L=0 For depth 0, evaluate the root node and stop

74 74 search CS 331/531 Dr M M Awais Iterative deepening search L=1

75 75 search CS 331/531 Dr M M Awais Iterative deepening search L=1

76 76 search CS 331/531 Dr M M Awais Iterative deepening search L=1

77 77 search CS 331/531 Dr M M Awais Iterative deepening search L=2

78 78 search CS 331/531 Dr M M Awais Iterative deepening search L=2

79 79 search CS 331/531 Dr M M Awais Iterative deepening search L=3

80 80 search CS 331/531 Dr M M Awais Iterative deepening search Number of nodes generated in a depth-limited search to depth d with branching factor b: N DLS = b 0 + b 1 + b 2 + … + b d-2 + b d-1 + b d Number of nodes generated in an iterative deepening search to depth d with branching factor b: N IDS = (d+1)b 0 + d b 1 + (d-1)b 2 + … + 3b d-2 +2b d-1 + 1b d For b = 10, d = 5, N DLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 N IDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456 Overhead = (123,456 - 111,111)/111,111 = 11%

81 81 search CS 331/531 Dr M M Awais Properties of iterative deepening search Complete? Yes Time? (d+1)b 0 + d b 1 + (d-1)b 2 + … + b d = O(b d ) Space? O(bd) Optimal? Yes, if step cost = 1

82 82 search CS 331/531 Dr M M Awais Summary of algorithms


Download ppt "1 search CS 331/531 Dr M M Awais REPRESENTATION METHODS Represent the information: Animals are generally divided into birds and mammals. Birds are further."

Similar presentations


Ads by Google