You are on page 1of 18


Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

Applied Intelligence 7, 187–204 (1997)

c 1997 Kluwer Academic Publishers. Manufactured in The Netherlands.

An Advanced Case-Knowledge Architecture Based on Fuzzy Objects


School of Information and Software Engineering, University of Ulster, Jordanstown, Ireland

Abstract. The case-based reasoning (CBR) architecture described in this paper represents a substantive ad-
vancement in the representation of case-knowledge. It addresses three major problems found in current CBR
schemes: 1) Insufficient treatment of abstract case features’ context-dependent characteristics. 2) Lack of a me-
thodical support for atomic and structured case features that contain and represent imprecisely specified quantities.
3) And little account for clustering and organising cognate cases into conceptually overlapping categories. To
overcome the representational inadequacy resulting from those deficiencies, this work proposes two modelling
fundamentals, namely, fuzzy primitive and fuzzy complex abstract features. These allow a flexible, polymorphic
encoding of case characteristics as real numbers, linguistic terms, fuzzy numbers and fuzzy complex objects
respectively. Based on this concept, it is possible to systematically organise a case base in fuzzy categories,
reflecting real-world case clusters. In the presented scheme, a prototype case and its associated approximation
scales form the basis to realise a versatile mechanism to represent the context-specific idiosyncrasies of fuzzy
abstract case features. Case categories, fuzzy abstract features, cases, and the approximation scale concept are
modelled as self-contained, operational entities. They co-operatively concert their services when they categorise
an unclassified problem description (target case), and locate relevant stored cases. Applied to the Coronary Heart
Disease risk assessment domain, the proposed architecture has proven to be highly adequate for capturing and
efficiently processing case-knowledge. Moreover, as this scheme is designed upon well-established object-oriented
principles, it has been shown that it can seamlessly integrate in a wider, more general knowledge management

Keywords: case-based reasoning, knowledge representation, fuzzy logic, soft computing, object-orientation

1. Introduction those systems are usually of frame-based or table-

structured nature. When more complex, so-called “real-
CBR is a problem solving style that revolves around world”, information and knowledge concepts are to be
the organisation of past cases in a memory called case expressed, the limitations of those schemes come to
base. A prerequisite for problem solving from cases is light [2, 5, 20]. To avoid the problems associated with
the capability to retrieve relevant past cases applicable those representation languages, the C41 architecture
to the new situation. Many case-knowledge schemes is designed around powerful, object-orientated ab-
and architectures have been proposed in the litera- straction and modelling mechanisms such as class,
ture, two of the more promising ones are based on object, inheritance, aggregation, polymorphism, etc.
exemplar-based (EBR) and memory-based reasoning In fact, several C4 components could only be re-
(MBR). The former type of system revolves around alised, in a meaningful way, through the deployment
the classification of unclassified cases, whereas the of the dynamic and static binding facilities provided
latter focuses on case organisation in a memory-like by object-oriented (OO) modelling and programming
structure. However, the modelling fundamentals in techniques.
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

188 Dubitzky et al.

Another problem found in “traditional” case- finishes with some conclusions and an outlook to future
knowledge representation schemes is the lack of work.
support for context; case attributes or features are
usually treated in a rigid, uniform manner. For most
but the simplest applications this treatment of case 2. The C4 Case-Knowledge Architecture
characteristics is not satisfactory [10, 12]. In the C4
approach, a prototypical case is stored with each case The following gives a concise overview of the over-
category. Amongst other things, such a prototype serves all C4 case-knowledge architecture so as to provide a
to express the context-specific properties a case feature suitable context for the understanding of the fuzzy ab-
type may assume in the “surroundings” of a particular stract case feature concept proposed in this paper. For
category. a more comprehensive description of the C4 compo-
Finally, when specifying a query case or a stored nents that are not considered here in great detail refer
base case, it is often the case that constituent val- to [14].
ues can not be articulated precisely. This uncertainty The C4 case-knowledge architecture realises a case
may be caused by partial ignorance, unquantifiable or memory organisation and classification system that
incomplete-information. Such situations are the rule, groups conceptually cognate, self-contained case en-
rather than the exception, and humans resort to fuzzily tities into fuzzy categories. A category represents the
quantified specifications to cope with this sort of prob- attribute-based intention or concept of the cases it or-
lem [10, 15, 26, 29]. The C4 approach proposes a ganises. As cases are clustered into categories in accor-
systematic method to represent and use fuzzy case fea- dance with their membership degree—rather than in a
tures in a context-sensitive fashion. Based on fuzzy binary “yes-or-no” fashion—the concept boundaries of
complex and fuzzy primitive abstract features, cases a category are said to be fuzzy. In fact, a single case may
can be organised in conceptually overlapping cate- be an instance of more than just one category, as long
gories, stored and retrieved via a classification and as its membership degree, in the according category,
similarity regime that methodically combines feature is above some pre-specified threshold. The fuzzy con-
values encoded in mixed fuzzy and crisp format. This cept formation scheme, realised in the C4 architecture,
concept significantly contributes to the flexibility and is based on fuzzy abstract case features. Fuzzy abstract
expressiveness with which case-knowledge can be features form the fundamental basic case-knowledge
represented. modelling primitives in a C4 system.
As the above-mentioned concepts greatly add to the To address representational adequacy as well as gen-
representational adequacy and epistemological sound- erality and performance issues, the C4 case-knowledge
ness of case-knowledge representation strategies, the representation scheme is based on a combination of the
C4 architecture is considered as “advanced”. More- EBR and MBR approaches [2]. The former type of sys-
over, on the grounds of strict compliance with OO prin- tem revolves around the classification of unclassified
ciples and ODMG’s [8] object model, it has been shown cases, whereas the latter focuses on a memory-like case
that the C4 scheme can serve as a basis for advanced organisation architecture. The breakdown of a C4 case
knowledge management [14]. base is orthogonal: Contexts and categories represent
The C4 scheme is realised as a prototype C++ imple- the case base’s conceptual and organisational structure
mentation applied to the Coronary Heart Disease risk (memorising, reminding), and category instances re-
assessment domain. flect the actual cases themselves.
The remainder of the paper is organised as follows: Contexts and categories are deployed to bundle to-
Section 2 gives an overview of the presented fuzzy gether related knowledge items at different levels of ab-
case-knowledge representation scheme. Sections 2.1 straction and granularity. Forming a navigational struc-
through to 2.2.4 demonstrate and define the no- ture, contexts and categories also embody operational
tion of fuzzy primitive abstract features along with CBR services that are used to locate relevant case clus-
their constituent components (e.g., approximation ters, and to identify the most relevant case within a
scales, p-functions, etc). In the light of the Coro- category. One important operation, for example, is that
nary Heart Disease Risk Assessment domain Sec- to determine the category membership of an unclas-
tions 2.3 to 2.3.3 discuss and define the concept sified target case. The context/category network of a
of fuzzy complex abstract features. And Section 3 C4 case base is realised as a rooted, acyclic, directed
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

An Advanced Case-Knowledge Architecture 189

graph G. This structure constitutes a pre-compiled,

