© C. Kemke Knowledge Representation 1 COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba.

Slides:



Advertisements
Similar presentations
Expert System Seyed Hashem Davarpanah
Advertisements

1 Knowledge Representation Introduction KR and Logic.
Advanced Piloting Cruise Plot.
Final and Abstract Classes
Copyright © 2002 Pearson Education, Inc. Slide 1.
Chapter 7 System Models.
Requirements Engineering Process
Chapter 6 Structures and Classes. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-2 Learning Objectives Structures Structure types Structures.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Copyright © 2003 Pearson Education, Inc. Slide 1.
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
Copyright: SIPC From Ontology to Data Model: Choices and Design Decisions Matthew West Reference Data Architecture and Standards Manager Shell International.
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
10 Copyright © 2005, Oracle. All rights reserved. Reusing Code with Inheritance and Polymorphism.
Conceptual / semantic modelling
Programming Language Concepts
Solve Multi-step Equations
Week 2 The Object-Oriented Approach to Requirements
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 5.
Lilian Blot TO PROGRAMMING & PYTHON Introduction Autumn 2012 TPOP 1.
Data Structures Using C++
Chapter 1 Object Oriented Programming 1. OOP revolves around the concept of an objects. Objects are created using the class definition. Programming techniques.
By Waqas Over the many years the people have studied software-development approaches to figure out which approaches are quickest, cheapest, most.
VOORBLAD.
Object-Oriented Programming. 2 An object, similar to a real-world object, is an entity with certain properties, and with the ability to react in certain.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
© C. Kemke Constructive Problem Solving 1 COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba.
Artificial Intelligence Description Logics - Background and Motivation for DL Relation between DL and FOPL (extensional Semantics) Example.
© 2012 National Heart Foundation of Australia. Slide 2.
Lecture 6: Software Design (Part I)
Systems Analysis and Design with UML Version 2.0, Second Edition
OBJECT-ORIENTEDNESS. What is Object-Orientedness? model system as a collection of interacting objects O-O Modelling  O-O Programming ► similar conceptual.
Science as a Process Chapter 1 Section 2.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Executional Architecture
Advanced Knowledge Modeling Additional domain constructs Domain-knowledge sharing and reuse Catalog of inferences Flexible use of task methods.
25 seconds left…...
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu Lecture 27 – Overview of probability concepts 1.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 12 View Design and Integration.
1 Chapter 3:Operators and Expressions| SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2006 | Last Updated: July 2006 Slide 1 Operators and Expressions.
Intracellular Compartments and Transport
PSSA Preparation.
Chapter 11 Component-Level Design
Essential Cell Biology
Abstract Class, Packages and interface from Chapter 9
1 Abstract Class and Packages from Chapter 9 Lecture.
Modeling Main issues: What do we want to build How do we write this down.
From Model-based to Model-driven Design of User Interfaces.
Chapter 9: Using Classes and Objects. Understanding Class Concepts Types of classes – Classes that are only application programs with a Main() method.
1 Programming Languages (CS 550) Mini Language Interpreter Jeremy R. Johnson.
Benchmark Series Microsoft Excel 2013 Level 2
Enhanced/Extended Relationship-Diagram
Knowledge Representation
Intelligent systems Lection 7 Frames, selection of knowledge representation, its combinations.
CSM6120 Introduction to Intelligent Systems Knowledge representation.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Knowledge Representation Semantic Web - Fall 2005 Computer.
Lecture 5 Frames. Associative networks, rules or logic do not provide the ability to group facts into associated clusters or to associate relevant procedural.
16 April 2011 Alan, Edison, etc, Saturday.. Knowledge, Planning and Robotics 1.Knowledge 2.Types of knowledge 3.Representation of knowledge 4.Planning.
CS621 : Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 16 Description Logic.
Semantic Nets and Frames
Presentation transcript:

© C. Kemke Knowledge Representation 1 COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba

© C. Kemke Knowledge Representation 2 Overview Knowledge Representation for XPS  Associative Nets and Frame Systems (Jackson, Chapter 6)  Object-oriented Programming (Jackson, Chapter 7)

© C. Kemke Knowledge Representation 3 Knowledge Representation 1 Representation of declarative knowledge(what, objects, structure) procedural knowledge(how, actions, performance) Representation Formalisms for declarative knowledge Frames, Semantic Nets, Inheritance Hierarchies, Schemata,... procedural knowledge Algorithms, Procedures, Plans, Rules,...

© C. Kemke Knowledge Representation 4 Knowledge Representation 2 Representation of declarative knowledge:  descriptions of objects, concepts: relations between theme.g. has-parts, father featurese.g. number-of-legs, age  mechanisms to work with this knowledge: store, retrieve information (accessing KB) e.g. TELL (KB1, IS-A (square,polygon)) KB1 is a knowledge base; in KB1 a square is a sub-concept or sub- class of the polygon-concept/class; TELL asserts this.  reason about objects (inferencing) if square(X) then polygon(X) if square(X) then number-of-sides (X)=4 If something is a square, it is also a polygon. A square thing has 4 sides.

