820 likes | 1.23k Views
REPRESENTATION METHODS. Represent the information:
E N D
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. 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? CS 331/531 Dr M M Awais
Semantic Nets (Graphical Methods) Animal Super Class: Animal IS-A IS-A IS-A Mammal Bird Large IS-A IS-A IS-A small Elephant whales instance instance Instance sparrow crow charlie CS 331/531 Dr M M Awais
Semantic Nets (Graphical Methods) Animal IS_A: Relation Animal: Super Bird: Class Mammal: Class IS-A IS-A IS-A Mammal Bird Large IS-A IS-A IS-A small Elephant whales instance instance Instance sparrow crow charlie CS 331/531 Dr M M Awais
Semantic Nets (Graphical Methods) Animal IS-A IS-A IS-A Mammal Bird Large IS-A IS-A IS-A small Elephant whales instance instance Instance sparrow crow charlie Instance: defines a specific instance of a class CS 331/531 Dr M M Awais
Semantic Nets (Graphical Methods) Animal IS-A IS-A IS-A Mammal Bird Large IS-A IS-A IS-A small Elephant whales instance instance Instance sparrow crow charlie CS 331/531 Dr M M Awais
Semantic Nets (Graphical Methods) Animal IS-A IS-A IS-A Mammal Bird Large IS-A IS-A IS-A small Elephant whales instance instance Instance sparrow crow charlie bananas likes Can have attribute link: likes for instance, class, superclass CS 331/531 Dr M M Awais
SEARCH METHODS • Formulate a problem as a search • Can answer queries such as: • Is CHARLIE an animal? CS 331/531 Dr M M Awais
Search Representation Animal Level 0: Root node Mammal Bird Large small Elephant whales sparrow crow charlie CS 331/531 Dr M M Awais
Search Representation Animal Level 0: Root node Mammal Level 1 Bird Large small Elephant whales sparrow crow charlie CS 331/531 Dr M M Awais
Search Representation Animal Level 0: Root node Mammal Level 1 Bird Large small Elephant whales Level 2 sparrow crow charlie CS 331/531 Dr M M Awais
Search Representation Animal Level 0: Root node Mammal Level 1 Bird Large small Elephant whales Level 2 sparrow crow charlie Level 3 CS 331/531 Dr M M Awais
Answering Queries Is charlie an animal? Answer: Traverse the tree If charlie node present then answer is YES otherwise NO Animal Level 0: Root node Mammal Level 1 Bird Large small Elephant whales Level 2 sparrow crow charlie Level 3 CS 331/531 Dr M M Awais
Answering Queries Is charlie an animal? Answer: Traverse the tree If charlie node present then answer is YES otherwise NO Animal Level 0: Root node Mammal Level 1 Bird Large small Elephant whales Level 2 sparrow crow charlie Level 3 The way one traverses the tree defines SEARCH TYPES 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 CS 331/531 Dr M M Awais
Standard Terms Animal Root node Mammal Bird Large small Elephant whales sparrow crow charlie CS 331/531 Dr M M Awais
Standard Terms Animal Childof Animal node Mammal Bird Large small Elephant whales sparrow crow charlie CS 331/531 Dr M M Awais
Standard Terms Animal Mammal Bird Bird and Mammal are Siblings Large small Elephant whales sparrow crow charlie CS 331/531 Dr M M Awais
Standard Terms Animal Root node Mammal Bird Large small Elephant whales sparrow crow charlie GOAL node Path to a node is the list of nodes from the root to the goal node. CS 331/531 Dr M M Awais
Standard Terms Animal Root node Mammal Bird Large small Elephant whales sparrow crow charlie GOAL node Path to a node is the list of nodes to the goal node (bold lines). CS 331/531 Dr M M Awais
How to Traverse the Tree to find PATH? Animal Mammal Bird Large small Elephant whales sparrow crow charlie 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? CS 331/531 Dr M M Awais
Exhaustive Search • One can systematically check every state that is reachable from initial state to end out 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 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??? 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 CS 331/531 Dr M M Awais
d a c a b c d g f e b Graphs VS Trees • Compare the searches in the two (which is efficient) 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 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 costg(x), depth 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 costg(x), depth 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) CS 331/531 Dr M M Awais
Example: Romania 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 CS 331/531 Dr M M Awais
Tree search example CS 331/531 Dr M M Awais
Tree search example CS 331/531 Dr M M Awais
Tree search example Keep on expanding unless you reach the goal 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 ∞) CS 331/531 Dr M M Awais
Blind Search: Strategies • Breadth First (Breadth wise expansion) • Depth First (Depth wise expansion) • Iterative Deepening (combination) CS 331/531 Dr M M Awais
Breadth-first search • Expand shallowest unexpanded node • Implementation: • FIFO queue, i.e., new successors go at end CS 331/531 Dr M M Awais
Breadth-first search CS 331/531 Dr M M Awais
Breadth-first search CS 331/531 Dr M M Awais
Breadth-first search CS 331/531 Dr M M Awais
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) CS 331/531 Dr M M Awais
Breath First: Algorithm • 1. Start with queue = [initial - state] and found = FALSE • 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 CS 331/531 Dr M M Awais
Goal: D • Open = [A]; closed = [] • Evaluate A not goal CS 331/531 Dr M M Awais
Goal: D • Open = [A]; closed = [] • Evaluate A not goal • Open = [B,C];closed =[A] • Evaluate B not goal CS 331/531 Dr M M Awais
Goal: D • Open = [A]; closed = [] • Evaluate A not goal • Open = [B,C];closed =[A] • Evaluate B not goal • Open = [C,D,E];closed = [B,A] • Evaluate C not goal CS 331/531 Dr M M Awais
Goal: D • Open = [A]; closed = [] • Evaluate A not goal • Open = [B,C];closed =[A] • Evaluate B not goal • Open = [C,D,E];closed = [B,A] • Evaluate C not goal • Open = [D,E,G,F];closed = [C,B,A] • Evaluate D is goal: STOP 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) 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 CS 331/531 Dr M M Awais
Depth-first search • Expand deepest unexpanded node • Implementation: • LIFO queue, i.e., put successors at front CS 331/531 Dr M M Awais
Depth-first search CS 331/531 Dr M M Awais