knowledge-driven substitute of the more conventional
symbolic indexing schemes that have been proposed
in CBR literature [4, 6, 18]. Each terminal node in
that graph represents a case category Ci , non-terminal
nodes (except for the graph’s root node) describe a con-
text K j . Thus, via the has-sub-component relationship
between two nodes a and b (a has-sub-component b
is denoted by “a → b”), a category c ∈ Ci can be
reached by a path of the form: root → k1 → k2 →
· · · → kn → c (where kk ∈ K j and 1 ≤ k ≤ n).
Figure 1. A category node and its constituent member cases.
Apart from serving as connecting nodes in the navi-
gational graph scaffolding, contexts and categories rep-
resent information so as to actively carry out tasks such the atomic constituents f 21 , f 22 ), and the atomic fea-
as feature extraction and feature matching. A context ture type f 1 . The instantiation of, for instance, case
node, unlike a category, does not directly reference any b1 is given by: b1 := < 3.12, <"X", 181> >.
cases. Rather, a context K j represents feature type in- There exists a 1-to-M association relationship between
formation that make up part of the intentional descrip- the feature instances in the prototype p and the cor-
tions of all the categories Ck organised below K j in responding base case feature instances (dotted line).
the hierarchy G (Ck ⊂ Ci ). This organisation makes it For example: (f1 := <3.50>) 1-to-2 { (f1 :=
possible to avoid irrelevant branches when a new target <3.12>), (f1 := <4.20>) } between p’s and
case is considered (classified) for storage or retrieval. the base cases’ f 1 instances. Note, complex as well
So a context K j can be thought of as an abstract cat- as atomic feature instances carry a unique object iden-
egory, for it subsumes the common characteristics of tifier (only those of complex features are shown in the
categories that can be reached by a has-sub-component diagram, e.g., id03 , id06 ).
traversal path rooted at K j . Henceforth, the terms context and category are of-
The category nodes Ci , on the other hand, are spe- ten used interchangeably, as both establish a contex-
cialised context components, since they also manage an tual frame within which abstract features are to be
actual set of stored base cases E i (the extension of the interpreted.
concept represented by the category Ci ) and a single
prototype case pi . The prototype case pi constitutes 2.1. Pre-Defined Features
a norm or a prototypical member of Ci . The classi-
fication procedure compares the target case t against Usually, a finite universal set F of pre-defined domain-
pi when it establishes t’s membership degree in the specific features constitutes the frame of discernment
category Ci . The category-specific feature definitions within which a case-based reasoner operates. A subset
represented in pi are also used by the similarity assess- A of F is used to represent salient or abstract features,
ment process for determining the conceptual similarity A ⊂ F. Abstract features played a fundamental role
between a classified target case t and a base case bi j when a past case was evaluated and its outcome or
stored in the category Ci (bi j ∈ E i ). As the relation- solution was determined. Highly interwoven with the
ships between the stored base cases, their constituent abstract feature notion are the concepts of a context (or
abstract features and the prototype case are crucial for category) and similarity; both notions are central to all
the understanding of the following discussion, they are forms of analogical reasoning, hence for CBR [16, 26].
depicted in the diagram below. The sophisticated classification and similarity
Figure 1 illustrates an example of a simple category regime presented in this work is based on the rep-
containing two base cases b1 and b2 , and a prototype resentation of fuzzy abstract features. It is differen-
case p. In the diagram, the cases are depicted by small tiated between complex, that is structured, abstract
round boxes, and the cases’ constituent features are features and primitive abstract features. Complex ab-
drawn as circles (the solid lines between circles re- stract features are recursively defined, via nested set
flect the features’ hierarchical composition). The cases and record formation, in terms of primitive abstract
are formed from the complex feature type f 2 (with features. Examples, within a dating agency scenario,
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

190 Dubitzky et al.

for primitive abstract features include Age, Height, The first expression constructs the Height instance
Figure, and possible instances thereof are <22> <179> and binds it to the instance variable crisp.
(years), <180> (cm) and <60> (cm waist circumfer- The second and third result in the bindings lt :=
ence). An example for a complex abstract feature is <TALL> (representing the linguistic term tall), and fn
Body, where Body may be described by the feature ag- := <"ROUGHLY", 180> (the fuzzy number roughly
gregate [ Height, Figure ]. A particular Body 180 cm).
instance b may be given by b := <180, 60>. Note, The above-introduced notion can be extended to
that the above feature quantities are defined in crisp fuzzy complex abstract features. This means that a
format. fuzzy complex abstract feature can assume a crisp
Frequently, however, humans can not obtain or as- value, a holistic linguistic term, and a holistic fuzzy
sess a value for a feature precisely. This uncertainty value.
may come from sources such as partial ignorance, un- To illustrate this, a simple example from a fictitious
quantifiable, incomplete or non-obtainable informa- dating agency case base is presented below. Two fuzzy
tion [9]. For example, a suspect s might be described complex abstract feature classes are defined as follows
by a witness by s := <"TALL", "SLIM">. To cap- (the notation “C ::= [{S}, {M}]” is used to denote the
ture the imprecision of human behaviour and to take definition of an object class C in terms of its structural
into account human subjectivity, it is proposed to ex- S and operational M properties):
tend the abstract case feature notion by introducing
fuzzy abstract features. Fuzzy abstract features should Body ::= [ { Height: FPAF; Figure: FPAF
increase the flexibility and naturalness with which CBR feature }, { (* methods *) } ].
concepts can be expressed. Idol ::= [ { Age: FPAF; body: Body },
In the C4 scheme, there are two types of fuzzy ab- { (* methods *) } ].
stract features: fuzzy complex abstract feature and fuzzy Note, the class Body is defined in terms of two fuzzy
primitive abstract feature. Fuzzy complex abstract fea- primitive abstract features, namely Height and Fig-
tures are defined recursively in terms of fuzzy primitive ure; both are of system-supplied type FPAF. The class
abstract features. Idol is composed of a primitive and a complex fea-
To allow for a flexible mixed format encoding of case ture, Age and Body respectively. Not indicated in the
features, fuzzy primitive abstract features are modelled definition is the fact that both complex classes, Body
by means of the following concepts: crisp number, lin- as well as Idol, are derived from the generic, system-
guistic term and fuzzy number. A crisp number con- defined fuzzy complex abstract feature class FCAF (see
stitutes a real number. Humans employ both linguistic later sections).
terms and fuzzy numbers to express uncertainty. Lin- The following specifications instantiate the two
guistic terms are formed from natural language words fuzzy complex abstract feature classes Body and Idol:
and expressions (e.g., very, poor, more or less accept-
able, etc.). Whereas fuzzy numbers are constructed b0 := < Create( ("ROUGHLY", 160),
by means of an inexact proximity quantifier and a cor- "VERY SLIM" ) ----> Body >
responding crisp number. A Comfortable-Room- mary := < Create( 35, (b0) ) --
--> Idol >
Temperature feature instance t, for example, could jane := < Create( "LIKE", (mary) ) --
--> Idol >
be specified by t := <"AROUND", 21> (around 21 peter := < Create( "VERY ATTRACTIVE" )
degrees Celsius). The proposed fuzzy primitive ab- --
--> Idol >
stract feature data type is polymorphic since it can as-
sume fuzzy as well as crisp instance values. To briefly b1 := < Create( 184, "SLIM" ) --
--> Body >
illustrate this, consider the fuzzy primitive abstract fea- paul := < Create( "OLD", (b1) ) --
--> Idol >
ture Height again. In order to instantiate the Height
feature, the overloaded Create message is sent to the The expressions yield the fuzzy complex abstract
class Height [8, 11]2 : feature instances that are bound to the object variables
mary, jane, peter and paul respectively:
crisp := < Create(179) --
--> Height >
lt := < Create("TALL") --
--> Height >
mary := < 35, < <"ROUGHLY",160>,
fn := < Create("ROUGHLY",180) "VERY SLIM" > >, jane := <"LIKE",
--> Height > (mary) >, peter := < "VERY
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

An Advanced Case-Knowledge Architecture 191

ATTRACTIVE" >, and paul := <"OLD",

<184,"SLIM"> >.
Note, the expression (mary), in the jane instance,
reflects the situation that the complex instance mary
(see above) is embedded in the object jane. It is also
to be noted that none of the four complex objects above
is formulated entirely in crisp format.
Considering the instances mary, jane, peter and
paul again, the following important observations can
be made: Figure 2. Fuzzy sets and membership functions.
First, fuzzy complex abstract features have the po-
tential to express the fundamental Fuzzy Logic idea
structure and functionality of a fuzzy primitive abstract
“introduce imprecision to reduce complexity”. The in-
feature can be defined, a brief look at some Fuzzy Logic
stance jane, for example, is an inexact specification
fundamentals is in order [19, 29].
of an Idol instance, which, if it was to be defined pre-
A fuzzy set A is a set of objects drawn from the uni-
cisely, requires the specification of two properties (one
versal set U . Each object x(x | x ∈ A) is assigned a
of which is of complex nature).
membership degree that reflects the grade to which x
Second, an observer has subjectively aggregated or
fits the concept represented by the set A. Formally,
summarised peter’s feature values (Age and Body)
into the holistic fuzzy term very attractive. This im- A = {(x/µ(x) A ), x ∈ U }, (1)
plies that the observer possesses some sort of Idol
“scale” that categorises Idol instances into fuzzy sub- where µ(x) A is called membership function; it is de-
sets called, for example, unattractive, attractive and fined as follows:
very attractive respectively. This mechanism may vary
from observer to observer; another observer might have µ(x) A : U → [0, 1] (2)
classified peter as, for example, boring-looking.
Third, one of the most critical tasks in a CBR sys- Figure 2 illustrates above definitions. The diagram
tem is to find cases that are conceptually close to—or shows an approximation scale involving three fuzzy
alike—a new problem case. Given the fact that cases sets A, B and C. These sets take their elements from
are usually perceived as entities exhibiting a high de- the universal set Money (which represents a person’s
gree of complexity [2], the expression < "LIKE", yearly income in units of some currency). The fuzzy
(mary) > is at the heart of CBR, as it is concerned subset A, for instance, is represented via the member-
with complex objects inside some conceptual neigh- ship function µ(Money)poor (depicted by the solid-lined
bourhood radius of < mary >. graph in the diagram). Also illustrated in the diagram
The second point above relates to Cheng’s [10] criti- is the membership degree (0.53) of an annual income of
cism, that in most existing works, a fixed, global feature 10,000 units; in the fuzzy set A : µ(10000)poor = 0.53.
weighting (and prototypicality3 ) scheme is imposed on A linguistic term is a natural language expression
the pre-defined features, invariant with respect to the that imprecisely quantifies an attribute such as In-
context or category a case, represented by those fea- come, Age, Safety, etc. Linguistic terms of this kind
tures. For many case bases this approach constitutes can be seen as labels for fuzzy sets. Thus, the labels
an oversimplification. poor, well-off, and rich, in the above example, refer to
As C4’s fuzzy abstract features constitute aggregates the fuzzy sets A, B, C, and the corresponding state of
of crisp and fuzzy data, a special mathematical treat- affairs.
ment is necessary to establish combined scores so as to A fuzzy number is used to handle inexactly specified
compare and rank cases. quantities, it is usually formulated by a linguistic ex-
pression reflecting closeness, and a real number N (e.g.,
2.2. Fuzzy Primitive Abstract Features around 35,000, more or less 50,000). Fuzzy numbers
are equivalent to fuzzy sets, they are therefore defined
An actual C4 system is eventually defined in terms by the Eqs. (1) and (2). The membership function de-
of pre-defined primitive abstract features. Before the notes the degree of truth that N takes a specific number
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

192 Dubitzky et al.

x (x ∈ U ). Consider, for example, the following state- feature type F and a category C, where instances of
ment (see also Fig. 2): “The income of 10,000 units F occur, there exists only one approximation scale
per year is equivalent to that of roughly 5,000”. Ac- (anchored at the prototype case), so that the scale
cording to the relevant fuzzy number in the diagram, does not have to be maintained by every single case
this statement is true to a degree of 0.53. stored in an individual category.

2.2.1. C4’s Approximation Scales. The approximation

scale concept deployed in the C4 architecture encom- 2.2.2. Prototypicality and P-Functions. When retriev-
passes more than the components described in Fig. 2. ing cases the C4 inference cycle relies on the notion of a
The list below summarises the major functions of the membership degree m i in order to classify a target case
C4 approximation scale notion, a more formal defini- t as being a member of a category Ci . A target case’s
tion is found in Section 2.2.4. membership degree m i in Ci is established on the basis
of the target case’s constituent features’ membership or
1. They realise the fuzzy subsets for a particular fuzzy prototypicality degrees P. The prototypicality degree
primitive abstract feature (see Fig. 2). This means p j ∈ P is derived from a single membership function,
that they represent a set of membership functions, the p-function, represented in the approximation scale
a set of linguistic terms, and a set of (normalised) of each primitive feature f j in a category’s prototype
fuzzy numbers. In C4, a normalised fuzzy number is case. For a given category Ci , the p-function of a fea-
specified through the proximity term approximately ture f j reflects the possibilistic uncertainty associated
and a real number. with the concept f j [21]. So for a crisp or fuzzy fea-
2. Approximation scales are represented as self- ture value x, f j ’s p-function is consulted to determine
contained entities that encapsulate the rules required to which extent p j the value x constitutes the concept
to process the similarity and prototypicality of cases. f j . To calculate the overall membership degree m i the
These rules are also responsible for the transfor- various prototypicality degrees P have to aggregated
mation between feature values given in real num- taking into account their importance weights w j . With
ber, fuzzy number, linguistic term and crisp score a simple example from an imaginary dating agency case
format respectively (see below). For example, the base, it is now demonstrated how approximation scales
fuzzy number more or less 50,000, in the example are deployed to establish a primitive abstract feature’s
above, can be transformed into the linguistic term membership or prototypicality degree p j . The aggre-
rich. gation of the degrees P into an overall membership m i
3. One function, out of the set M of membership is illustrated in Section 2.3.2.
functions represented by an approximation scale, is Two case or person types (i.e., case contexts or cat-
called p-function. A p-function is used to establish egories) are considered: SportsPerson, denoted by
the prototypicality of a compatible feature value. CSP , and ArtisticPerson, denoted by CAP . The in-
To support this service, the C4 approximation scale tentions of the examined categories are given by the ab-
class defines the method prototypicality. stract feature sets: CSP = {a1 , a2 , . . . , Money, . . . , am },
4. In order to realise a context-specific evaluation (i.e., and CAP = {b1 , b2 , . . . , Money, . . . , bn }. The focus is
similarity and prototypicality degree, and relevance on the fuzzy primitive abstract feature Money the per-
weight) of instances of a particular abstract feature son types CSP and CAP have in common4 . Further, two
type (e.g., Money), a dedicated approximation scale according approximation scales, sSP and sAP , are estab-
can be associated with a feature type for each con- lished so as to represent the different characteristics the
text or category. This is accomplished via a pro- Money feature may possess within the categories CSP
totype case stored in each case category of a case and CAP respectively (see Figs. 3 and 4).
base. Apart from contributing to the representational Consider the diagrams above. The linguistic term
adequacy with which case-knowledge can be ex- set L Money = {poor, well-off, rich}, used to describe the
pressed, this approach has two other advantages. pre-defined feature Money, is defined within the scope
First, it is extremely flexible, for the approximation of the entire case base. Therefore, L Money is the same
scales can be allocated dynamically, this means that across the categories CSP and CAP . However, different
a case base can evolve gracefully since the before- graphs reflect the meaning a concept, such as poor, con-
mentioned regimes are not compiled into the over- veys in different contexts. As a result, the “normalised”
all program. Second, for each combination of a fuzzy numbers (e.g., approximately 5,000 in sSP , and
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

An Advanced Case-Knowledge Architecture 193

First, the category CSP with the associated approxi-

mation scale sSP , and the Money feature weight wSP is
considered (see also Fig. 3):

1) For the real number xMoney =37,000, the member-

ship function µ(Money)rich is found. This is not
CSP ’s p-function, therefore, the prototypicality de-
gree pxSP = 0. It follows m xSP = 0.
2) The linguistic term yMoney = poor matches the
Figure 3. Scale sSP for Money feature in category CSP ( p-function:
membership function µ(Money)poor . Again, this is
µ(Money)well-off ). not CSP ’s p-function, consequently, m ySP = 0.
3) Before the fuzzy number zMoney = around 25,000
can be evaluated, it has to be converted into the
corresponding normalised fuzzy number. This is
done by the mapping of zMoney ’s numeric expres-
sion (25,000) onto the corresponding membership
function in sSP ; this yields µ(Money)well-off . So the
freely expressed around 25,000 is equivalent to the
standardised approximately 30,000 (and therefore
with the term well-off ) within the considered con-
text. For well-off corresponds to CSP ’s p-function,
the prototypicality degree of zMoney = around
25,000 evaluates to pzSP = 1.00. It follows: m zSP =
Figure 4. Scale sAP for Money feature in category CAP ( p-function:
pzSP · wSP = 0.10. This means that z’s Money fea-
µ(Money)rich ).
ture value provides its maximal contribution, i.e.,
0.10, to z0 s classification as a sports person.
approximately 10,000 in sAP ) are also represented in a
context-specific fashion! Now the same three individuals x, y, and z are
Suppose, in the CSP category, Money has a weight considered in the ArtisticPerson context, taking
of 10% (wSP = 0.10), and its prototypical value, there, into account the relevant approximation scale sAP and
is expressed by the linguistic term well-off and the cor- weight wAP (see also Fig. 4):
responding p-function µ(Money)well-off (thick-lined
graph). 1) With the crisply specified Money attribute,
Whereas in CAP , the Money feature contributes to xMoney =37,000, CAP ’s p-function µ(Money)rich can
5% to the recognition of concept CAP (wAP = 0.05). be found. In this case—with the crisp feature value
And individuals of type CAP would typically be rich and the definition of µ(Money)rich —it is possible to
(term rich and p-function µ(Money)rich ). precisely compute xMoney ’s prototypicality degree:
Three unclassified individuals x, y, and z are pxAP = −(1/15,000) · xMoney + 10/3 = 0.86. Con-
given by x := < x1,..., 37000,... >, y sequently: m xAP = pxAP · wAP = 0.043. That is, x’s
:= < y1,..., "POOR",..., >, and z := < Money feature contributes to 4.3% to x’s categori-
z1,..., <"AROUND",25000,>,... >. The sation as an artistic person.
specified values correspond to the Money attribute 2) and 3) Applying the above rules (implicitly given),
(i.e., xMoney =37,000, yMoney = poor, zMoney = the reader can easily establish m yAP = m zAP = 0.
around 25,000). With respect to this feature (and the
category specific weights and p-functions) it is now es- Considering above results, and the context-specific
tablished to what extent m a feature value contributes Money characteristics expressed by the approximation
to the overall membership of the individuals (x, y, z) scales in the diagrams again, the reader may find that
in the categories CSP and CAP respectively. In general, the computed figures agree with our intuition. When
with a feature’s prototypicality degree p and its weight the same strategy was applied to the Coronary Heart
w, m evaluates to: m = p · w(m ∈ [0, 1]). Disease risk assessment domain, the domain expert
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

