Top Banner
Frame-based Knowledge Representation
104

Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

Dec 25, 2015

Download

Documents

David Hill
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

Frame-based Knowledge Representation

Page 2: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

1. Introduction

• Knowledge in a computer can be represented through several techniques.

• In this chapter, we will use frames for the knowledge representation.

Page 3: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

1.1 What is a frame?

• A frame is a data structure with typical knowledge about a particular object or concept.

• Frames, first proposed by Marvin Minsky in the 1970s (Minsky, 1975), are used to capture and represent knowledge in a frame-based expert system.

Page 4: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Boarding passes shown in Figure 5.1 represent typical frames with knowledge about airline passengers.

• Both frames have the same structure.• Each frame has its own name and a set of

attributes, or slots, associated with it.

Page 5: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Name, weight, height and age are slots in the frame Person.

• Model, processor, memory and price are slots in the frame Computer.

• Each attribute or slot has a value attached to it.

Page 6: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In Figure 5.1(a), slot Carrier has value QANTAS AIRWAYS and slot Gate has value 2.

• In some cases, instead of a particular value, a slot may have a procedure that determines the value.

Page 7: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 8: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

1.2 Why is it necessary to use frames?

• Frames provide a natural way for the structured and concise representation of knowledge.

• In a single entity, a frame combines all necessary knowledge about a particular object or concept.

• A frame provides a means of organizing knowledge in slots to describe various attributes and characteristics of the object.

Page 9: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• If we are searching for knowledge about Qantas frequent flyers, then we want to avoid the search through knowledge about Air New Zealand or British Airways passengers.

• In this situation, we need frames to collect the relevant facts within a single structure.

• Basically, frames are an application of object-oriented programming.

Page 10: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

1.3 What is object-oriented programming?

• Object-oriented programming can be defined as a programming method that uses objects as a basis for analysis, design and implementation.

• In object-oriented programming, an object is defined as a concept, abstraction or thing with crisp boundaries and meaning for the problem at hand (Rumbaugh et al., 1991).

Page 11: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• All objects have identity and are clearly distinguishable.

• Michael Black, Audi 5000 Turbo, IBM Aptiva S35 are examples of objects.

• An object combines both data structure and its behaviour in a single entity.

Page 12: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• This is in sharp contrast to conventional programming, in which data structure and the program behaviour have concealed or vague connections.

• Object-oriented programming offers a natural way of representing the real world in a computer, and also illuminates the problem of data dependency, which is inherent in conventional programming (Taylor, 1992).

Page 13: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• When programmers create an object in an object-oriented programming language, they first assign a name to the object, then determine a set of attributes to describe the object’s characteristics, and at last write procedures to specify the object’s behaviour.

• A knowledge engineer refers to an object as a frame, the term introduced by Minsky, which has become the AI jargon.

Page 14: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

2. Frames as a knowledge representation technique

• The concept of a frame is defined by a collection of slots.

• Each slot describes a particular attribute or operation of the frame.

• In many respects, a frame resembles the traditional ‘record’ that contains information relevant to typical entities.

Page 15: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Slots are used to store values. • A slot may contain a default value or a pointer

to another frame, a set of rules or procedure by which the slot value is obtained.

Page 16: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

In general, slots may include such information as:

1. Frame name.2. Relationship of the frame to the other

frames. – The frame IBM Aptiva S35 might be a member of

the class Computer, which in turn might belong to the class Hardware.

Page 17: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

3. Slot value. • A slot value can be symbolic, numeric or

Boolean. • For example, in the frames shown in Figure

5.1, the slot Name has symbolic values, and the slot Gate numeric values.

• Slot values can be assigned when the frame is created or during a session with the expert system.

Page 18: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

4. Default slot value. • The default value is taken to be true when no

evidence to the contrary has been found. • For example, a car frame might have four

wheels and a chair frame four legs as default values in the corresponding slots.

Page 19: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

5. Range of the slot value. • The range of the slot value determines

whether a particular object or concept complies with the stereotype requirements defined by the frame.

• For example, the cost of a computer might be specified between $750 and $1500.

Page 20: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

6. Procedural information. • A slot can have a procedure (a self-contained

arbitrary piece of computer code) attached to it, which is executed if the slot value is changed or needed.

Page 21: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• There are two types of procedures often attached to slots:– (a) WHEN CHANGED procedure is executed when

new information is placed in the slot.– (b) WHEN NEEDED procedure is executed when

information is needed for the problem solving, but the slot value is unspecified.