© C. Kemke Knowledge Representation 5 Graphs as Representations I: Nodes, Links, and what they represent Semantic Networks (Quilian 1968) nodes represent concepts, objects, events e.g. person, John, restaurant links (arcs) represent any kind of relation or association between concepts, objects, events e.g. IS-A, owns, lives-at, name This allows the representation of all kinds of semantic expressions BUT the semantics is not clearly defined (Woods 1975) -> epistemological confusion.

© C. Kemke Knowledge Representation 6 Causal, Temporal, and Inheritance Networks Causal Networks (Jackson, Fig. 6.2, see next slide) nodes represent concepts, objects, events links represent causal relationship between these concepts, objects, events Temporal Networks nodes represent events links represent temporal relationship between events, like ‘before’, ‘after’,... Inheritance Networks (Terminologies, Taxonomies) nodes represent concepts links represent class-/subclass-relationship IS-A: superclass – subclass or super-concept / sub-concept

© C. Kemke Knowledge Representation 7 Causal Network – Example (Jackson, Fig. 6.2)

© C. Kemke Knowledge Representation 8 Classification Hierarchy (Jackson, Fig. 6.3)

© C. Kemke Knowledge Representation 9 Graphs as Representations II: Nodes, Links, and what they represent Semantics of Knowledge Representation Languages: formal semanticse.g. Predicate Logic Interpretation, derive meaning of complex expressions based on meaning of atomic expressions plus construction mechanism use / reasoninge.g. Spreading Activation positive or negative association between concepts; see Neural Networks

© C. Kemke Knowledge Representation 10 Inheritance Networks Inheritance Networks (Terminologies, Taxonomies) nodes represent concepts (events, objects, actions,...) links represent  super-concept / sub-concept-relationships IS-A: specialization / subsumption of concepts  concept-instance-relationships instance-of  relationships between concepts role (slot)  attributes/features/properties of concept  constraints attached to roles, e.g. number of fillers Closely related to First-Order Predicate Logic.

© C. Kemke Knowledge Representation 11 Terminological Network – Example Example: Concepts: bird, robin, flying-animal, “Speedy” Feature: color IS-A (robin,bird), IS-A (bird,flying-animal)Superclass instance-of (“Speedy”, robin)Instance color (robin)=“grey”Feature Task: Express that a typical elephant has legs, usually 4 of them, has a certain color, and there is a specific elephant named Clyde. elephant, color, legs, has (usually) 4 legs,”Clyde”

© C. Kemke Knowledge Representation 12 Terminological Network - Solution Solution: Concepts: elephant, legs, “Clyde” (instance) or Clyde (individual concept), (color and grey) Roles: has-legs, (has-color) Feature: color Specific Representation of Clyde: has-legs (elephant, legs, 4) has-color (elephant, grey) or color (elephant) = “grey” instance-of (“Clyde”, elephant) specific object “Clyde” IS-A (Clyde, elephant) individual concept ‘Clyde’

© C. Kemke Knowledge Representation 13 Frames  concepts as record-like structures  slots – relationships to other concepts, attributes  fillers – values for slots (other concept or value) Schema-Theory / Prototypes  some objects are more typical for a certain class of objects  precise definition for concepts sometimes not possible, then reference to prototypes Frames, Schemas, Prototypes

© C. Kemke Knowledge Representation 14 Typical bird is robin – take all “robin-features” as description for class ‘bird’. This forms a prototype. Take typical chair as prototype. Other chairs are more or less similar to this prototypical chair. The class of all chairs is fuzzy since there are no precise or exact boundaries for the class 'chair', i.e. to decide when something is a chair or not. Frames, Schemas, Prototypes

© C. Kemke Knowledge Representation 15 Frames, Defaults, and Demons Frames – represent concepts as record-like structures slots – relationships to other concepts, attributes fillers – values for those slots attached procedures – to determine slot-fillers Defaults – represent standard values (fillers) for some attributes (slots) of a concept (frame) Demons – are activated by a certain action or pattern if-added demon - activated when value is added or updated, e.g. re-calculate area-value if side-info changes if-needed demon - activated when value is accessed, e.g. calculate area-value based on default assumptions if this slot-filler is required

© C. Kemke Knowledge Representation 16 Defaults represent standard-values for some attributes of a concept, e.g. the standard number of legs of an elephant is 4. (Inherited) defaults may be overwritten at lower-level concepts, or for individual concepts.  “Clyde” - the famous 3-legged AI-elephant. Problem: If roles, attributes etc. in a concept description can be changed or cancelled, what is the definition of a concept. How can we classify? And reason?

© C. Kemke Knowledge Representation 17 Multiple Inheritance and Views Multiple inheritance Sub-Concept inherits descriptions from several superconcepts. Possibly conflicting information ( = ambiguity)  skeptical reasoners: “don’t know” (no conclusion)  credulous reasoners: “whatever” (several conclusions) Views Description of concept from different viewpoints. Inheritance of multiple, complementing descriptions e.g. view computer as machine or as equipment