194 Dubitzky et al.

expressed a high degree of satisfaction and confidence function and the line max(x) = x intersect. Similarly,
in the system’s behaviour. SL (x)FN represents the µ(x)FN value at the intersection
of the left “leg” of µ(x)FN and the line min(x) = 1− x.
2.2.3. Similarity and Membership Functions. In the (Note, max(x) and min(x) are defined with respect to
C4 architecture, it is explicitly allowed to encode prim- the normalised interval 0 ≤ x ≤ 1.)
itive abstract features using a fuzzy or crisp format. Applied to the example and the fuzzy number (i.e.,
When comparing features involving fuzzy values (lin- linguistic term) poor, the functions max(Money) =
guistic terms, fuzzy numbers), the decision of whether (1/50,000) · Money, and min(Money) = 1 −
one feature is worse or better than the other becomes (1/50,000) · Money can be determined (see Fig. 3).
a non-trivial affair! The problem stems from the fact And the membership function for the term poor can be
that fuzzy numbers and linguistic terms represent many derived as follows:
possible real numbers that have different membership 
 +(1/5,000)Money,
degrees. That is to say, unlike real numbers, fuzzy num- 
 for 0 ≤ Money ≤ 5,000
bers do not always yield a totally ordered set [15]. µ(Money)poor =
To illustrate this, the Money feature in the sports 
 −(1/50,000)Money + 2,