Page 22: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Such procedural attachments are often called demons.

• Frame-based expert systems also provide an extension to the slot-value structure through the application of facets.

Page 23: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

2.1 What is a facet?

• A facet is a means of providing extended knowledge about an attribute of a frame.

• Facets are used to establish the attribute value, control end-user queries, and tell the inference engine how to process the attribute.

• In general, frame-based expert systems allow us to attach value, prompt and inference facets to attributes.

Page 24: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Value facets specify default and initial values of an attribute.

• Prompt facets enable the end-user to enter the attribute value on-line during a session with the expert system.

• And finally, inference facets allow us to stop the inference process when the value of a specified attribute changes.

Page 25: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

2.2 What is the correct level of decomposition of a problem into frames, slots and facets?

• Decomposition of a problem into frames, frames into slots and facets depends on the nature of the problem itself and the judgment of the knowledge engineer.

• There is no predefined ‘correct’ representation.

• Figure 5.2 illustrates frames describing computers.

Page 26: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 27: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The topmost frame represents the class Computer and the frames below describe instances IBM Aptiva S35 and IBM Aptiva S9C.

• Two types of attributes are used here: string [Str] for symbolic information and numeric [N] for numeric data.

Page 28: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Note default and initial value facets attached to the slots Floppy, Power Supply, Warranty and Stock in the class Computer.

• The attribute names, types, default and initial values are the properties inherited by instances.

Page 29: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

2.3 What are the class and instances?

• The frame may refer to a particular object, for example the computer IBM Aptiva S35, or to a group of similar objects.

• To be more precise, we will use the instance-frame when referring to a particular object, and the class-frame when referring to a group of similar objects.

Page 30: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• A class-frame describes a group of objects with common attributes.

• Animal, person, car and computer are all class-frames.

• In AI, however, the abbreviation ‘class’ is often used instead of the term ‘class-frame’.

Page 31: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Each frame in a frame-based system ‘knows’ its class.

• In other words, the frame’s class is an implicit property of the frame.

• For example, instances in Figure 5.2 identify their class in the slot Class.

Page 32: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Grouping objects into classes helps us to represent a problem in an abstract form.

• Minsky himself described frames as ‘data structures for representing stereotyped situations’.

Page 33: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In general, we are less concerned with defining strictly and exhaustively the properties of each object, and more concerned with the salient properties typical for the entire class.

• Let us take, for example, the class of birds.– Can a bird fly? – A typical answer is yes.

Page 34: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Almost all birds can fly, and thus we think of the ability to fly as being an essential property of the class of birds, even though there are birds, such as ostriches, which cannot fly.

• In other words, an eagle is a better member of the class bird than an ostrich because an eagle is a more typical representative of birds.

Page 35: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Frame-based systems support class inheritance.

• The fundamental idea of inheritance is that attributes of the class-frame represent things that are typically true for all objects in the class.

• However, slots in the instance-frames can be filled with actual data uniquely specified for each instance.

Page 36: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Consider the simple frame structure represented in Figure 5.3.

• The class Passenger car has several attributes typical for all cars.

• This class is too heterogeneous to have any of the attributes filled in, even though we can place certain restrictions upon such attributes as Engine type, Drivetrain type and Transmission type.

Page 37: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Note that these attributes are declared as compound [C].

• Compound attributes can assume only one value from a group of symbolic values, for example the attribute Engine type can assume the value of either In-line 4 cylinder or V6, but not both.

Page 38: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 39: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 40: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The class Mazda is linked to its superclass Passenger car by the ‘is-a’ relation.

• The Mazda inherits all attributes of the superclass and also declares the attribute Country of manufacture with the default value Japan attached to it.

• The class Mazda 626 introduces three additional attributes: Model, Colour and Owner.

Page 41: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Finally, the instance-frame Mazda DR-1216 inherits its country of manufacture from the Mazda frame, as the Mazda 626 does, and establishes single values for all compound attributes.

Page 42: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• An instance-frame can overwrite, or in other words violate, some of the typical attribute values in the hierarchy.

• For example, the class Mazda 626 has an average fuel consumption of 22 miles per gallon, but the instance Mazda DR-1216 has a worse figure because it has done a lot of miles.

Page 43: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Thus the Mazda DR-1216 frame remains the instance of the class Mazda 626, with access to the properties further up the hierarchy, even though it violates the typical value in its class.

• Relationships between frames in such a hierarchy constitute a process of specialization.