© C. Kemke Knowledge Representation 18 Multiple Inheritance - Views (Jackson, Fig. 6.7)

© C. Kemke Knowledge Representation 19 Multiple Inheritance - Ambiguity (Jackson, Fig. 6.8)

© C. Kemke Knowledge Representation 20 Object-Oriented Programming Objects – represent concepts similar to frames structured declarative representation (like record) procedural methods define the (external) behavior of object Objects communicate via sending “messages” to other objects to invoke their methods.

© C. Kemke Knowledge Representation 21 Object-Oriented Programming – Example Class RadioClass Robotslots power:{on,off}... volume:{1,...,10}methods v-control(V) - shut-down(...) – set volume = V send (radio-1, switch(off)) switch(O) - set power on/off for O=on/off radio-1 of-class Radiorobot-1 of-class Robot

© C. Kemke Knowledge Representation 22 Object-Oriented Programming (OOP) - Languages - SIMULA67, SmallTalk... KRL – Knowledge Representation Language LOOPS – Lisp Object-Oriented Programming System Flavors CLOS – Common Lisp Object System COOL – CLIPS Object-Oriented Language... C ++, Java,...

© C. Kemke Knowledge Representation 23 OOP –Terminology and Concepts objects:data structures + procedures Objects are often called classes. Procedures are often called methods. Encapsulation: object-information can only be accessed by specifying the object and using the methods defined for this object (  message passing). Message Passing: objects can send messages to other objects by addressing the object and one of it’s methods. Distinction: private and public variables / procedures Computation in OOP involves mainly communication between objects, and little or no global control.

© C. Kemke Knowledge Representation 24 Basic Functions in OOP CREATING  Define a class, including data structures/slots and methods.  Define inheritance hierarchy, i.e. IS-A relationships.  Create / Delete instances of a class. WORKING  Message passing. (COOL)  In CLIPS: Application of rules.

© C. Kemke Knowledge Representation 25 OOP – Inheritance Objects/classes arranged in inheritance hierarchy  Classes are also called generic objects / concepts  Their methods are called generic methods / procedures  Specific objects are instances of classes. Inheritance of data structures (slots, fillers) and procedures (methods). class ship instance-of ship Titanic class ship class motorship IS-A ship

© C. Kemke Knowledge Representation 26 OOP –Inheritance of Data Structures Inheritance of data structures  define data structures (slots) for super-class  define defaults and common values (for slots) for super-class  inherit to sub-classes and instances Class motorship, as well as instance Titanic inherit all slot- specifications, defaults, etc. from ship. class ship x-velocity INTEGER y-velocity INTEGER... class motorship IS-A ship instance-of ship Titanic

© C. Kemke Knowledge Representation 27 OOP – Inheritance of Methods Inheritance of procedures (methods)  define “generic” method for super-class  inherit to sub-classes (and instances) self is object itself; self:x-velocity refers to slot x-velocity of self. Method calc-speed known for all ships; uses concrete values for x-velocity, y-velocity for instance of ship (e.g. Titanic) in actual calculation. class ship method calc-speed.... (self:x-velocity, self:y-velocity)... instance-of ship Titanic send Titanic calc-speed

© C. Kemke Knowledge Representation 28 Multiple Inheritance and Method Combination Inheritance of methods / procedures in multiple inheritance hierarchies (heterarchies). Problem of method combination. Use before- and after-methods (  e.g. Flavors)  take main method (inherited from super-class);  add special before and after methods (from class or super- classes) which are executed before / after the main method.  before-method – preparation for main method  after-method – clean-up and adjustments  around-methods or wrappers and whoppers – additional surrounding code

© C. Kemke Knowledge Representation 29 Method Combination and Multiple Inheritance Window with Border Window with Label Window with Border and Label Window Inherit main methods (e.g. refresh) from Window, and add special methods as before- and after-methods from subclasses.

© C. Kemke Knowledge Representation 30 Method Combination and Multiple Inheritance in CLIPS/COOL Problem of method combination for multiple inheritance 1)Class Precedence List (CLOS, CLIPS/COOL)  take methods as listed in their super-classes :  consult quaker first for inheritance; then republican. 2)before- and after-methods  add special before and after methods class republican-quaker IS-A quaker and republican

© C. Kemke Knowledge Representation 31 Meta-Classes Meta-Classes are used to describe classes, e.g. create- and delete-functions, access-functions etc. The members of Meta-Classes are classes. Meta-Classes are classes themselves.

© C. Kemke Knowledge Representation 32 Classes and Instances in COOL - Instance-Relation - MetaClass Class LinerShip Titanic Object domain instances domain classes system classes

© C. Kemke Knowledge Representation 33 Classes and Meta-Classes in COOL - IS-A Relation - Object Class Liner Ship Titanic MetaClass domain instances domain classes system classes