person context CSP is considered again (see Fig. 3). for 5,000 < Money ≤ 10,000
Suppose two base cases with the corresponding Money (4)
feature values b1 and b2 , given by b1 := < "POOR"
> and b2 := < "APPROXIMATELY" 45,000 >, With max(Money) and Eq. (4), upper part, the right
are stored in the CSP category. The decision, based score S R (Money)poor = 0.18 is established. Likewise,
on the abstract feature Money, as to which of the base through min(Money) and Eq. (4), lower part, the left
cases is more similar to a target case t (tMoney := < score evaluates to: SL (Money)poor = 0.91. Now, with
"WELL-OFF" >) is not straightforward. Eq. (3), the (total) crisp score for the fuzzy number
Chen and Hwang discuss several methods that labelled poor can be computed as: CS(Money)poor =
deal with the aggregation and ranking of entities de- 0.14.
scribed by fuzzy attributes [10]. The C4 approach In a similar fashion, the crisp scores
is based on a relatively new and highly performant CS(Money)well-off = 0.54, and CS(Money)rich = 0.83
method [10, p. 465], devised by Chen and Hwang, are worked out (the normalised fuzzy number approx-
that converts fuzzy numbers and linguistic terms into imately 45,000, in the example, corresponds to the lin-
crisp scores. These can then be used in conjunction guistic term rich).
with a traditional Multiple Attribute Decision Method Since the crisp scores CS(Money)i constitute real
(MADM) such as TOPSIS (Technique for Order Pref- numbers, it is now possible to resort to “traditional”
erence by Similarity to Ideal Solution). The Crisp Score ranking schemes in order to solve the similarity prob-
Method requires that the fuzzy numbers satisfy the lem stated above. The Distance from Target Method
commonly assumed normal and convex criteria; the (see Eq. (5)) is employed to compute the distances
method has proven to be robust against most types of db1 t = 0.40 between b1 and t, and db2 t = 0.29 between
intersection that may occur between fuzzy sets [10]. b2 and t. So, within the SportsPerson category, an
Chen and Hwang have also shown the usefulness of individual t, whose income is described by well-off, is,
the method in MADM problems containing a mixture at least Money-wise, more similar to an individual b2
of crisp and fuzzy data. (approximately 45,000 or rich) than to b1 ( poor).
The following demonstrates this method. The crisp
score CS(Money)poor for the fuzzy number labelled by 2.2.4. Definition of Fuzzy Primitive Abstract Features.
linguistic term poor is computed (see scale sSP and To define a fuzzy primitive abstract feature and its pro-
membership function µ(Money)poor in Fig. 3). totype derivative, two more fundamental C4 compo-
In general, for a fuzzy number FN, the formula to nents, namely the linguistic term and the fuzzy number
compute the crisp score S(x)FN is defined as follows: classes, need to be specified. For each C4 case base
there exists a globally pre-defined set T of linguistic
CS(x)FN = [S R (x)FN + 1 − SL (x)FN ]/2 (3) terms: T = {t1 , t2 , . . . , tn } (each term ti ∈ T is con-
structed from an atomic token or character sequence).
In the equation, the score S R (x)FN represents the The set T is established by the domain expert. All lin-
µ(x)FN value where the right “leg” of the µ(x)FN guistic expressions used to describe fuzzy objects are
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

An Advanced Case-Knowledge Architecture 195