Page 44: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The class-frame on the top of the hierarchy represents some generic concept, class-frames further down stand for a more restricted concept and the instances are closer to exemplification.

Page 45: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

2.4 How are objects related in a frame-based system?

• Is the ‘is-a’ relationship the only one available to us?

• In general, there are three types of relationships between objects: – Generalization,– aggregation and – association.

Page 46: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

1) Generalization • denotes ‘a-kind-of’ or ‘is-a’ relationship

between a superclass and its subclasses. • For example, a car is a vehicle, or in other

words, Car represents a subclass of the more general superclass Vehicle.

• Each subclass inherits all features of the superclass.

Page 47: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

2) Aggregation • is ‘a-part-of’ or ‘part-whole’ relationship in

which several subclasses representing components are associated with a superclass representing a whole.

• For example, an engine is a part of a car.

Page 48: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

3) Association • describes some semantic relationship between

different classes which are unrelated otherwise. • For example, Mr Black owns a house, a car and a

computer. • Such classes as House, Car and Computer are

mutually independent, but they are linked with the frame Mr Black through the semantic association.

Page 49: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Unlike generalization and aggregation relationships, associations usually appear as verbs and are inherently bi-directional.

• Does a computer own Mr Black? • Of course, the name of a bi-directional

association reads in a particular direction (Mr Black owns a computer), but this direction can be changed to the opposite.

Page 50: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The inverse of owns is belongs to, and thus we can anticipate that a computer belongs to Mr Black.

• In fact, both directions are equally meaningful and refer to the same association.

• Figure 5.4 illustrates all three types of relationships between different objects.

Page 51: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 52: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

3. Inheritance in frame-based systems

• Inheritance is an essential feature of frame-based systems.

• Inheritance can be defined as the process by which all characteristics of a class-frame are assumed by the instance-frame.

• A common use of inheritance is to impose default features on all instance-frames.

Page 53: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• We can create just one class-frame that contains generic characteristics of some object or concept, and then obtain several instance-frames without encoding the class-level characteristics.

• A hierarchical arrangement of a frame-based system can be viewed as a tree that is turned over.

Page 54: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The highest level of abstraction is represented at the top by the root of the tree.

• Branches below the root illustrate lower levels of abstraction, and leaves at the bottom appear as instance-frames.

• Each frame inherits characteristics of all related frames at the higher levels.

• Figure 5.5 shows a hierarchy of frames representing zero-emission (ZE) vehicles.

Page 55: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 56: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 57: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The root, ZE vehicle, has three branches: – Electric vehicle, – Solar vehicle and – Muscle vehicle.

• Let us now follow just one branch, the Electric vehicle branch.

• It is subdivided into – Car, – Motorcycle and – Scooter.

Page 58: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Then Car branches into – Sedan, – Van and – Truck.

• Finally, the leaf, the instance-frame Ford Ecostar, appears at the bottom.

• The instance Ford Ecostar inherits all the characteristics of its parent frame.

Page 59: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The instance Ford Ecostar indeed has only one parent, the class-frame Van.

• Furthermore, in Figure 5.5, any frame except the root frame ZE vehicle has only one parent.

• In this type of structure, each frame inherits knowledge from its parent, grandparent, great-grandparent, etc.

Page 60: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

3.1 Can a frame have more than one parent?

• In many problems, it is quite natural to represent objects relating to different worlds.

• For example, we may wish to create a class of muscle-solar-electric vehicles.

• In such vehicles, people can pedal, while an electric drive system is used to travel uphill, and solar panels assist in recharging batteries for the electric system.

Page 61: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Thus, the frame Muscle-Solar-Electric vehicle should combine specific properties of three classes, – Muscle vehicle, – Solar vehicle and – Electric vehicle.

• The only requirement for multiple parent inheritance is that attributes of all parents must be uniquely specified.

Page 62: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In frame-based systems, several classes can use the same attribute names.

• However, when we use multiple inheritance, all parents must have unique attribute names.

• If we want, for example to create a child class Muscle-Solar-Electric vehicle related to parents Muscle vehicle, Solar vehicle and Electric vehicle, we must get rid of such properties as Weight and Top speed in the parent classes.

Page 63: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Only then can we create the child class. • In other words, to create multiple inheritance

we must reconsider an entire structure of our system, as can be seen in Figure 5.6.

Page 64: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In frame-based systems, inheritance means code reuse, and the job of the knowledge engineer is to group similar classes together and reuse common code.

