- 265 Views
- Updated On :
- Presentation posted in: Pets / Animals

REPRESENTATION METHODS. Represent the information:

REPRESENTATION METHODS

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - 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

- Compare the searches in the two (which is efficient)

CS 331/531 Dr M M Awais

- 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

- 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

- 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

- 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

CS 331/531 Dr M M Awais

- 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

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

Keep on expanding unless you reach the goal

CS 331/531 Dr M M Awais

- 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

- Breadth First (Breadth wise expansion)
- Depth First (Depth wise expansion)
- Iterative Deepening (combination)

CS 331/531 Dr M M Awais

- Expand shallowest unexpanded node
- Implementation:
- FIFO queue, i.e., new successors go at end

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

- 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

- 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 Dis 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

- 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

- Expand deepest unexpanded node
- Implementation:
- LIFO queue, i.e., put successors at front

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

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

- Modify to avoid repeated states along path
- 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

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

CS 331/531 Dr M M Awais

Goal: C

- Open=[A],closed=[]
- Evaluate A not a goal

CS 331/531 Dr M M Awais

Goal: C

- Open=[A],closed=[]
- Evaluate A not a goal

- Open=[B,C];closed=[A]
- Evaluate Bnot a goal

CS 331/531 Dr M M Awais

Goal: C

- 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

CS 331/531 Dr M M Awais

Goal: C

- 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

CS 331/531 Dr M M Awais

Goal: C

- 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

CS 331/531 Dr M M Awais

Goal: C

- 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

CS 331/531 Dr M M Awais

Goal: C

- 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

CS 331/531 Dr M M Awais

Goal: C

- 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

CS 331/531 Dr M M Awais

Goal: C

- 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

CS 331/531 Dr M M Awais

- depth-first search with depth limit L
- nodes at depth Lhave no successors
- Do not apply depth first after a certain depth

CS 331/531 Dr M M Awais

For depth 0, evaluate the root node and stop

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais

- 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 d with 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%

CS 331/531 Dr M M Awais

- Complete? Yes
- Time?(d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd)
- Space?O(bd)
- Optimal? Yes, if step cost = 1

CS 331/531 Dr M M Awais

CS 331/531 Dr M M Awais