derived from T . A subset P of T contains “close to” the polymorphic LT methods (e.g., AddTerms,
or “proximity” terms (examples include nearly, more set_term). Now, the linguistic term class LT-
or less, roughly). These terms serve to express the C4 Money can be seeded with linguistic terms (e.g.,
fuzzy number construct. Non-fuzzy-number linguis- AddTerms("POOR", "WELL_OFF")-- -->LTMoney ),
tic terms are formed from elements of the linguistic instantiated and used (e.g., set_term). For the sake
expression set E (e.g., very costly, low, extremely haz- of brevity, this is not demonstrated.
ardous), E = T − P. Note, a set X ⊂ T , chosen
to express the linguistic terms for a particular abstract Definition 2. On the analogy of the class LT, each
feature F, remains constant for F instances across the normalised fuzzy number in a C4 system is defined
entire case base! through the generic class FN. FN consists of a shared
set of proximity terms (Pool ⊂ P), a value a FN instance
Definition 1. The linguistic term class LT is defined can assume—proximity term prox ∈ P and real number
in terms of the set Pool of linguistic expressions (where r —and a set of methods.
Pool ⊂ E). The instance variable term represents the
linguistic expression that a LT instance can assume; FN::=[ { prox: T; r: Real; class Pool:
term must be drawn from the “allowed” set Pool of set <T> },
linguistic expressions (this constraint has to be en- { class Create, class AddTerms,
forced by the Create and accessor functions defined get_term, get_number, equal . . . }
on LT). Pool is a class-level variable, this means that ].
the associated set is shared by all instances of type
LT. In the definition, the meaning of the methods is anal-
ogous to those defined on the linguistic term class
above. Referring to the Money feature again, the
LT::=[ { term: T; class Pool: set <T>},
fuzzy number construct is illustrated by means of an
{ class Create, class AddTerms,
set_term, get_term, equal . . . }
FN ⊂ FNMoney ::=
[ { currency: String; scale_point:
The methods set term, get term, equal, . . .
Real },
express instance-level access methods, comparison op-
{ class Create, class AddTerms,
erators, etc. Create and AddTerms represent class-
get_term, get_number, equal,
level methods. Note, the class LT is a generic class
print . . . }
(it is never directly instantiated), user-defined classes
have to be derived from LT accordingly.
The following example illustrates the above con-
Note, the reason why a user would like to supply his
cepts. The class LTMoney represents the linguistic
or her own FN version is to accommodate and enforce
terms used in connection with the previously intro-
application-specific semantics and constraints.
duced Money feature. Via the is-a or inheritance re-
With the definitions of the general linguistic term and
lation (denoted by ⊂), the user-defined linguistic term
fuzzy number classes, given above, it is now possible to
class LTMoney inherits from the system-defined class
define the fuzzy primitive abstract feature class FPAF.
For reasons that are explained in Section 2.3.3, the class
LT ⊂ LTMoney ::= FPAF has a generic, system-defined superclass FAF
[ { currency: String }, (fuzzy abstract feature).
{ class Create, class AddTerms,
set_term, get_term, equal, Definition 3. C4’s fuzzy primitive abstract feature
print . . . } class FPAF can simultaneously represent a particular
]. feature instance value in three different formats (repre-
sentational polymorphism), namely as linguistic term
The LTMoney class can add new data members term, fuzzy number f num, and real number r respec-
(e.g., currency), methods (e.g., print) and redefine tively. Through the (static) polymorphic similarity
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

196 Dubitzky et al.

method, a FPAF instance can compare itself with a an approximation scale scale. The methods prototypi-
compatible feature value. cality and similarity compute the according scores ( p,
sim) for a compatible target case feature t af value and
FAF ⊂ FPAF::=[ { term: LT; f_num: FN; r: base case feature respectively (t af value, b af value).
Real; proto: PrototypeFPAF },
{ class Create, similarity, Prototype ⊂ PrototypeFPAF ::=
α, β, . . . } [ { term: LT; f_num: FN; r: Real;
]; weight: Real; scale:
similarity ::= [ (in t_af_value: LT; ApproxScale },
out sim: Real) ]; { prototypicality, similarity,
similarity ::= [ (in t_af_value: FN; α, β, . . . }
out sim: Real) ]; ];
similarity ::= [ (in t_af_value: Real; prototypicality ::= [ (in
out sim: Real) ]; t_af_value: LT; out p:
similarity ::= [ (in t_af_value: FPAF; Real) ];
out sim: Real) ]. similarity ::= [ (in t_af_value,
b_af_value: LT; out sim:
To accomplish above-defined functionality, each Real) ];
FPAF feature instance participates in a binary relation-
ship with a prototype primitive abstract feature object Note, the methods prototypicality and simi-
proto. For a particular case category C and a FPAF larity are defined polymorphically (overloaded ver-
class F, the relationship R between the set I of F’s sions are not shown in the definition), so as to accept
instances in C, and the associated prototype object p, input values of the type FPAF, FN, Real and LT.
is defined by (1-to-many): R : I (M) ↔(1) p. That The generic superclass Prototype is needed to de-
is, each FPAF instance in a category is associated with fine the PrototypeFCAF class (see below).
a single prototypical counterpart. This concept allows
to represent context-specific feature characteristics. To Definition 5. On the analogy of the methods proto-
achieve such a context-dependency, the similarity typicality and similarity, specified in Definition 4, the
methods defined on FPAF delegate the actual compu- class ApproxScale defines the corresponding coun-
tation to the corresponding method defined on proto. terparts. The collection type member scale realises
By routing the similarity strategy through components the ordered set of tuples consisting of: mem function
defined on the base cases themselves, the case designer (membership function), f num (normalised fuzzy num-
has an “intervention point” to check and enforce case- ber), term (linguistic term), and cs (pre-computed crisp
level semantics. score). The member p function represents an index
It is important to note that the member classes LT, into the scales vector that identifies the p-function of
FN, and PrototypeFPAF are modelled as generic a particular ApproxScale instance.
classes, this means that instances of their subclasses
(e.g., LTMoney) can participate to form an actual fea- ApproxScale ::=
ture instance. [ { scales: vector< term: LT; f_num:
Before the FPAF feature class can be illustrated with FN; cs: Real; mem_function:
an example, it is necessary to look at the definitions MF >; p_function: Integer },
of the classes PrototypeFPAF and ApproxScale { prototypicality, similarity,
(approximation scale). convert, α, β, . . . }
Definition 4. The ProtoypeFPAF class is akin to prototypicality ::= [ (in
the FPAF class defined above, in that, it can take on t_af_value: LT; out p: Real) ];
instance values of mixed fuzzy and crisp format. How- similarity ::= [ (in t_af_value,
ever, its main difference is the capability to establish b_af_value: LT; out sim:
a prototypicality degree p for a target case feature Real) ];
t af value. It defines the weight slot (expressing the convert ::= [ (in r: Real; out
category-specific relevance weight of a feature), and t: LT) ].
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

An Advanced Case-Knowledge Architecture 197

In the definition, the class MF constitutes a flexible

means to realise any type of function; at this stage, its
implementation is identical to the function/predicate
object concept described in [27]. The method con-
vert represents a group of polymorphic functions
used to realise the mappings between the various for-
mats (including the crisp scores). To compute the ac-
cording scores, the polymorphically defined methods Figure 5. Complex object structure modelling the abstract feature
prototypicality and similarity resort to the anatomy of a case.
corresponding convert functions.
An example: Based on the LTMoney and the FN- feature values are not shown):
Money examples introduced above, a user-defined
money approximation scale MoneyScale, and a pro- PrototypeFPAF ⊂ MoneyProto::=[ (* . . . *) ].
totype fuzzy primitive abstract feature MoneyProto, money_proto_fpaf_context_1 := < Create
the fuzzy primitive abstract feature Money can be ( money_scale_context_1, 0.50 )--
defined and instantiated according to the following MoneyProto >
5. Finally, define and instantiate fuzzy primitive ab-
stract feature class Money:
1. Define LTMoney and FNMoney as subclass of the
system-provided generic linguistic term and fuzzy FPAF ⊂ Money ::= [ (* . . . *) ].
number class LT and FN respectively (see examples some_money := < Create("AROUND", 5000)
above). --
--> FNMoney >
2. Define the set M (for example: M = {m 1 , m 2 , m 3 }) income := < Create(money_proto_fpaf_
of context-specific membership function classes context_1, some_money) --
based on the generic membership function class MF. Money >
There has to be a function m i ∈ M for each linguis-
tic term represented in LTMoney. 2.3. Complex Abstract Features
3. Define and instantiate context-dependent approx-
imation scale class MoneyScale as subclass of Usually, a case is perceived as an entity with a complex
ApproxScale. When a MoneyScale instance internal structure [1]. Due to the “absolute judgement”
is constructed, instances (or instance references) of phenomenon [24], the complexity of a structured case,
the classes LTMoney, FNMoney, m1, m2, and in terms of its abstract features, is limited to a nesting
m3 can be passed via MoneyScale’s Create mes- depth of n ≤ 7 ± 2. The same boundary applies to the
sage (dynamic binding). For example (the Cre- number k of abstract features each complex abstract
ate method has to establish the corresponding crisp feature (hence, the whole case) can consist of at a given
scores cs1 , cs2 , and cs3 ): level (k ≤ 7 ± 2). The diagram below illustrates this
structural organisation of a single case with respect
ApproxScale ⊂ MoneyScale to its abstract features f 1 , . . . , f jm...q ( j, m, p, q, . . . ≤
::= [ (* . . . *) ]. 7 ± 2).
money_scale_context_1 := In practice, however, a particular abstract feature
< Create( lt1, . . . , fn1, . . . , m1, . . . ) skeleton of a case arrangement will not exploit all possi-
--> MoneyScale > ble dimensions in this hierarchy (see Fig. 5). However,
with additional surface features, accompanying the ab-
4. Define prototype fuzzy primitive abstract feature stract features, a case’s overall complexity can exceed
MoneyProto (needed in Step 5) as subclass of the above-stated limits.
the system-defined class PrototypeFPAF. In- In C4, all non-symbolic terminal case abstract
stantiate MoneyProto along with context-relevant features are represented by fuzzy primitive abstract
weight and the approximation scale money_ features. The similarity and prototypicality assessment
scale_context_1. For example (prototypical between two abstract features (and therefore the cases)
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

198 Dubitzky et al.

is established in a recursive fashion; recursion termi- scales are carefully established for each individual
nates at the level of fuzzy primitive abstract features. fuzzy abstract feature within the context of a specific
At this level, the previously discussed approximation category. In fact, the initial knowledge acquisition stage
scales (held in a prototype case for each category) come has shown that the approximation scales serve as an
to bear to compute the similarity/prototypicality scores elegant communication platform between the domain
of corresponding fuzzy primitive abstract features. expert and knowledge engineer.
However, when aggregated scores are to be estab- The solution to question (2) is normalisation; this
lished, for a complex feature made up of constituents strategy fits well into the C4 scheme involving nor-
of different format (including complex features), two malised weights, prototypicality and membership de-
questions arise: grees, and crisp scores respectively.
So eventually, when comparing and ranking cases,
1) How can differently encoded sub-features of a com- a C4 system processes the crisp score and normalised
plex abstract feature be systematically combined in real number of corresponding features. If, and only if,
order to reach at an overall score a that can be com- the target case feature value t and the base case fea-
pared with another score b? ture value b are given in crisp number format, then
2) In addition to (1), if, as it is commonly the case with t’s and b’s normalised values (indicated by “*”) are
MADM and CBR problems, the attributes’ units of used. For example, ht (age = 35), b(age = 51)i
measurement are incommensurable, how can mean- normalise
−→ ht(age∗ = 0.30), b(age∗ = 0.45)i. This is in
ingful collective scores be formed? keeping with the original intention of fuzzy set theory
which is to incorporate human imperfect perceptions,
In the literature [10] several methods are pro-
subjective judgement, and imperfect information into
posed that deal with problem (1). For the C4 frame-
a decision model. When decision data can be precisely
work, the Crisp Score Method has been chosen (see
captured, such data should not be forced into a fuzzy
Section 2.2.3), as it, via crisp scores, allows to fall back
format because it will complicate the already complex
upon non-fuzzy schemes (e.g., MAXIMAX, EBA,
decision-making problem.
LAM). Moreover, this method has been shown to be
Otherwise, for all other possible combinations, crisp
successful in real-world problems where it is often
scores (indicated by “+”) for t and/or b must be es-
the case that both crisp and fuzzy data coexist [10,
tablished. These scores are then subjected to the ac-
(pp. 465–486), 13]. Another appealing feature of the
cording method. For example, ht (Total = “HIGH”),
method is its robustness—i.e., its ability to produce use- crisp score
ful orderings—against intersecting fuzzy sets (“over- b(Total = “VERY HIGH”)i −→ ht (Total+ =
lapping” fuzzy numbers). Finally, the Crisp Score 0.56), b(Total+ = 0.74)i (compare values with left
Method has proven to be superior, in terms of per- scale in Fig. 6). In case of a mixed fuzzy/crisp feature
formance, over other approaches in applications where value combination (e.g., ht (Total = “VERY HIGH”),
hundreds/thousands alternatives (cases) with few fea- b(Total = 7.50)i) the crisp value c must first be con-
tures, or few alternatives (cases) with hundreds of fea- verted into that fuzzy number Ai whose x̂i is closest to
tures need to be ranked [10]. c, i.e., that Ai where min(|c − x̂i |). For this to work
Originally, in the first phase, the Crisp Score Method it is required that for each Ai ∃ a unique x̂i such that
requires the pre-instalment of an ad hoc scale conglom- µ(x̂i ) Ai = 1, for µ(xi ) Ai : U → [0, 1], xi ∈ U . For
erate. In the C4 architecture, however, this somewhat example, b(Total = 7.50) −→ b(Total0 = “HIGH”).
problematic approach is avoided, since approximation This conversion is somewhat ad hoc as it does not take

Figure 6. Approximation scales for features Total depending on the categories CI , CII and CIII (from left to right).
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

An Advanced Case-Knowledge Architecture 199

into account a partial membership of c in Ai . In [13] relevant stored base case. The case base is organised as
an approach is described that deals with this problem follows:
more consistently, for reasons of conciseness it is not The case base B is represented by three categories
discussed in this paper. CI , CII , and CIII , these relate to the CHD risk type
The mixed format and structured feature scoring of the cases they organise. Category CI corresponds
scheme is demonstrated by means of an example from to subjects that have a high CHD risk because of their
the Coronary Heart Disease risk assessment domain. cholesterol levels, cases in CIII constitute stress-related
This is also the field to which the C4 architecture has risk types, and in category CII are cases that incline to
been applied in the form of a prototype that is currently risk that is caused by both factors.
being extended. Each base case b ∈ B is given by the fuzzy complex
abstract feature pair: [ Stress, Cholesterol ].
2.3.1. Coronary Heart Disease Risk Assessment. Both features are broken down into two fuzzy primitive
Coronary Heart Disease (CHD) is a degenerative dis- abstract features, namely: Nervousness and Worry,
ease which is the result of an increase of atheroma and LDL and Total. The Nervousness and Worry
in the coronary artery walls leading to total or partial values originate from a commonly used stress ques-
occlusion. The resulting clinical feature is Myocar- tionnaire, they represent the Stress feature, whereas
dial Infarction (heart attack) and subsequently sudden LDL (Low Density Lipoproteins) and Total (total cir-
death [28]. culating cholesterol in the blood) are taken from blood
The main risk factors related to this condition involve sample analysis and represent the Cholesterol fea-
physical inactivity, smoking, hypertension, stress, ture. Similarly to the Money example (Section 2.2.2),
hypercholesterolaemia, etc. This complex multifacto- there is an approximation scale for each fuzzy primi-
rial disease makes it difficult for clinicians to accurately tive abstract feature for each context Ci . The diagram
assess the likelihood of a cardiac event. Currently, sta- below illustrates the context-dependent approximation
tistical multivariate analysis methods are used to mea- scales for the Total feature.
sure risk on those asymptomatic patients who, nev- The target case t, used throughout this example, is
ertheless, present one, two or more CHD risk factors described by the following combination of feature in-
[23]. Although statistical methods provide information stances t:= < < "ALMOST NEVER", "OCC-
regarding the likelihood of CHD event through system- ASIONALLY">, <8.00,3.70> >; where the first
atic numerical calculation, it does not take in account pair represents the Stress ([Nervousness,
the individual as a whole, neither provide sophisticated Worry]), and the second the Cholesterol ([To-
human-like reasoning. tal, LDL]) values. Note, the target case is presented
Furthermore, Northern Ireland has got one of the as a structured object, rather than as flat feature vector.
highest rates of CHD in the world and much of the at- This is achieved by C4’s feature extraction component
tention today is focused on precise screening strategies which constructs a category-specific target case from a
and preventative measures. Therefore, more investiga- surface feature vector [14].
tion is needed for the establishment of better predictive To classify t, its constituent feature values have to
systems for screening the pre-symptomatic stage be- be matched against the p-functions of the correspond-
fore the onset of CHD state. ing approximation scales in the three categories (see
A better insight into the understanding of the under- Section 2.2.2). For example (see Fig. 6), the target
lying mechanisms of CHD could be the inclusion of case’s feature t(Total = 8.00) yields the prototypicality
CBR as a new promising approach of early risk identi- degrees p1 = 0.16 (‘on’ p-function µ(Total)very-high
fication in order to provide more accurate intervention in C1 ), p2 = 0 and p2 = 0 (‘beside’ p-functions in cat-
strategies. egory C2 and C3 ). Fuzzy feature values evaluate to a
prototypicality degree p(t, pCi ) = 1.00, for linguistic
2.3.2. Prototypicality and Similarity Computation terms, if, and only if, the linguistic value t is identi-
for Fuzzy Complex Objects. In the following ex- cal with the p-function term pCi of the corresponding
ample the retrieval of subjects or cases, represented prototype feature, it is 0 otherwise. And p(t, pCi ) =
by two fuzzy complex abstract features, is demon- 1.00, in case of fuzzy numbers, if, and only if, the
strated. This involves the fuzzy classification of a tar- real part of the normalised fuzzy number intersects
get case, and subsequent determination of the most with the p-function of the corresponding prototype
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

200 Dubitzky et al.

feature, it is 0 otherwise. For example, p( t (Total = Intuitively, this result, that t is a member of the high-
“HIGH”), pC1 (Total = “VERY HIGH”)) = 0.00 cholesterol-low-stress category CI , rather than one
and p(t(Total = “AROUND” 11.00), pC1 (Total = of the categories CII (medium-cholesterol-medium-
“VERY HIGH”)) = 1.00. stress) or CIII (low-cholesterol-high-stress), seems cor-
This process yields the prototypicality degrees pi j rect. As far as t’s stress levels are concerned (which,
based on which the overall category membership de- in CI , are prototypically of the moderate kind) t has
grees m i can be computed—these values are given be- matched the corresponding p-functions in that cate-
low in table format. gory (values almost never and occasionally). And
Assuming uniform feature weights wk = 0.50 at in terms of critical cholesterol levels, prototypically
each complex abstract feature level k across the three for members of CI , t, on the grounds of high To-
categories (i.e., wNervousness = wWorry = wTotal = wLDL tal and LDL values, has higher prototypicality de-
= wStress = wCholesterol = 0.50), the membership de- grees in CI than in the other categories. (for the
grees m i are effectively
P established byP means of the for- sake of conciseness, the p-functions for Nervous-
mula m k j = j=1···n P wk j · pk j , where j=1···n wk j = 1 ness, Worry and LDL are not illustrated in the
must hold, and m i = k=1···m m k . For example: m I = paper).
[0.5(0.5 · 1.00 + 0.5 · 1.00)] + [0.5(0.5 · 0.16 + 0.5 · Now the focus is on selecting the best-match case in
0.41)] = 0.64. category CI . Suppose in the category CI are four stored
Each category Ci stores a minimal membership de- base cases: bI1 , bI2 bI3 and bI4 . These cases, including
gree di ∈ [0, 1]. For case storage/retrieval only those their constituent feature values, are shown in the table
categories Ci are considered where the target case’s below together with the already categorised base case t.
membership degree m i > di . The rationale behind this The numbers after the “/” constitute the corresponding
is that each category Ci in a case base can be consid- crisp scores (marked by a “+”) and normalised real
ered as a highly specialised case base in its own right, numbers (indicated by an “*”) respectively5.
and with its own constraints and concept boundaries. When the classified target case t enters the category
A domain expert may feel comfortable to go ahead CI , for the determination of the most similar base case
with a category X of which a new entity t is a mem- bIx , its crisp score and normalised value representation
ber to a degree of 0.80, but not with a category Y for is created via the prototype case p I stored in CI (recall,
which the same entity t has scored an identical mem- it is actually pI that is equipped with the respective
bership degree; for the two categories X and Y may approximation scales). To find the desired base case,
be perceived as different, intra-domain application ar- the Distance from Target Method (see below) with the
eas. This idea is similar to the varying inter-domain above-introduced uniform weight distribution is used
requirements in terms of how close a match between (w = 0.50).
the target and the retrieved case has to be. Generally,
" #(1/2)
interpretative tasks require a low match, around 0.30, X
and in problem-solving tasks a retrieved case should d= (w j )2 (b j − t j )2 , (5)
be similar to a high degree, about 0.80 [22]. In the ex- j=1···n

ample, a uniform minimal membership degree d = dI

= dII = dIII = 0.60 is assumed. As the target case in the where b j is the jth abstract feature value of the complex
example scores the membership degrees m 1 < m 2 < d feature or case in a particular category C. Further, t j
the categories CII and CIII are not further examined (see represent corresponding target case feature values, and
Table 1). w j the category-specific normalised weight of the jth
abstract feature. The result d reflects the conceptual
Table 1. Prototypicality and category membership de- distance between two corresponding complex abstract
grees for the target case t. features and cases respectively.
pi j With w = 0.50, the distances dIi between the base
cases bIi and the target case t evaluate to: dI1 = 0.0775,
Nervousness Worry Total LDL mi
dI2 = 0.0738, dI3 = 0.0845 and dI4 = 0.0825. For
CI 1.00 1.00 0.16 0.41 0.64 example (with a = 0.52 = 0.25):
CII 0.00 1.00 0.00 0.00 0.25 dI2 = {a [(a (0.5 − 0.23)2 + a(0.5 − 0.5)2 )(1/2) ]2
CIII 0.00 0.00 0.00 0.00 0.00
+ a[(a (0.63 − 0.51)2 + a(0.59 − 0.59)2 )(1/2) ]2 }(1/2)
= 0.0738.
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

An Advanced Case-Knowledge Architecture 201

Table 2. Base cases bI j and target case t.

Stress Cholesterol

Nervousness Worry Total LDL mi

bI1 ALMOST NEVER/0.23+ OCCASIONALLY/0.50+ VERY HIGH/0.74+ 6.20/0.90+ | 0.76∗ 0.75

bI2 SOMETIMES/0.50+ OCCASIONALLY/0.50+ 10.00/0.74+ | 0.63∗ HIGH/0.59+ 0.67
bI3 ALMOST NEVER/0.23+ HARDLY EVER/0.17+ 9.20/0.74+ | 0.58∗ 3.80/0.59+ | 0.47∗ 0.64
bI4 ALMOST NEVER/0.23+ HARDLY EVER/0.17+ VERY HIGH/0.74+ HIGH/0.59+ 0.75
t ALMOST NEVER/0.23+ OCCASIONALLY/0.50+ 8.00/0.74+ | 0.51∗ 3.70/0.59+ | 0.45∗ 0.64
+ = crisp scores, ∗ = normalised real numbers.

Note, how the crisply encoded features—or for that prototype feature proto is used to accommodate the
matter their normalised values—are used where pos- category-specific weight for FCAF instances.
sible (e.g., (0.63 − 0.51)2 ). Otherwise, the procedure
resorts to crisp scores, even when one value is given FAF ⊂ FCAF ::=
in crisp format! Also note the recursive nature of the [ { f1: FAF; f2: FAF; . . . ; fn:
calculation; the intermediate values in squared brack- FAF; proto: PrototypeFCAF },
ets are interpreted as distance values at the level of the { class Create, similarity, α,
“outer” distance computation. β, . . . }
So base case bI2 is the one that is most similar to the ];
target case t. Considering Table 2 again one would, similarity ::= [ (in t_af_value:
perhaps, initially be in favour of case bI1 , for it is the FCAF; out sim: Real)} ].
only one that has two feature values identical to the
target case t (almost never and occasionally). How- When comparing a compatible target feature t, the
ever, there is some significant disagreement between similarity method defined on the base case feature
the crisply specified features bI1 (LDL = 6.20) and b delegates t’s relevant constituent abstract features to
t (LDL = 3.70); in the corresponding scale, these two the corresponding members in b. Eventually b’s sim-
values ‘stretch’ across two fuzzy numbers. The cases ilarity service processes the intermediate proxim-
bI2 , bI3 and bI4 , on the other hand, have only a single ity values produced by the feature’s constituent abstract
value in common with the target case t, but lack the features, subjects them to the chosen similarity regime
presence of a significant difference over the remaining (e.g., Distance from Target Method), and passes the
corresponding value pairs. So, intuitively, it is not easy according scores to the encompassing construct (com-
to tell which of the base cases should be selected. plex feature or case). In the above example, the simi-
larity method associated with bI2 ’s Stress feature
2.3.3. Definition of Fuzzy Complex Abstract Features. instance would have computed: dIStr = (0.52 · 0.272 +
The definition of fuzzy complex abstract features is 0)(1/2) = 0.135, and of bI2 ’s Cholesterol’s simi-
straightforward since they are defined based on the un- larity the value: dICol = ( 0.52 · 0.122 + 0 )(1/2) =
derlying fuzzy primitive abstract feature concept (see 0.06, and the similarity function attached to the case
Section 2.2.4). Fuzzy primitive abstract features and bI2 itself: dI2 = [0.52 (dIStr )2 + 0.52 · (dICol )2 ](1/2) =
fuzzy complex abstract features are conceptually tied 0.0738. The actual resemblance or distance figures
together by the same set of services they can provide. between the feature values (e.g., 0.27, 0, 0.12, 0) are
This is reflected by the generic class FAF (fuzzy ab- computed through the similarity methods defined
stract feature). on the fuzzy primitive abstract features.
The class PrototypeFCAF plays a similar role as
Definition 6. A FCAF class is defined in terms of 1 the PrototypeFPAF class in Definition 4. However,
to n constituent abstract features f i of primitive and/or it does not define an approximation scale, nor a sim-
complex type (1 ≤ i ≤ n and n ≤ 7 ± 2). The ilarity method, for a particular comparison strat-
similarity function defined on FCAF takes a compatible egy is handled by the cases themselves, and scales are
target case feature value t af value as input argument only relevant on the level of primitive abstract features.
and produces a similarity score sim (sim ∈ [0, 1]). The The major purpose of this class is to represent and
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