• The most important advantage of inheritance is the conceptual simplification, which is achieved by reducing the number of independent and specific features in the expert system.

Page 65: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 66: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

3.2 Are there any disadvantages?

• Brachman and Levesque (1985) argue that if we allow unrestrained overwriting of inherited properties, it may become – impossible to represent either definitive

statements (such as ‘all squares are equilateral rectangles’) or

– contingent universal conditions (such as ‘all the squares on Kasimir Malevich’s paintings are either black, red or white’).

Page 67: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In general, frame-based systems cannot distinguish between – essential properties (those that an instance must

have in order to be considered a member of a class) and

– accidental properties (those that all the instances of a class just happen to have).

Page 68: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Instances inherit all typical properties, and because those properties can be overwritten anywhere in the frame hierarchy it may become impossible to construct composite concepts when using multiple inheritance.

• This appears to undermine the whole idea of the frame knowledge representation.

Page 69: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• However, frames offer us a powerful tool for combining declarative and procedural knowledge, although they leave the knowledge engineer with difficult decisions to make about the hierarchical structure of the system and its inheritance paths.

• Appeals to so-called ‘typical’ properties do not always work, because they may lead us to unexpected results.

Page 70: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Thus, although we may use frames to represent the fact that an ostrich is a bird, it is certainly not a typical bird, in the way that an eagle is.

• Frame-based expert systems, such as Level5 Object, provide no safeguards against creating incoherent structures.

Page 71: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• However, such systems do provide data and control structures that are more suited for the simulation of human reasoning than any conventional programming language.

• Furthermore, to combine the power of both techniques of knowledge representation – rules and frames – modern frame-based expert systems use rules for interaction with information contained in the frames.

Page 72: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

4. Methods and demons

• As we have already discussed, frames provide us with a structural and concise means of organizing knowledge.

• However, we expect an expert system to act as an intelligent assistant – we require it not only to store the knowledge but also to validate and manipulate this knowledge.

• To add actions to our frames, we need methods and demons.

Page 73: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• A method is a procedure associated with a frame attribute that is executed whenever requested (Durkin, 1994).

• We write a method for a specific attribute to determine the attribute’s value or execute a series of actions when the attribute’s value changes.

Page 74: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Most frame-based expert systems use two types of methods: – WHEN CHANGED and – WHEN NEEDED.

• In general, a demon has an IF-THEN structure. • It is executed whenever an attribute in the

demon’s IF statement changes its value.

Page 75: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In this sense, demons and methods are very similar, and the two terms are often used as synonyms.

• However, methods are more appropriate if we need to write complex procedures.

• Demons, on the other hand, are usually limited to IF-THEN statements.

Page 76: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

4.1 WHEN CHANGED method

• A WHEN CHANGED method is executed immediately when the value of its attribute changes.

• The class Action Data, shown in Figure 5.8, is used to control the input display.

• The user can move to the next, previous, first or last request in the list of requests and examine the business data.

Page 77: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The WHEN CHANGED methods here allow us to advance through a list of requests.

• Note that all attributes in Figure 5.8 are declared as simple [S].

• Simple attributes can assume either a value of TRUE or FALSE.

• Let us examine the WHEN CHANGED method attached to the attribute Goto Next.

Page 78: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 79: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

4.2 How does this method work?

• Any method begins with the reserved words WHEN CHANGED or WHEN NEEDED, which are followed by the reserved word BEGIN and a series of commands to be executed.

• The reserved word END completes a method. • To refer to a particular attribute in a method,

we must specify the class name as well as the attribute name.

Page 80: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The syntax is: <attribute name> OF <class name>• To show the attribute values on the input

display, we have to create value-boxes (display items that show data) and then attach these value-boxes to the appropriate attributes.

Page 81: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• When we run the application, the value-boxes show the attribute values of the currently selected instance of the class Request and WHEN CHANGED methods cause actions to occur.

Page 82: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 83: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In many applications, an attribute is assigned to some initial or default value.

• However, in some applications, a WHEN NEEDED method can be used to obtain the attribute value only when it is needed.

Page 84: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In other words, a WHEN NEEDED method is executed when information associated with a particular attribute is needed for solving the problem, but the attribute value is undetermined.

• We will return to this method when we discuss rules for our credit evaluation example.

Page 85: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

5. Interaction of frames and rules

• Every rule has an IF-THEN structure, and every rule relates given information or facts in its IF part to some action in its THEN part.

• However, in frame-based systems, rules often use pattern matching clauses.

