1 / 33

COMP 4200: Expert Systems

COMP 4200: Expert Systems. Dr. Amir M.Elamir. Overview. Knowledge Representation for XPS Associative ترابطي Nets and Frame Systems (Jackson, Chapter 6) Object-oriented Programming (Jackson, Chapter 7). Knowledge Representation 1. Representation of

Download Presentation

COMP 4200: Expert Systems

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMP 4200: Expert Systems Dr. Amir M.Elamir

  2. Overview Knowledge Representation for XPS Associative ترابطيNets and Frame Systems (Jackson, Chapter 6) Object-oriented Programming (Jackson, Chapter 7)

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

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

  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.

  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

  7. Causal Network – Example(Jackson, Fig. 6.2)

  8. Classification Hierarchy (Jackson, Fig. 6.3)

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

  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 conceptsrole (slot) • attributes/features/properties of concept • constraints attached to roles, e.g. number of fillers • Closely related to First-Order Predicate Logic.

  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”

  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’

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

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

  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

  16. 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?

  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

  18. Multiple Inheritance - Views (Jackson, Fig. 6.7)

  19. Multiple Inheritance - Ambiguity (Jackson, Fig. 6.8)

  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.

  21. Object-Oriented Programming – Example Class RadioClass 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-1of-class Robot

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

  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.

  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.

  25. OOP – Inheritance Objects/classes arranged ininheritance 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

  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 instanceTitanicinherit all slot-specifications, defaults, etc. from ship. class ship x-velocityINTEGER y-velocityINTEGER ... classmotorshipIS-A ship instance-of ship Titanic

  27. OOP – Inheritance of Methods • Inheritance of procedures (methods) • define “generic” method for super-class • inherit to sub-classes (and instances) • selfis object itself; self:x-velocityrefers 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 sendTitaniccalc-speed

  28. Multiple Inheritance and Method Combination • Inheritance of methods / procedures in multiple inheritance hierarchies (heterarchies). • Problem ofmethod 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-methodsorwrappersand whoppers– additional surrounding code

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

  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; thenrepublican. 2) before- and after-methods • add special before and after methods class republican-quaker IS-A quaker and republican

  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.

  32. Classes and Instances in COOL- Instance-Relation - MetaClass system classes Class Object domain classes Ship Liner domain instances Titanic

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

More Related