202 Dubitzky et al.

accommodate the context-defining prototypical com- is comprised of clinical measurements, aerobic fitness
ponents of a case category, and to directly establish the levels, and state and trade anxiety values. Its composi-
membership degree of a target case concept. Like the tion is a mixture of crisp and fuzzy information. Con-
class FCAF, PrototypeFCAF makes use of generic ventional CBR schemes offer little to correctly treat
Prototype references, rather than static object vari- this type of case information, C4, on the other hand,
ables, so as to dynamically assign fuzzy complex as provides a systematic incorporation of fuzzy and crisp
well as fuzzy primitive abstract features. features, and overlapping case clusters. When, for ex-
ample, asked to assign a case to exactly one category,
Definition 7. A PrototypeFCAF class defines n the domain expert frequently expressed discomfort, as
Prototype features f i (these references can be he could not easily discard other categories. On the
bound to instances of type PrototypeFPAF and other hand, when a case was automatically classified
PrototypeFCAF, respectively). The weight mem- in more than one category (with the according mem-
ber represents a relevance weight the entire complex bership degrees), the expert often agreed. Tests of the
feature carries. Through the method prototypicality, retrieval mechanism (with the subset B (base cases),
a compatible complex feature’s membership or proto- and T (target cases) of S) have confirmed the viabil-
typicality degree p is established. ity of this approach. Automatic adaptation, which con-
sist of advising patients of how to reduce their CHD
Prototype ⊂ PrototypeFCAF ::= risk, is not automated at this stage. The “bottom-up”
[ { f1: Prototype; f2: Prototype; case structuring, around class-sensitive approximation
. . .; fn: Prototype; weight: Real; }, scales, has also turned out to serve as an easy-to-use,
{ prototypicality, α, β, . . . } natural communication platform between the knowl-
]; edge engineer and the domain expert.
prototypicality ::= [ (in Only recently the CBR community has shifted to-
t_af_value: FCAF; out p: wards knowledge-intensive, as opposed to syntac-
Real) ]; tical, approaches [1, 28]. Some works explore the
exemplar-based dimension in conjunction with proto-
3. Summary, Conclusion, Related type cases [3, 4, 25]. Generally, those approaches pay
and Future Work little attention to the changing characteristics of a fea-
ture type with in the frame of discernment of a case
This paper presented a promising, advanced case- base. Neither do they take into account the underly-
knowledge representation framework, called C4, ing uncertainty, that is commonly encountered when
which derives its representational expressiveness from case features are to be expressed, in an explicit, me-
a versatile fuzzy abstract feature mechanism. It was thodical fashion. Some relevant work may be found in
shown how fuzzy primitive and fuzzy complex abstract the database community [7, 17]. Also, little work has
features serve as a flexible case-knowledge representa- been done on the combination of exemplar-based and
tion platform allowing for a polymorphic specification memory-based schemes.
of crisply and fuzzily encoded case features. More- Currently, there is work underway to integrate
over, a systematic classification and similarity regime, “higher-level”, holistic linguistic terms into the C4
based upon pre-computed crisp scores and normalised framework (see Section 2.1). Information summaries
real-numbered features, was presented. Another de- of this kind seem to play a major role in human reason-
gree of versatility of the C4 architecture is afforded by ing, in addition, such aggregation of complex circum-
the dynamically allocatable approximation scale con- stances into imprecise linguistic expressions appears
cept. Built around self-contained, agent-like entities to fit well into the Fuzzy Logic and CBR paradigm.
(i.e., context, category, base case, prototype case, fuzzy To achieve this sort of knowledge representation, an
abstract feature, approximation scale, function object, approximation scale for fuzzy complex abstract fea-
etc.), and in compliance with essential and advanced tures is needed, so as to accommodate a set of mem-
OO mechanisms, the architecture seems very viable, bership functions along a normalised “0-to-1” scale.
easy to maintain and extend [14]. Additionally, there has to be a function that maps the
In an experimental set-up the C4 scheme has been ap- constituent features onto the holistic term scale (the
plied to set S of 120 middle-aged, male subjects which reverse mapping seems meaningless). Another aspect
were tested over a period of three years. The case data that is currently receiving attention is a similarity metric
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