• These clauses contain variables that are used for finding matching conditions among all instance-frames.

Page 86: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

5.1 What causes rules to fire?

• In a rule-based expert system, the inference engine links the rules contained in the knowledge base with data given in the database.

• When the goal is set up – or in other words when an expert system receives the instruction to determine a value for the specified object – the inference engine searches the knowledge base to find a rule that has the goal in its consequent (THEN part).

Page 87: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• If such a rule is found and its antecedent (IF part) matches data in the database, the rule is fired and the specified object, the goal, obtains its value.

• If no rules are found that can derive a value for the goal, the system queries the user to supply that value.

Page 88: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In a frame-based system, the inference engine also searches for the goal, or in other terms for the specified attribute, until its value is obtained.

• In a rule-based expert system, the goal is defined for the rule base.

• In a frame-based system, rules play an auxiliary role.

Page 89: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Frames represent here a major source of knowledge, and both methods and demons are used to add actions to the frames.

• Thus, we might expect that the goal in a frame-based system can be established either in a method or in a demon.

Page 90: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Let us return to our credit evaluation example.• Suppose we want to evaluate the credit

request selected by the user. • The expert system is expected to begin the

evaluation when the user clicks the Evaluate Credit pushbutton on the input display.

Page 91: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• This pushbutton is attached to the attribute Evaluate Credit of the class Credit Evaluation shown in Figure 5.10.

• The attribute Evaluate Credit has the WHEN CHANGED method attached to it, and when we select the Evaluate Credit pushbutton at run time, the attribute Evaluate Credit receives a new value, a value of TRUE.

Page 92: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• This change causes the WHEN CHANGED method to execute.

• The PURSUE command tells Level5 Object to establish the value of the attribute Evaluation of the class Credit Evaluation.

• A simple set of rules shown in Figure 5.11 is used to determine the attribute’s value.

Page 93: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 94: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 95: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.
Page 96: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

5.2 How does the inference engine work?

• Based on the goal, Evaluation OF Credit Evaluation, the inference engine finds those rules whose consequents contain the goal of interest and examines them one at a time in the order in which they appear in the rule base.

• That is, the inference engine starts with RULE 9 and attempts to establish whether the attribute Evaluation receives the Give credit value.

Page 97: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• This is done by examining the validity of each antecedent of the rule.

• In other words, the inference engine attempts to determine first whether the attribute Collateral has the value of Excellent, and next whether the attribute Financial rating is Excellent.

• To determine whether Collateral OF Credit Evaluation is Excellent, the inference engine examines RULE 1 and RULE 2, and to determine whether Financial rating OF Credit Evaluation is Excellent, it looks at RULE 8.

Page 98: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• If all of the rule antecedents are valid, then the inference engine will conclude that Evaluation OF Credit Evaluation is Give credit.

• However, if any of the antecedents are invalid, then the conclusion is invalid.

• In this case, the inference engine will examine the next rule, RULE 10, which can establish a value for the attribute Evaluation.

Page 99: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• Based on the set of rules provided for credit evaluation, the inference engine cannot establish the value of the attribute Evaluation in some cases.

• This is especially true when the collateral is good and the financial rating of the business is excellent or good.

Page 100: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In fact, if we have a look at Figure 5.10, we find cases that are not represented in the rule base.

• However, it is not necessary always to rely on a set of rules.

• We can use the WHEN NEEDED method to establish the attribute value.

Page 101: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• The WHEN NEEDED method shown in Figure 5.10 is attached to the attribute Evaluation.

• The inference engine executes this method when it needs to determine the value of Evaluation.

• When the WHEN NEEDED method is executed, the attribute Evaluation receives the value Consult a superior.

Page 102: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In our case, if the WHEN NEEDED method were executed first, the attribute Evaluation would always receive the value Consult a superior, and no rules would ever be fired.

• Thus, the inference engine has to obtain the value from the WHEN NEEDED method only if it has not been determined from the rule base.

Page 103: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In other words, the search order for the attribute value has to be determined first.

• It can be done, for example, by means of the SEARCH ORDER facet attached to an attribute that tells the inference engine where, and in what order, to obtain the value of this attribute.

Page 104: Frame-based Knowledge Representation. 1. Introduction Knowledge in a computer can be represented through several techniques. In this chapter, we will.

• In Level5 Object, a search order can be specified for every attribute, and in our credit evaluation example, we set the search order for the Evaluation value to RULES, WHEN NEEDED.

• It makes certain that the inference engine starts the search from the rule base.