Expert System Seyed Hashem Davarpanah

Slides:



Advertisements
Similar presentations
Object-Oriented Programming Basics Prof. Ankur Teredesai, Computer Science Department, RIT.
Advertisements

Artificial Intelligence Description Logics - Background and Motivation for DL Relation between DL and FOPL (extensional Semantics) Example.
© C. Kemke Knowledge Representation 1 COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba.
When is Orientated Programming NOT? Mike Fitzpatrick.
Object-Oriented Programming Python. OO Paradigm - Review Three Characteristics of OO Languages –Inheritance It isn’t necessary to build every class from.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
B. Ross Cosc 4f79 1 Frames Knowledge bases can be enhanced by using principles from frame knowledge representation (similar to object orientation) This.
Knowledge Representation
Intelligent systems Lection 7 Frames, selection of knowledge representation, its combinations.
CSM6120 Introduction to Intelligent Systems Knowledge representation.
OOP - Object Oriented Programming Object Oriented Programming is an approach to programming that was developed to make large programs easier to manage.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Object-Oriented Analysis and Design
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
What is an object? Your dog, your desk, your television set, your bicycle. Real-world objects share two characteristics: They all have state and behavior;
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Object-oriented Programming Concepts
Modelling classes Drawing a Class Diagram. Class diagram First pick the classes –Choose relevant nouns, which have attributes and operations. Find the.
OOP in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Objects Objects are at the heart of the Object Oriented Paradigm What is an object?
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
TCU CoSc Introduction to Programming (with Java) Getting to Know Java.
سید ضیاء الدین البرزی زیر نظر جناب دکتر حلاوتی.  One common methods used for representing knowledge in an expert systems.  How a FB experts system uses.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
Temporal Reasoning and Planning in Medicine Frame-Based Representations and Description Logics Yuval Shahar, M.D., Ph.D.
Artificial Intelligence Knowledge Representation.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Artificial Intelligence Chapter 18. Representing Commonsense Knowledge.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Knowledge Representation Semantic Web - Fall 2005 Computer.
Semantic Nets, Frames, World Representation CS – W February, 2004.
Learners Support Publications Object Oriented Programming.
Programming Paradigms Lecturer Hamza Azeem. What is PP ? Revision of Programming concepts learned in CPLB Learning how to perform “Object-Oriented Programming”
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
11-1 CHAPTER 11 Concepts for Object-Oriented Databases.
Knowledge Representation
Class Diagram Chapter 21 Applying UML and Patterns Craig Larman.
Knowledge Representation. Keywordsquick way for agents to locate potentially useful information Thesaurimore structured approach than keywords, arranging.
C++ Inheritance Data Structures & OO Development I 1 Computer Science Dept Va Tech June 2007 © McQuain Generalization versus Abstraction Abstraction:simplify.
1 CS 385 Fall 2006 Chapter 7 Knowledge Representation 7.1.1, 7.1.5, 7.2.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Lecture 5 Frames. Associative networks, rules or logic do not provide the ability to group facts into associated clusters or to associate relevant procedural.
Of 29 lecture 15: description logic - introduction.
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
Artificial Intelligence Knowledge Representation.
CSCE 240 – Intro to Software Engineering Lecture 3.
Definition and Technologies Knowledge Representation.
Object Oriented Programming in Java Habib Rostami Lecture 2.
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.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Object-Oriented Programming
Knowledge Representation Techniques
JAVA By Waqas.
ece 720 intelligent web: ontology and beyond
Knowledge Representation
Knowledge Representation
Knowledge Representation
Chapter 2 Database Environment Pearson Education © 2009.
Object-Oriented Knowledge Representation
Chapter 11: Classes, Instances, and Message-Handlers
KNOWLEDGE REPRESENTATION
Weak Slot-and-Filler Structures
Workshop for Programming And Systems Management Teachers
Knowledge Representation
Semantic Nets and Frames
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Presentation transcript:

Expert System Seyed Hashem Davarpanah Davarpanah@usc.ac.ir University of Science and Culture

Overview Knowledge Representation for XPS Associative Nets and Frame Systems (Jackson, Chapter 6) Object-oriented Programming (Jackson, Chapter 7)

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

Knowledge Representation 2 Representation of declarative knowledge: descriptions of objects, concepts: relations between them e.g. has-parts, father features e.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.

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.

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

Causal Network – Example (Jackson, Fig. 6.2)

Classification Hierarchy (Jackson, Fig. 6.3)

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

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

Terminological Network – 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”

Terminological Network - 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’

Frames, Schemas, Prototypes 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 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, 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

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

Multiple Inheritance and Views 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

Multiple Inheritance - Views (Jackson, Fig. 6.7)

Multiple Inheritance - Ambiguity (Jackson, Fig. 6.8)

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.

Object-Oriented Programming – Example Class Radio Class Robot slots slots power:{on,off} ... volume:{1,...,10} methods 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 Radio robot-1 of-class Robot

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

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.

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 class motorship IS-A ship class ship instance-of ship Titanic

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

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

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

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

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.