Presentation is loading. Please wait.

Presentation is loading. Please wait.

Knowledge Representation

Similar presentations


Presentation on theme: "Knowledge Representation"— Presentation transcript:

1 Knowledge Representation
Fall 2016 COMP3710 Artificial Intelligence Computing Science Thompson Rivers University

2 Knowledge Representation
Course Outline Part I – Introduction to Artificial Intelligence Part II – Classical Artificial Intelligence Knowledge Representation Searching Search Methodoloties Advanced Search Genetic Algorithms (relatively new study area) Knowledge Represenation and Automated Reasoning Propositinoal and Predicate Logic Inference and Resolution for Problem Solving Rules and Expert Systems Part III – Machine Learning Part IV – Advanced Topics TRU-COMP3710 Knowledge Representation

3 Knowledge Representation
Unit Outcomes TRU-COMP3710 Knowledge Representation

4 Knowledge Representation
Reference Chapter 3. Knowledge Representation TRU-COMP3710 Knowledge Representation

5 Knowledge Representation
Unit Outline Introduction The Need for a Good Representation Example: Semantic Nets Inheritance Example: Frames Object-Oriented Programming Search Spaces Semantic Trees Search Trees Combinatorial Explosion Problem Reduction Goal Trees TRU-COMP3710 Knowledge Representation

6 The Need for a Good Representation
If, for a given problem, we have a means of checking a proposed solution, then we can solve the problem by testing all possible answers. – Marvin Minsky How to make a system solve a problem? A computer needs a representation of a problem in order to solve it. A representation must be: Efficient – not wasteful in time or resources. Useful – allows the computer to solve the problem. Meaningful – really relates to the problem. Any good idea? TRU-COMP3710 Knowledge Representation

7 Example: Semantic Nets
A semantic net is a graph with nodes, connected by edges. The nodes represent objects or properties. The edges represent relationships between the objects. TRU-COMP3710 Knowledge Representation

8 Knowledge Representation
Inheritance Inheritance is the process by which a subclass inherits properties from a superclass. Example: Mammals give birth to live young. Fido is a mammal. Therefore fido gives birth to live young. In some cases, as in the example above, inherited values may need to be overridden. (Fido may be a mammal, but if he’s male then he probably won’t give birth). Can we expand semantic nets to include inheritance? TRU-COMP3710 Knowledge Representation

9 Knowledge Representation
Example: Frames A sort of extension of semantic nets with inheritance A frame system consists of a number of frames, connected by edges, like a semantic net. Class frames describe classes. Instance frames describe instances. Each frame has a number of slots. Each slot can be assigned a slot value. How to implement? TRU-COMP3710 Knowledge Representation

10 Object-Oriented Programming
Object oriented programming languages such as Java, C++. Use ideas such as: inheritance multiple inheritance overriding default values procedures and demons TRU-COMP3710 Knowledge Representation

11 Knowledge Representation
Search Spaces Do we always need to use such representations? Representation is really problem-specific. Many problems in AI can be represented as search spaces. A search space is a representation of the set of all possible choices in a given problem, one or more of which are the solution to the problem. State spaces A state is a set of values of all instances. States are connected by paths that represent actions. TRU-COMP3710 Knowledge Representation

12 Knowledge Representation
Search Trees Trees are easier to handle than graphs. Semantic trees – a type of semantic net. Used to represent search spaces. Root node has no predecessor. Leaf nodes have no successors. Goal nodes (of which there may be more than one) represent solutions to a problem. What is the problem then, when you know what the goal is? How about the 8-puzzle game? The missionaries and cannibals problem? What do we have to do when we do not know what the goal is? TRU-COMP3710 Knowledge Representation

13 Knowledge Representation
Search Trees H, I, J, K, M, N and O are leaf nodes. A is the root node. L is the goal node. There is only one complete path: A, C, F, L TRU-COMP3710 Knowledge Representation

14 Search Trees – Missionaries & Cannibals
Three missionaries and three cannibals want to cross a river using one canoe. Canoe can hold up to two people. Can never be more cannibals than missionaries on either side of the river. Aim: To get all safely across the river without any missionaries being eaten. How to solve? TRU-COMP3710 Knowledge Representation

15 Search Trees – Missionaries & Cannibals
The first step in solving the problem is to choose a suitable representation, i.e., a state (a set of values of all instances). We will show number of cannibals, missionaries and canoes on each side of the river. All the objects. Start state is therefore: (# of cannibals, # of missionaries, # of boats) (3,3,1) at the starting side; (0,0,0) at the ending side In fact, since the system is closed, we only need to represent one side of the river, as we can deduce the other side. We will represent the finishing side of the river, and omit the starting side. So start state and goal state are: (0,0,0), (3,3,1) TRU-COMP3710 Knowledge Representation

16 Search Trees – Missionaries & Cannibals
State – (# of cannibals, # of missionaries, # of boats) at the ending side Now we have to choose suitable operators that can be applied: What are the possible states from (0, 0, 0)? Possible states – (0, 1, 1), (0, 2, 1), (1, 0, 1), (1, 1, 1), (2, 0, 1) Which ones are safe? (1, 0, 1), (1, 1, 1), (2, 0, 1) Can we build up a search tree through safe states? TRU-COMP3710 Knowledge Representation

17 Search Trees – Missionaries & Cannibals
Cycles have been removed. What does this mean? Nodes represent states, edges represent operators. There are two shortest paths that lead to the goal. What is a solution here? TRU-COMP3710 Knowledge Representation

18 Search Trees – Combinatorial Explosion
Problems that involve assigning values to a set of variables can grow exponentially with the number of variables. E.g., what is the total number of possible cases with n variables and m values for each variable? How about the n×n tile puzzle? 9!, 16!, 25!, … This is the problem of combinatorial explosion. Some such problems can be extremely hard to solve (NP-Complete, NP-Hard), i.e., it takes a very long time to solve. What do we have to do then? Selecting the correct representation can help to reduce this, as can using heuristics (see chapter 4). TRU-COMP3710 Knowledge Representation

19 Search Trees – Problem Reduction
Another idea is to break a problem down into smaller sub-problems (or sub-goals). Can be represented using goal trees (or and-or trees). Nodes in the tree represent sub-problems. The root node represents the overall problem. Some nodes are and nodes, meaning all their children must be solved. E.g. to solve the Towers of Hanoi problem with 4 disks, you can first solve the same problem with 3 disks. The solution is thus to get from the first diagram on the left, to the second, and then to apply the solution recursively. TRU-COMP3710 Knowledge Representation

20 Knowledge Representation
Review How to represent a problem? Search tree States? Goal states? What is a solution? How to solve the combinatorial explosion problem, i.e., how to search the goal state quickly? One possible idea – Problem reduction TRU-COMP3710 Knowledge Representation


Download ppt "Knowledge Representation"

Similar presentations


Ads by Google