An Advanced Case-Knowledge Architecture 203

based on the features’ prototypicality degrees. As re- 6. M.G. Brown, “An underlying memory model to support case
ported in [14], an earlier version of the C4 scheme retrieval,” in Proc. First European Workshop on Case-Based
has been integrated in an object-oriented database Reasoning, Kaiserslautern, Germany, 1993, p. 20.
7. B.P. Buckles and F.E. Petry, “A fuzzy representation of data for
management system; more work along those lines is relational databases,” in Fuzzy Sets and Systems, vol. 7, p. 213,
needed. 1982.
8. R.G.G. Cattel (Ed.), The Object Database Standard: ODMG
(1.1), Morgan Kaufmann Publishers: California, 1994.
Acknowledgment 9. S.-J. Chen and C.-L. Hwang, Fuzzy Multiple Attribute Decision
Making, Methods and Applications, Springer Verlag, 1992.
10. Y. Cheng, “Context-dependent similarity,” in Uncertainty in Ar-
Philippe Lopes, Human Performance Laboratory, Uni- tificial Intelligence 6, North-Holland, p. 42, 1991.
versity of Ulster, Jordanstown, Ireland. 11. Common Object Request Broker: Architecture and Specifica-
tion, The Object Management Group and X/Open, 1991.
12. W. Dubitzky, F. Carville, and J.G. Hughes, “Case-level knowl-
Notes edge modelling,” in Proc. Irish Conference on Artificial Intelli-
gence and Cognitive Science, 1993.
1. This name was primarily chosen because of its simplicity; it is 13. W. Dubitzky, A. Schuster, J.G. Hughes, and D.A. Bell, “Concep-
based on the four agent-like components by means of which struc- tual distance of numerically specified case features,” in Proc. The
tural and operational case-knowledge is expressed: case base, Second New Zealand International Two-Stream Conference on
context, category and case. Artificial Neural Networks and Expert Systems, Dunedin, New
2. The notation “M() ⇒ C” denotes the class-level message M sent Zealand, 1995, p. 210.
to the class C. To express the binding of a class instance i (in this 14. W. Dubitzky, J.G. Hughes, and D. Bell, “Knowledge Manage-
case denoted by the bracket pair “< · · · >”) to an object variable ment via the synergy of case-knowledge and object-oriented
v, the symbolism “v := i” is used. The notation is based on information management,” to appear in the Proc. Third World
ODMG’s Object Model and Object Definition Language, and on Congress on Expert Systems, Korea, Feb. 1996.
OMG’s Interface Definition Language [8, 11]. 15. D. Dubois and H. Prade, “Fuzzy sets in approximate reasoning,
3. As there are not many reported works on Exemplar Based Part 1: Inference with possibility distributions,” in Fuzzy Sets
Reasoning involving prototypes, nobody—to the best of our and Systems, North Holland, vol. 40, p. 143, 1991.
knowledge—has dealt with the context-dependency issues in this 16. A. Foß (Ed.), “FABEL: Similarity concepts and retrieval
connection. methods,” FABEL Report Number 13, Gesellschaft fu̇r
4. The C4 architecture explicitly allows a particular case x to belong, Mathematik und Datenverarbeitung mbH, Sankt Augustin, Ger-
to a certain degree, into more than one category. For example, many, 1994.
a person x may belong to the CSP (membership degree 0.80) as 17. R. George, B.P. Buckles, and F.E. Petry, “Modelling class hier-
well as to the CAP (degree 0.72) category. archies in the fuzzy object-oriented data model,” in Fuzzy Sets
5. The normalised value v ∗ for a crisp, real-numbered primitive fea- and Systems, vol. 60, p. 259, 1993.
P 18. A. Goel, J. Kolodner, M. Pearce, R. Billington, and C. Zimring,
ture instance v is established by v ∗ = v/[t 2 + i=1···n (ri )2 ](1/2) ,
where ri represents all crisply defined instances of a particular “Towards a case-based tool for aiding conceptual design problem
fuzzy primitive abstract feature type F in a category; t denotes solving,” in Proc. Case-Based Reasoning Workshop, Washing-
the crisp target case instance of F. ton D.C., 1991, p. 109.
19. I. Grahamand and P.L. Jones, Expert Systems: Knowledge,
Uncertainty Decision, Chapman and Hall, Ltd.: New York,
References 20. J.G. Hughes, Object-Oriented Databases, Prentice Hall Inter-
national (UK) Ltd., 1991.
1. A. Aamodt, “A knowledge-intensive approach to problem solv- 21. G.J. Klir and T.A. Folger, Fuzzy Sets, Uncertainty and Informa-
ing and sustained learning,” Ph.D. dissertation, University of tion, Prentice Hall: Englewood Cliffs, NJ, 1988.
Trondheim, Norwegian Institute of Technology, 1991. 22. J. Kolodner, Case-Based Reasoning, Morgan Kaufmann Pub-
2. A. Aamodt and E. Plaza, “Case-based reasoning: Foundational lishers, Inc.: San Mateo, CA, 1993.
issues, methodological variations, and system approaches,” 23. P. Lopes, R.H. Mitchell, and J.A. White, “The relationships be-
AICOM, vol. 7, no. 1, March 1994. tween respiratory sinus arrhythmia and coronary heart disease
3. J.S. Aikins, “Prototypical knowledge for expert systems. A ret- risk factors in middle-aged males,” in Automedica, vol. 16, p. 71,
rospective analysis,” in Artificial Intelligence, vol. 59, pp. 207, 1994.
1993. 24. G.A. Miller, “The magic number seven, plus or minus seven,”
4. R. Bareiss, Exemplar-Based Knowledge Acquisition: A Uni- in Psychological Review, vol. 63, p. 81, 1965.
fied Approach to Concept Representation, Classification, and 25. B. Porter, R. Bareissan, and R Holte, “Concept learning and
Learning, Academic Press: Boston, 1989. heuristic classification in weak theory domains,” in Artificial
5. R. Brandau, A. Lemmon, and C. Lafond, “Experience with Intelligence, vol. 45, nos. 1/2, p. 229, 1990.
extended episodes: Cases with complex temporal structure,” 26. E.H. Ruspini, “Possibility as similarity: The semantics of fuzzy
in Proc. Case-Based Reasoning Workshop, Morgan Kaufmann logic,” in Uncertainty in Artificial Intelligence 6, North-Holland,
Publishers, Inc., 1991. p. 271, 1991.
Applied Intelligence KL450-01-Dubitzky May 13, 1997 15:35

204 Dubitzky et al.

27. A. Stepanov and L. Meng, “The standard template library,” January 1995. He received a BSc in Applied Physics from the Uni-
Hewlett-Packard Laboratories, Palo Alto, CA 94304, 1994. versity of Munich, Germany, in 1990. His current research inter-
28. Study Group, European Atherosclerosis Society, “Strategies for ests include logical systems, expert systems, non-linear and dynamic
the prevention of coronary heart disease: A policy statement of systems.
the european atherosclerosis society,” in European Heart Jour-
nal, vol. 8, p. 77, 1987.
29. L.A. Zadeh, “Outline of a new approach to the analysis of com-
plex systems and decision processes,” IEEE Transactions on Sys-
tems, Man, and Cybernetics, vol. SMC-3, no. 1, p. 28, Jan. 1973.

John G. Hughes is a Professor of Computing and the Dean of the

Faculty of Informatics at the University of Ulster. He is also the
Director of the Northern Ireland Knowledge Engineering Labora-
tory (NIKEL). He received a BSc and PhD in Mathematics from
the Queen’s University of Belfast in 1975 and 1978, respectively.
Werner Dubitzky is a full-time Research Officer and part-time PhD His current research interests include database technology, artificial
student in the School of Information and Software Engineering at the intelligence and knowledge engineering.
University of Ulster (expected submission of PhD thesis in Summer
1997). He received a BSc in Electrical Engineering from the Univer-
sity of Augsburg, Germany, in 1991. His current research interests
include object-oriented databases, case-based reasoning, fuzzy logic,
evidential reasoning and knowledge engineering.

David A. Bell is a Professor of Computing and the Head of the School

of Information and Software Engineering at the University of Ulster.
He received a BSc in Mathematics, 1969, MSc in Computer Science,
1976, and PhD in Computer Science, 1983, from the Queen’s Univer-
sity of Belfast. His current research interests include multi-media,
Alfons Schuster has been a PhD student in the School of Infor- distributed databases, and linking reasoning under uncertainty with
mation and Software Engineering at the University of Ulster since established database work.