Tải bản đầy đủ (.pdf) (31 trang)

DSpace at VNU: UNCERTAIN AND FUZZY OBJECT BASES: A DATA MODEL AND ALGEBRAIC OPERATIONS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (364.78 KB, 31 trang )

International Journal of Uncertainty,
Fuzziness and Knowledge-Based Systems
Vol. 19, No. 2 (2011) 275−305
© World Scientific Publishing Company
DOI: 10.1142/S0218488511007003

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

UNCERTAIN AND FUZZY OBJECT BASES: A DATA MODEL
AND ALGEBRAIC OPERATIONS
TRU H. CAO
Ho Chi Minh City University of Technology and John von Neumann Institute VNU-HCM,
268 Ly Thuong Kiet Street, District 10, Ho Chi Minh City, Vietnam

HOA NGUYEN
Faculty of Information Technology, Ho Chi Minh City Open University,
97 Vo Van Tan Street, District 3, Ho Chi Minh City, Vietnam

Received 20 January 2010
Revised 3 January 2011
Fuzzy set theory and probability theory are complementary for soft computing, in particular objectoriented systems with imprecise and uncertain object properties. However, current fuzzy object-oriented
data models are mainly based on fuzzy set theory or possibility theory, and lack of a rigorous algebra for
querying and managing uncertain and fuzzy object bases. In this paper, we develop an object base model
that incorporates both fuzzy set values and probability degrees to handle imprecision and uncertainty. A
probabilistic interpretation of relations on fuzzy sets is introduced as a formal basis to coherently unify the
two types of measures into a common framework. The model accommodates both class attributes,
representing declarative object properties, and class methods, representing procedural object properties.
Two levels of property uncertainty are taken into account, one of which is value uncertainty of a definite
property and the other is applicability uncertainty of the property itself. The syntax and semantics of the
selection and other main data operations on the proposed object base model are formally defined as a fullfledged algebra.


Keywords: Fuzzy set theory; probability theory; object modeling; object base algebra.

1. Introduction
It is undeniable that the real-world is pervaded by uncertain and imprecise information
that we have to face, and make decisions on, in daily life. Among the foundations for
computer systems to deal with uncertainty and imprecision, probability theory and fuzzy
set theory are major ones and complementary to each other. Moreover, challenging realworld problems are also due to their large scales in practice. For handling it, the objectoriented methodology has been proved as a key one for data modeling and system design
and implementation. In particular, there have been intensive research and development of
fuzzy and probabilistic object-oriented databases, as collectively reported in Refs. 1−4.
Surveying research on extending the classical object-oriented data model to deal with
uncertainty and imprecision, we identify the following key issues: (1) Modeling partial
sub-class relationship; (2) Definition of partial class membership; (3) Representation of
uncertain and/or imprecise attribute values; (4) Representation and execution of class

275


Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

276 T. H. Cao & H. Nguyen

methods; (5) Expression of partial applicability of class properties; and (6) Mechanism
for inheritance under uncertainty and imprecision. We discuss them in details in the
following.
For the first issue, in the classical object-oriented model, a class hierarchy defines the
subclass relation on classes, whereby a class is totally included in any of its super-classes.
However, in the probabilistic and fuzzy cases, due to the uncertain applicability of class
properties or the imprecision of attribute value ranges, the inclusion between classes
naturally becomes graded, which could be computed on the basis of the value ranges of

their common attributes.5,6 As discussed in Ref. 7, a set of classes with a graded inclusion
or inheritance relation actually forms a network rather than a hierarchy, because if a class
A has some inclusion degree into a class B based on a fuzzy matching of their
descriptions, then B usually also has some inclusion degree into A. Moreover, in practice,
it is more natural to classify a concept into sub-concepts that are totally subsumed by it,
than to think of overlapping between a concept and its sub-concepts, though the subconcepts can overlap each other, as assumed in Ref. 8 for instance.
For the second issue, when attribute values of an object are uncertain and imprecise,
its matching degree with a class becomes graded, and there have been different measures
proposed. In Ref. 9, for instance, a membership function on a set of objects was defined
for each class. In Ref. 10 linguistic labels were used to express the strength of the link of
an object to a class. In Ref. 8 membership was defined as similarity degrees between
objects and classes. In Ref. 11 different measures were mentioned, including a
probabilistic one, for membership degrees. Nevertheless, for the soundness of using
measures of different meanings, such as possibilistic and probabilistic ones, it is to be
answered how those measures are integrated coherently on a common ground.
For the third issue, many works on fuzzy object-oriented data models did not rely on
probability theory, but used fuzzy sets or possibility distributions to represent imprecise
attribute values. The works10,11 also modeled uncertainty degrees for an attribute having a
particular value. However, much less concern was given for uncertainty over a set of
values of an attribute and a foundation to combine probability degrees and fuzzy sets in
the same model.
For the fourth issue, while class methods are common in classical object-oriented
systems for modeling object behaviors and parameterized properties, they were often
neglected in uncertain and fuzzy extended models. In Refs. 8 and 11 methods were not
considered. In Ref. 10 methods were mentioned but no formal representation and explicit
manipulation were provided in the model. In Refs. 7 and 9, which were for declarative
and deductive in contrast to imperative and procedural models, methods were formally
defined as Horn clauses and executed as in a theorem proving process.
For the fifth issue,12 introduced the notion of fuzzy property as an intermediate
between the two extreme notions of required property and optional property, each of

which was associated with a possibility degree of applicability of the property to the
class. Meanwhile,8 assumed that each property of a concept to have a probability degree
for it occurring in exemplars of that concept. Those are two typical works that model


Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Uncertain and Fuzzy Object Bases 277

partial applicability of a property to a class of objects by possibility and probability
degrees, respectively. We note the distinction between the notion of uncertain property
values and that of uncertain property applicability. In the former case, a class or an object
surely has a particular property but it is not sure which one among a given set of values
the property takes. Meanwhile, in the latter, it is even not sure if the class or the object
has that property. For example, “John owns a car whose brand is probably BMW” and
“John probably owns a car” express different levels of uncertainty. In Refs. 7, 10, and 11,
the two levels were mixed.
For the sixth issue, due to uncertain class membership and uncertain property
applicability, inheritance of a class property by an object naturally becomes uncertain.
Uncertain inheritance was not considered in Refs. 8, 9, and 10. In Ref. 11, class
membership degrees were used as thresholds to determine which properties in a class
would be inherited with respect to an uncertainty degree. In Ref. 7, both membership of
an object into a class and applicability of a property to the class were represented by
probability intervals and combined into a support pair for the object to inherit the
property.
For recent works,13 reviewed existing proposals and presented recommendations for
the application of fuzzy set theory in a flexible generalized object model. Further,14
focused on representing data as constraints on object attributes and answering queries as
constraint satisfaction. Meanwhile, for realization of fuzzy object-oriented data models,15

was concerned with implementation of their model on an existing platform. In Ref. 16,
Fril++ was developed as a fuzzy object-oriented logic programming language. The
literature review of fuzzy relational and object-oriented databases17 missed those
modeling uncertainty with probability theory.
A common disadvantage of current fuzzy object-oriented models is that they lack of a
rigorous algebra for querying and managing object bases. In contrast, Ref. 18 introduced
a probabilistic model to handle object bases with uncertainty, called POB (Probabilistic
Object Base), and developed a full-fledged algebra for it. However, the major
shortcomings of the POB model are: (1) it does not allow imprecise attribute values; (2) it
does not support class methods; and (3) it does not consider uncertain applicability of
class properties. To overcome the first two shortcomings,19,20 in turn extended POB to an
uncertain and fuzzy object base model (UFOB) with class attributes and methods whose
values could be fuzzy sets. This paper extends UFOB further with class properties whose
applicability to the class objects could also be uncertain, requiring and resulting in a new
algebra of operations on uncertain and fuzzy object bases where previous definitions are
to be extended accordingly.
Next, for the paper being self-contained, Section 2 recalls the probabilistic
interpretation of relations on fuzzy sets and the algebra on fuzzy-probabilistic triples
introduced in Refs. 19 and 20, as a basis to integrate fuzzy set values into the probabilitybased framework of POB. Section 3 describes properties of objects in UFOB, which can
be imprecise attribute values, computational methods, and uncertainly applicable to
classes. Section 4 presents the notion of instances and inheritance mechanism under


278 T. H. Cao & H. Nguyen

uncertainty and imprecision in object bases. Sections 5 and 6 define the selection
operation and other algebraic operations on the proposed object base model. The
definitions in Secs. 3 to 6 are extensions of the corresponding ones,19,20 for modeling and
computing with uncertain applicability of class properties. Finally, Sec. 7 summarizes
and concludes the paper.

2. Fuzzy Sets and Probability
Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

2.1. Probabilistic interpretation of fuzzy set relations
In this work, for extending the probabilistic model of POBs with fuzzy set values, we
apply the voting model interpretation of fuzzy sets.21,22 That is, given a fuzzy set A on a
domain U, this model defines a mass assignment mA(.) (i.e., probability distribution) on
the power set of U, where the mass (i.e., probability value) assigned to a subset of U is
the proportion of voters who have that subset as a crisp definition for the fuzzy concept
A.
Example 1: Let us take the Dice example in Ref. 22. Given the dice values from the set
{1, 2, 3, 4, 5, 6}, suppose that a score high is defined by the discrete fuzzy set {3:0.2,
4:0.5, 5:0.9, 6:1}, i.e., the membership of value 3 is 0.2, and so on. The voting pattern for
a group of 10 persons for this score could be as in Table 1.
Table 1. Voting pattern for high dice values.
voters

P1

P2

3

x

x

4


x

5
6

scores

P3

P4

P5

P6

P7

P8

P9

x

x

x

x

x


x

x

x

x

x

x

x

x

x

x

x

x

x

x

x


x

x

P10

1
2

x

That is, all voters, P1 to P10, vote for value 6 as a high score, while only two of them,
P1 and P2, vote for 3 as a high score, and so on. In other words, the crisp definition of P10
for the high score is {6}, while that of P1 and P2 is {3, 4, 5, 6}, for instance. An
assumption made in this voting model is that any person who accepts a value as a high
score also accepts all values that have higher membership in the fuzzy set high.
This model defines the following mass assignment on the power set of {1, 2, 3, 4, 5, 6}:
{6}: 0.1 {5, 6}: 0.4 {4, 5, 6}: 0.3 {3, 4, 5, 6}: 0.2
where the mass assigned to a subset of {1, 2, 3, 4, 5, 6} (e.g. mhigh({5, 6}) = 0.4) is the
proportion of voters who have that subset as a crisp definition for the fuzzy concept high


Uncertain and Fuzzy Object Bases 279

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

score. This mass assignment corresponds to a family of probability distributions on {1, 2,
3, 4, 5, 6}.

On the basis of this voting model we introduce a probabilistic interpretation of the
following binary relations on fuzzy sets. We write Pr(e1 | e2) to denote the conditional
probability of e1 given e2.
Definition 1. Let A be a fuzzy set on a domain U, B be a fuzzy set on a domain V, and θ
be a binary relation from {=, ≤, <, ⊆, ∈} assumed to be valid on (U × V). The
probabilistic interpretation of a relation A θ B, denoted by prob(A θ B), is a value in [0,
1] that is defined by ∑S⊆U, T⊆VPr(u θ v | u∈S, v∈T).mA(S).mB(T).
Intuitively, given fuzzy propositions “x is A” and “y is B”, prob(A θ B) is the
probability for x θ y being true. For a relation A θ B, if θ ∈ {=, ≤, <, ⊆}, then A and B are
presumed to be on the same domain, or compatible ones; if θ is ∈, then B’s domain is to
be the power set of A’s domain.
Example 2: In the Dice example above, suppose that about_5 is defined by the fuzzy set
{6:0.3, 5:1, 4:0.3}, whose mass assignment is:
{5}: 0.7 {4, 5, 6}: 0.3
Given “x is about_5” and “y is high”, prob(about_5 = high) measures how likely it is that
x = y, as calculated below:
prob(about_5 = high)
= Pr(u = v | u∈{5},v∈{6}).mabout_5({5}).mhigh({6}) +
Pr(u = v | u∈{5},v∈{5,6}).mabout_5({5}).mhigh({5, 6}) +
Pr(u = v | u∈{5},v∈{4, 5, 6}).mabout_5({5}).mhigh({4, 5, 6}) +
Pr(u = v | u∈{5},v∈{3, 4, 5, 6}).mabout_5({5}).mhigh({3, 4, 5, 6}) +
Pr(u = v | u∈{4, 5, 6},v∈{6}).mabout_5({4, 5, 6}).mhigh({6}) +
Pr(u = v | u∈{4, 5, 6},v∈{5, 6}).mabout_5({4, 5, 6}).mhigh({5, 6}) +
Pr(u = v | u∈{4, 5, 6},v∈{4, 5, 6}).mabout_5({4, 5, 6}).mhigh({4, 5, 6}) +
Pr(u = v | u∈{4, 5, 6},v∈{3, 4, 5, 6}).mabout_5({4, 5, 6}).mhigh({3, 4, 5, 6})
= 0.34.
Definition 2. Let A and B be two fuzzy sets on the same domain U. The probabilistic
interpretation of the relation A → B, denoted by prob(A → B), is a value in [0, 1] and
defined by ∑S,T⊆UPr(u∈T | u∈S).mA(S).mB(T).
Unlike prob(A θ B) in Definition 1, prob(A → B) is actually the fuzzy conditional

probability23 of “x is B” given “x is A”. Also, for fuzzy sets on continuous domains, the
above probabilistic interpretations can be adapted using integration instead of addition.


280 T. H. Cao & H. Nguyen

Example 3: In the Dice example, one has:
prob(high → about_5)
= Pr(u ∈{5} | u ∈{6}).mhigh({6}).mabout_5({5}) +
Pr(u∈{5} | u ∈{5, 6}).mhigh({5, 6}).mabout_5({5}) +
Pr(u ∈{5} | u ∈{4, 5, 6}).mhigh({4, 5, 6}).mabout_5({5}) +

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Pr(u ∈{5} | u ∈{3, 4, 5, 6}).mhigh({3, 4, 5, 6}).mabout_5({5}) +
Pr(u ∈{4, 5, 6} | u∈{6}).mhigh({6}).mabout_5({4, 5, 6}) +
Pr(u ∈{4, 5, 6} | u∈{5, 6}).mhigh({5, 6}).mabout_5({4, 5, 6}) +
Pr(u ∈{4, 5, 6} | u∈{4, 5, 6}).mhigh({4, 5, 6}).mabout_5({4, 5, 6}) +
Pr(u ∈{4, 5, 6} | u∈{3, 4, 5, 6}).mhigh({3, 4, 5, 6}).mabout_5({4, 5, 6})
= 0.53.

2.2. Fuzzy-probabilistic triples
Definition 3. Let dom(τ) be the set of values of a type τ. A fuzzy-probabilistic triple on τ
is defined to be of the form 〈V, α, β〉 where V ⊆ dom(τ), and α and β are lower and upper
bound probability distributions on V.
In UFOB, dom(τ) and V can consist of fuzzy values. Intuitively, given the uncertain
value of an attribute represented by 〈V, α, β〉, the probability for that attribute taking a
value v∈V is between α(v) and β(v).
Example 4: Suppose the treatment duration of a patient is estimated within about 30 or 40

days with a probability for each between .4 and .6. Then this information can be
represented by the fuzzy-probabilistic triple 〈{about_30, about_40}, .8u, 1.2u〉 where
about_30 and about_40 are fuzzy sets defining the imprecise treatment durations and u is
the uniform distribution. Here, .8u and 1.2u respectively denote the lower and upper
bound probability distributions α and β that are defined by α(x) = .8(1/2) = .4 and β(x) =
1.2(1/2) = .6 for every x∈{about_30, about_40}.
Given two events e1 and e2 having probabilities in the intervals [L1, U1] and [L2, U2],
one may need to compute the probability intervals of the conjunction event e1 ∧ e2,
disjunction event e1 ∨ e2, or difference event e1 ∧ ¬e2. In this paper we employ the
conjunction, disjunction, and difference strategies given by18 and24 as presented in Table
2, where ⊗, ⊕, and
denote the conjunction, disjunction, and difference operators,
respectively.


Uncertain and Fuzzy Object Bases 281
Table 2. Examples of probabilistic combination strategies.
Strategy
Ignorance

Operators
([L1, U1] ⊗ig [L2, U2]) = [max(0, L1 + L2 − 1), min(U1, U2)]
([L1, U1] ⊕ig [L2, U2]) = [max(L1, L2), min(1, U1 + U2)]
([L1, U1]

Independence

ig

[L2, U2]) = [max(0, L1 − U2), min(U1, 1 − L2)]


([L1, U1] ⊗in [L2, U2]) = [L1.L2, U1.U2]

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

([L1, U1] ⊕in [L2, U2]) = [L1 + L2 − (L1.L2), U1 + U2 − (U1.U2)]
([L1, U1]
Positive Correlation
(When e1 implies e2,
or e2 implies e1)
Mutual Exclusion
(When e1 and e2 are
mutually exclusive)

in

[L2, U2]) = [L1.(1 − U2), U1.(1 − L2)]

([L1, U1] ⊗pc [L2, U2]) = [min(L1, L2), min(U1, U2)]
([L1, U1] ⊕pc [L2, U2]) = [max(L1, L2), max(U1, U2)]
([L1, U1]

pc

[L2, U2]) = [max(0, L1 − U2), max(0, U1 − L2)]

([L1, U1] ⊗me [L2, U2]) = [0, 0]
([L1, U1] ⊕me [L2, U2]) = [max(1, L1 + L2), min(1, U1 + U2)]
([L1, U1]


me

[L2, U2]) = [L1, min(U1, 1 − L2)]

Below, combination strategies of fuzzy-probabilistic triples are defined to combine
uncertain values of a property in UFOB join, intersection, union, and difference
operations. Here we use h(v) to denote the height of a fuzzy set v, whereby v is a normal
fuzzy set if and only if h(v) = 1.
Definition 4. Let fpt1 = 〈V1, α1, β1〉 and fpt2 = 〈V2, α2, β2〉 be two fuzzy-probabilistic
triples, and ⊗ is a probabilistic conjunction strategy. Then the conjunction of fpt1 and fpt2
under ⊗, denoted by fpt1 ⊗ fpt2, is the fuzzy-probabilistic triple fpt = 〈V, α, β〉, such that:
1. V = {v = v1∩v2 | v1∈V1, v2∈V2, h(v) = 1, [α1(v1), β1(v1)]⊗[α2(v2), β2(v2)] ≠ [0,0]},
and
2. [α(v), β(v)] = ⊕me: v1∈V1,v2∈V2,v = v1∩v2 [α1(v1), β1(v1)]⊗[α2(v2), β2(v2)], for every v∈V,
where ⊕me is the mutual exclusion probabilistic disjunction strategy.
In the above computation of [α(v), β(v)], since there can be more than one pair (v1, v2)
∈ V1×V2 such that v = v1∩v2, the probability intervals for those pairs are combined using
the mutual exclusion probabilistic disjunction strategy. This is in agreement with Ref. 25
for aggregate operations on probabilistic relational databases. We also note that, for the
POB case, each value in V1 or V2 is elementary and non-fuzzy, so V is actually equal to
the classical intersection of V1 and V2, and no such probabilistic disjunction is required
for [α(v), β(v)]. Meanwhile, with the normality condition of v1∩v2, the definition
coincides to that of POB when all fuzzy sets reduce to crisp values.
Example 5: Let fpt1 = 〈{about_48, about_72}, .8u, 1.2u〉 and fpt2 = 〈{about_72,
about_96}, u, u〉 be fuzzy-probabilistic triples. Then fpt1 ⊗in fpt2 with the independence
probabilistic conjunction strategy is the fuzzy- probabilistic triple fpt = 〈{about_72}, .2u,
.3u〉.



282 T. H. Cao & H. Nguyen

Definition 5. Let fpt1 = 〈V1, α1, β1〉 and fpt2 = 〈V2, α2, β2〉 be fuzzy-probabilistic triples,
and ⊕ is a probabilistic disjunction strategy. Then the disjunction of fpt1 and fpt2 under ⊕,
denoted by fpt1 ⊕ fpt2, is the fuzzy-probabilistic triple fpt = 〈V, α, β〉, such that:

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

1. V = P∪Q∪R, where P = {v1∈V1 |¬∃v2∈V2: h(v1∩v2) = 1}, Q = {v2∈V2 |¬∃v1∈V1:
h(v1∩v2) = 1}, and R = {v1∩v2 | v1∈ V1, v2 ∈ V2, h(v1∩v2) = 1}, and
[α1(v), β1(v)], ∀v∈P
2. [α(v), β(v)] = [α2(v), β2(v)], ∀v∈Q
⊕me: v1∈V1,v2∈V2,v = v1∩v2 [α1(v1), β1(v1)]⊕[α2(v2), β2(v2)], ∀v ∈R
Definition 6. Let fpt1 = 〈V1, α1, β1〉 and fpt2 = 〈V2, α2, β2〉 be fuzzy-probabilistic triples,
and
is a probabilistic difference strategy. Then the difference of fpt1 and fpt2 under ,
denoted by fpt1 fpt2, is the fuzzy-probabilistic triple fpt = 〈V, α, β〉, such that:
1. V = P ∪ Q, where P = {v1 ∈V1 | ¬∃v2 ∈V2: h(v1∩v2) = 1}, Q = {v = v1∩v2 | v1 ∈V1,
v2 ∈V2, h(v1∩ v2) = 1 and [α1(v1), β1(v1)] [α2(v2), β2(v2)] ≠ [0, 0]}, and
[α1(v), β1(v)], ∀v ∈P
2. [α(v), β(v)] =
⊕me: v1∈V1,v2∈V2,v = v1∩v2 [α1(v1), β1(v1)] [α2(v2), β2(v2)], ∀v ∈Q
2.3. An algebra on fuzzy-probabilistic triples
In this work, for introducing methods into UFOB, we propose a principle to extend an
algebra on values of a type τ to the corresponding one on fuzzy-probabilistic triples. It is
stated as an abstract algebra with operations on fuzzy-probabilistic triples as in the
following definition.
Definition 7. Let U = {〈V, α, β〉| V ⊆ dom(τ)} be a non-empty set of fuzzy-probabilistic
triples of type τ. If A = (dom(τ), o1,…, on) is a fuzzy set algebra with operations o1,…, on

on dom(τ), then A = (U
U, op1,…, opn) is a fuzzy-probabilistic triple algebra, in which the
operations op1, op2,…, opn on U are derived from A as follows:
1. opi (〈V1, α1, β1〉, 〈V2, α2, β2〉,… ,〈Vni, αn , βn 〉) = 〈V, α, β〉, where V = {v = oi(v1,
i
i
v2,…,vni) | vj ∈Vj, j = 1,…, ni}, ∀ i = 1,…, n, and
2. [α(v), β(v)] = ⊕me: v1∈V1,v2∈V2,..., vn ∈Vn ,v= oi(v1, v2,..., vn ) [α1(v1), β1(v1)]⊗[α2(v2), β2(v2)]⊗
i
i
i
… ⊗ [αn (vn ), βn (vn )], for every v ∈V.
i

i

i

i

Example 6: Let {real} denote the domain of fuzzy real numbers, U = {〈V, α, β〉 | V ⊆
dom({real})} be the corresponding set of fuzzy-probabilistic triples, and A =
(dom({real}), ×) be the algebra with the fuzzy multiplication operator × based on the
extension principle.26 Then A = (U
U, ×) is the corresponding algebra on U with the
operator × defined by:
〈V1, α1, β1〉 × 〈V2, α2, β2〉 = 〈V, α, β〉, where V = {v = v1 × v2 | v1 ∈V1, v2 ∈V2} and
(v1 × v2)(z) = supz=x×y min[v1(x), v2(y)], for every real number x, y, z, and
[α(v), β(v)] = ⊕me: v1∈V1,v2∈V2,v=v1×v2[α1(v1), β1(v1)] ⊗ [α2(v2), β2(v2)], for every v ∈V.



Uncertain and Fuzzy Object Bases 283

3. Properties of Uncertain and Fuzzy Objects
3.1. UFOB class hierarchies
PATIENT

d

d

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

OUT_PATIENT

IN_PATIENT

CHILD

0.8

0.2

0.2

0.4

0.2


0.8

0.4

TEENAGER

0.6

OUT_TEENAGE
R

ADULT

0.3

IN_ADULT

Fig. 1. An example UFOB class hierarchy.

For UFOB we use the same definition of class hierarchy as for POB. Figure 1 is a
hierarchy of patients, who are classified as being children, teenagers or adults and,
alternatively, as being out-patients, or in-patients. Those subclasses of a class that are
connected to a d node are mutually disjoint, and they form a cluster of that class. That is,
the class PATIENT has two clusters {CHILD, TEENAGER, ADULT} and
{OUT_PATIENT, IN_PATIENT}. The value in [0, 1] associated with the link between a
class and one of its immediate subclasses represents the probability for an arbitrary object
of the class belonging to that subclass. For instance, the hierarchy says 80% of patients
are non-resident while the rest 20% are resident, and 60% of resident patients are adult.
3.2. UFOB class attributes and methods
As in the classical object-oriented model, each UFOB class is characterized by a number

of properties, each of which is an attribute or a method. Each property has its type and
value. For a method, its type and value are those of its output, which is defined as a
function of the input arguments of the method. For a unified treatment of attributes and
methods, an attribute could be considered as a special method with a fixed output and
having no input argument. Alternatively, a method could be considered as a
parameterized attribute, whose value depends on its input arguments. Moreover, each
property is associated with a probability interval representing its uncertain applicability to
the class in which it is defined. The following definition and example explain these ideas.
Definition 8. Let P be a set of properties and T be a set of atomic types. Then types are
inductively defined as follows:
1. Every atomic type from T is a type.
2. If τ is a type, then {τ} is the fuzzy set type of τ.


284 T. H. Cao & H. Nguyen

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

3. If P1,…, Pk are pairwise different properties from P, τi’s and τij’s are types, and [li,
ui]’s are subintervals of [0, 1], for every i from 1 to k and j from 1 to ni, then τ =
[P1(τ11,…, τ1n1): τ1[l1, u1],…, Pk(τk1,…, τknk): τk[lk, uk]] is the tuple type over
{P1,…, Pk}. P1,…, Pk are called top-level properties of τ, and τ.Pi and [τ.Pi] denote
τi and [li, ui], respectively.
In the definition above, τij’s represent the types of the input arguments of Pi when it is a
method, and they are null when Pi is an attribute. Each [li, ui] represents the lower and
upper applicability probabilities of property Pi to type τ.
Example 7: In the object base of patients described above, a tuple type can be [name:
string, age: {real}, address: string, check_date: datetype, medical_history:
{string}[.8, 1], disease: string, duration: {real}, cost_per_day: {real}, total_cost

([duration: {real}], [cost_per_day: {real}]): {real}]. A property with uncertain
applicability like medical_history: {string}[.8, 1] says that at least 80% patients have
medical histories recorded.
The domain values of a particular type in UFOB are then defined as follows.
Definition 9. Let every atomic type τ ∈ T be associated with a domain dom(τ). Then
values are defined by induction as follows:
1. For every τ∈T
T, every v∈dom(τ) is a value of type τ.
2. For every τ∈T
T, every fuzzy set on dom(τ) is a value of type {τ}.
3. If P1,…, Pk are pairwise different properties from P, vi’s are values of types τi’s,
and [l’i, u’i]’s are subintervals of [0, 1], for every i from 1 to k, then [P1: v1[l’1,
u’1],…, Pk: vk[l’k, u’k]] is a value of type τ = [P1: τ1[l1, u1],…, Pk: τk[lk, uk]].
In Definition 8, each probability interval [li, ui] quantifies the uncertain applicability
of Pi generally to all objects of type τ. That is, the probability for a random object of type
τ having property Pi is between li and ui. Meanwhile, in Definition 9 each probability
interval [l’i, u’i] specifies the uncertain applicability of Pi to a specific object of type τ.
Therefore, [li, ui] is just the default value and not necessarily the same as [l’i, u’i].
Example 8: One may say that at least 90% of birds can fly, i.e., the applicability
probability interval of the property fly to the class BIRD is [0.9, 1]. However, since a
penguin or an injured bird cannot fly, that probability interval for such a particular bird is
[0, 0].
Example 9: Let young, middle_aged, old be linguistic labels of
dom({real}) as illustrated in Fig. 2.

fuzzy numbers on


Uncertain and Fuzzy Object Bases 285


1
young

old
middle_aged

0

10

20

30

40

50

60

age

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Fig. 2. Fuzzy values of the attribute age.

Then [name: Nguyen, age: middle_aged, address: Saigon, check_date: 21-3-08,
medical_history: {cholecystitis}[.7, 1], disease: hepatitis] is a value of the corresponding tuple type.
Each value of a property, or a method argument, of an object is now defined as a

fuzzy-probabilistic triple 〈V, α, β〉 where elements in V are values defined in Definition 9.
Definition 10. Let P1,…, Pk be pairwise different properties from P, Vi’s and Vij’s be finite
sets of values of types τi’s and τij’s, [αi, βi]’s and [αij, βij]’s be pairs of probability
distributions over Vi’s and Vij’s, for every i from 1 to k and j from 1 to ni. Then fptv =
[P1(〈V11, α11, β11〉, …, 〈V1n1, α1n1, β1n1〉): 〈V1, α1, β1〉[l’1, u’1], …, Pk(〈Vk1, αk1, βk1〉, …,
〈Vknk, αknk, βknk〉): 〈Vk, αk, βk〉[l’k, u’k]] is a fuzzy-probabilistic tuple value of type
[P1(τ11,…, τ1n1): τ1[l1, u1], …, Pk(τk1,…, τknk): τk[lk, uk]] over {P1,…, Pk}. One writes
fptv.Pi and [fptv.Pi] to denote 〈Vi, αi, βi〉 and [l’i, u’i], respectively.
We note that, for each Pi, [li, ui] or [l’i, u’i] represents uncertainty of the applicability
of Pi, while [αi, βi] represents uncertainty of the value of Pi over Vi when Pi is applied.
Example 10: Assume we know that the name, age, and address of a patient are Nguyen,
middle_aged, and Saigon, respectively. The patient is checked for health status, and the
doctor does not know certainly which kind of disease the patient gets. However, based on
the clinical symptoms, the doctor can judge the probability for the patient suffering
hepatitis or cirrhosis being .5. In addition, it is likely at least to degree .7 that the patient
previously caught another disease that is either cholecystitis or gall-stone with equal
probabilities. Also, suppose that the daily treatment cost is about 60USD and the
estimated treatment duration for that patient is 30 or 32 days with probabilities between
.4 and .6. Then this information can be represented by the fuzzy-probabilistic tuple value
[name: 〈{Nguyen}, u, u〉, age: 〈{middle_aged}, u, u〉, address: 〈{Saigon}, u, u〉,
medical_history: 〈{{cholecystitis}, {gall-stone}}, u, u〉[.7, 1], disease: 〈{hepatitis,
cirrhosis}, u, u〉, duration: 〈{30, 32}, .8u, 1.2u〉, cost_per_day: 〈{about_60}, u, u〉],
where middle_aged and about_60 are linguistic labels of fuzzy sets.


286 T. H. Cao & H. Nguyen

3.3. UFOB schemas
UFOB schemas extend those of POB with class methods.


Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Definition 11. A UFOB schema is a hextuple (C
C, τ, ⇒, me, p, f) where:
1. C is a finite set of classes.
2. τ maps each class c to a tuple type τ(c) representing c’s properties and their types.
3. ⇒ is a binary relation on C such that (C
C, ⇒) is a directed acyclic graph, whereby
each arc c ⇒ d means c is an immediate subclass of d.
4. me maps each class c∈C
C to a partition of the set of all immediate subclasses of c,
such that the classes in each cluster of the partition me(c) are mutually disjoint.
5. p maps each arc c ⇒ d in (C
C, ⇒) to a rational number p(c | d) in [0, 1] measuring
the conditional probability for an object picked at random uniformly from d
belonging to c such that ∀d∈C
C, ∀D
D ∈me(d): Σc∈D p(c | d) ≤ 1.
6. f maps each method Pi(τi1, τi2, …, τini): τi to a function from Cartesian products of
fuzzy-probabilistic triples of types τij’s to fuzzy-probabilistic triples of type τi.
Given c1 ⇒ c2 ⇒ … ⇒ ck, one can write c1 ⇒* ck. Like most object-oriented systems, it
assumed here that multiple super-classes of a class do not have a common property.
Example 11: A UFOB schema for the patient database above can be defined as follows:
C = {PATIENT, OUT_PATIENT, IN_PATIENT, CHILD, TEENAGER, ADULT,
OUT_TEENAGER, IN_ADULT}.
τ is given as in Table 3, not including the properties that a class inherits from its
super-classes.
(C
C, ⇒), me and p are given as in Fig. 1.

f defines the method total_cost using an algebra on fuzzy-probabilistic triples
introduced above, with the extension principle-based multiplication operation × on
fuzzy sets and the independence probabilistic conjunction strategy, as follows:
PATIENT: total_cost([duration: 〈V1, α1, β1〉], [cost_perday: 〈V2, α2, β2〉]): 〈V, α, β〉
return 〈V, α, β〉 = 〈V1, α1, β1〉 × 〈V2, α2, β2〉.
Table 3. Type assignment τ.
τ(c)

c
PATIENT

[name: string, age: {real}, address: string, check_date: datetype, disease:
string, duration:{integer}, cost_per_day: {real}, total_cost: {real}]

OUT_PATIENT

[check_again: datetype[.95, 1]]

IN_PATIENT

[bed_no: string]

CHILD

[medical_history: {string}[.4, .6]]

TEENAGER

[medical_history: {string}[.6, .8]]


ADULT

[medical_history: {string}[.8, 1]]

OUT_TEENAGER

[]

IN_ADULT

[]


Uncertain and Fuzzy Object Bases 287

An FPOB schema as defined above may be inconsistent when there is no set of
objects that satisfies its class hierarchy and probability assignment. It is consistent if and
only if it has a taxonomic and probabilistic model as in the following definition adapted
from Ref. 18.

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Definition 12. Let S = (C
C, τ, ⇒, me, p, f ) be an FPOB schema. An interpretation of S is a
mapping ε from C to the set of all finite subsets of a set O of object identifiers. It is said to
be a model of S if and only if:
1. ε(c) ≠ ∅ for every c∈C
C, and
2. ε(c) ⊆ ε(d) for all c, d∈C

C such that c ⇒ d, and
3. ε(c)∩ε(d) = ∅ for all c, d∈C
C such that c and d belong to the same cluster defined
by me, and
4. |ε(c)| = p(c | d).|ε(d)| for all c, d∈C
C such that c ⇒ d.

4. UFOB Instances and Inheritance
4.1. UFOB instances
Given a UFOB schema, a UFOB instance over the schema is defined as a base of objects
associated with their classes and fuzzy-probabilistic tuple values.
Definition 13. Let S = (C
C, τ, ⇒, me, p, f) be a UFOB schema and O be a set of object
identifiers. A UFOB instance over S is a pair (π, ν) where:
1. π maps each c∈C
C to a finite subset of O such that, for different c1, c2 ∈ C,
π(c1)∩π(c2) = ∅. In addition, the mapping π*: C → 2O is defined by π*(c) =
∪{π(d) | d∈C
C, d ⇒* c} comprising objects that are defined in c or its proper
subclasses.
2. For each c ∈ C, ν maps each o∈π(c) to a fuzzy-probabilistic tuple value [P1: 〈V1,
α1, β1〉[l1, u1], …, Pk: 〈Vk, αk, βk〉[lk, uk]] of type τ(c).
Intuitively, π(c) is the set of all objects whose most specific class is c. Meanwhile,
π*(c) is the set of all objects that belong to c.
Example 12: A UFOB instance over the UFOB schema in Example 11 is shown in Table
4 and Table 5. We note that Table 5 shows all inherited properties of an object from its
super-classes. Here, about_60 = {59: .5, 60: 1, 61: .5} is the fuzzy number representing
the approximate daily treatment cost of the patient denoted by o4, and about_1800 = 30 ×
about_60 and about_2400 = 40 × about_60 are the fuzzy numbers representing the
probable total treatment costs of that patient. Meanwhile, medical_history:

〈{{cholecystitis}}, u, u〉[.7, 1] expresses it is likely at least to degree .7 that o4 got
cholecystitis before.


288 T. H. Cao & H. Nguyen
Table 4. Mapping π and π*.

PATIENT

π(c)
{o1}

π*(c)
{o1, o2, o3, o4, o5}

OUT_PATIENT

{}

{o2, o3, o5}

IN_PATIENT

{}

{o4}

CHILD

{}


{}

TEENAGER

{}

{o2, o3, o5}

ADULT

{}

{o4}

OUT_TEENAGER

{o2, o3, o5 }

{o2, o3, o5}

IN_ADULT

{o4}

{o4}

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.


c

Table 5. Value assignment ν.
oid
o1

ν(oid)
[name: 〈{Le}, u, u〉, age: 〈{45}, u, u〉, address: 〈{Saigon}, u, u〉, check_date: 〈{20-3-08}, u, u〉,
medical_history: 〈{{bronchitis}}, u, u〉[.32, .4], disease: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉,
duration: 〈{400, 500}, u, u〉, cost_per_day: 〈{300}, u, u〉, total_cost: 〈{120,000, 150,000}, u, u〉]

o2

[name: 〈{Tran}, u, u〉, age: 〈{16}, u, u〉, address: 〈{Hue}, u, u〉, check_date: 〈{20-3-08}, u, u〉,
disease: 〈{flu}, u, u〉, duration: 〈{7}, u, u〉, cost_per_day: 〈{30}, u, u〉, total_cost: 〈{210}, u, u〉]

o3

[name: 〈{Nguyen}, u, u〉, age: 〈{young}, u, u〉, address: 〈{Hanoi}, u, u〉, check_date: 〈{21-3-08}, u,
u〉, disease: 〈{angina}, u, u〉, duration: 〈{10}, u, u〉, check_again: 〈{27-3-08}, u, u〉[.9, 1],
cost_per_day: 〈{160, 170}, .8u, u〉, total_cost: 〈{1600, 1700}, .8u, u〉]

o4

[name: 〈{Ho}, u, u〉, age: 〈{middle_aged}, u, u〉, address: 〈{Saigon}, u, u〉, check_date: 〈{21-3-08},
u, u〉, medical_history: 〈{{cholecystitis}}, u, u〉[.7, 1], disease: 〈{hepatitis, cirrhosis}, u, u〉,
duration: 〈{30, 40}, u, u〉, bed_no: {A35}, u, u〉, cost_per_day: 〈{about_60}, u, u〉, total_cost:
〈{about_1800, about_2400}, u, u〉]

o5


[name: 〈{Trinh}, u, u〉, age: 〈{young}, u, u〉, address: 〈{Danang}, u, u〉, check_date: 〈{22-6-08}, u,
u〉, disease: 〈{bronchitis}, u, u〉, duration: 〈{10, 15}, u, u〉, cost_per_day: 〈{50}, u, u〉, total_cost:
〈{500, 750}, u, u〉]

4.2. UFOB probabilistic extents
In classical object bases, the extent of a class comprises all the objects that belong to that
class. In UFOB, the probabilistic extent of a class specifies the probability for each object
to belong to that class. The following definition is adapted from that of POB.
Definition 14. Let (π, ν) be a UFOB instance over the schema S = (C
C, τ, ⇒, me, p, f).
Then, for each class c∈C
C, the probabilistic extent of c, denoted by ext(c), maps each
o∈π(C
C) to a set of rational numbers in [0, 1] as follows:
1. If o∈π*(c) then ext(c)(o) = {1}.
2. If there exists d such that o∈π*(d) and ε(c)∩ε(d) = ∅ for every model ε of S, then
ext(c)(o) = {0}.
3. Otherwise, ext(c)(o) = {p | p is the product of the arc probabilities on a path from c
up to d where c ⇒* d with d being minimal and o∈π*(d)}.
Therefore, the probability interval for an object o to belong to a class c is
[min(ext(c)(o)), max(ext(c)(o))].


Uncertain and Fuzzy Object Bases 289

Example 13: Let I be the UFOB instance in Example 12. The probabilistic extents of the
classes OUT_TEENAGER and IN_ADULT are defined by:

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com

by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

ext(OUT_TEENAGER)(o1) = {.16}
ext(OUT_TEENAGER)(o2) = {1}
ext(OUT_TEENAGER)(o3) = {1}
ext(OUT_TEENAGER)(o4) = {0}
ext(OUT_TEENAGER)(o5) = {1}

ext(IN_ADULT)(o1) = {.12}
ext(IN_ADULT)(o2) = {0}
ext(IN_ADULT)(o3) = {0}
ext(IN_ADULT)(o4) = {1}
ext(IN_ADULT)(o5) = {0}.

4.3. UFOB inheritance
In UFOB, both the applicability of a property to a class and the membership of an object
to a class can be uncertain. We define the probability for an object to inherit a property
from a class as the conjunction of the applicability uncertainty and the membership
uncertainty.
Definition 15. Let [l, u] be the applicability probability interval of a property P to a class
c, and [x, y] be the membership probability interval of an object o to c. The applicability
probability interval of P to o is defined to be [l, u]⊗[x, y], where ⊗ is a probabilistic
conjunction strategy.
Example 14: For the UFOB instance in Example 12, the membership of the object o1 to
the class ADULT is .4. So it inherits the property medical_history from that class with
the probability interval [.32, .4], under the independence probabilistic conjunction
strategy.
In order to compute the probability interval for an object having some property with
some value, we define a combination of the uncertain applicability of the property to the
object and the uncertain value of that property as a conjunction of these two events as

follows.
Definition 16. Let 〈V, α, β〉 be the fuzzy-probabilistic triple of a property P of an object
o, and [l, u] be the applicability probability interval of P to o. Then the derived fuzzyprobabilistic triple of P for o is 〈V, α’, β’〉 where [α’(v), β’(v)] = [α(v), β(v)]⊗[l, u] for all
v∈V, where ⊗ is a probabilistic conjunction strategy.
5. UFOB Selection Operation
5.1. Syntax of selection conditions
As for general data or object bases, selection is a basic operation for UFOB. Intuitively,
the result of a selection query on an FPOB instance I over an FPOB schema S is another
UFOB instance I’ over S such that the objects of the classes in I’ and their property
values satisfy the selection condition of the query.


290 T. H. Cao & H. Nguyen

We start with the syntax of UFOB path expressions and selection expressions. In
POB, a path expression was certain and defined as a sequence of attribute names. Here, it
is defined as a sequence of property names and associated with a probability interval
representing its uncertain applicability.

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Definition 17. Let τ = [P1: τ1[l1, u1],…, Pk: τk[lk, uk]] be a tuple type. Path expressions are
inductively defined for every i from 1 to k as follows:
1. Pi is a path expression for τ, and [li, ui] is its associated probability interval.
2. If λi is a path expression for τi and [lλi, uλi] is its associated probability interval,
then Pi.λi is a path expression for τ, and [li, ui]⊗[lλi, uλi] is its associated
probability interval.
We write [λ] to denote the probability interval associated with a path expression λ.
Example 15: Suppose τ = [name: string, age: {real}, address: [street: string,

postcode: string [0, .1]], medical_history: {string} [.4, .6]]. Then medical_history
and address.postcode are path expressions for τ with associated probability intervals
[.4, .6] and [0, .1], respectively.
Now objects are selected depending on their property values and applicability. For
stating a constraint on values of the last property in a path expression, selection
expressions are defined, based on the binary relations on fuzzy sets introduced in Section
2. Moreover, due to uncertain applicability of properties, one may also ask for objects to
which a particular path expression is applicable with a certain degree.
Definition 18. Let S = (C
C, τ, ⇒, me, p, f) be a UFOB schema and X be a set of object
variables. Then selection expressions are inductively defined as of one of the following
forms:
1. x∈c, where x∈X
X and c∈C
C.
2. x.λ, where x∈X
X, and λ is a path expression.
3. x.λ θ v, where x∈X
X, λ is a path expression, θ is a binary relation from {=, ≠, ≤, <,
⊆,∈,→}, and v is a value.
X, λ1 and λ2 are path expressions, and ⊗ is a probabilistic
4. x.λ1 =⊗ x.λ2, where x∈X
conjunction strategy of combining the probabilities for x.λ1 = v1, x.λ2 = v2, and v1 =
v 2.
5. E1⊗E2, where E1 and E2 are selection expressions over the same object variable
and ⊗ is a probabilistic conjunction strategy of combining the probabilities for E1
and E2 being true.
6. E1⊕E2, where E1 and E2 are selection expressions over the same object variable
and ⊕ is a probabilistic disjunction strategy of combining the probabilities for E1
and E2 being true.



Uncertain and Fuzzy Object Bases 291

Example 16: Let S be the UFOB schema of the instance in Example 12. Then the
selection of “all patients who are young and have recorded medical histories” can be
expressed by:
x.age → young ⊗ x.medical_history.
where young is defined by a fuzzy set.

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Selection conditions are now defined as selection expressions that have to be satisfied
with a probability in a given interval.18
Definition 19. Let S = (C
C, τ, ⇒, me, p, f) be a UFOB schema. Then selection conditions
are inductively defined as follows:
1. If E is a selection expression and [l, u] is a subinterval of [0, 1], then (E)[l, u] is a
selection condition.
2. If φ and ψ are selection conditions, then ¬φ, (φ ∧ ψ) and (φ ∨ ψ) are selection
conditions.
Example 17: The selection of “all patients who are young with a probability of at least .4
and get lung cancer with a probability of at least .8” can be done using the condition
(x.age → young) [.4, 1] ∧ (x.disease = lung cancer) [.8, 1].
5.2. Semantics of selection conditions
For defining the semantics of selection conditions, we extend the definitions of
interpretations of path expressions, selection expressions, and selection conditions in
POB with uncertain applicability of properties.
Definition 20. Let τ = [P1: τ1[l1, u1],…, Pk: τk[lk, uk]] be a tuple type and v = [P1: v1[l’1,

u’1],…, Pk: vk[l’k, u’k]] be a value of type τ. The interpretation of a path expression λ for τ
under v, denoted by v.λ, and its associated probability interval, denoted by [v.λ], are
inductively defined as follows:
1. If λ = Pi, then v.λ = vi and [v.λ] = [l’i, u’i].
2. If λ = Pi.λi, where λi is a path expression for τi and [vi.λi] = [lλi, uλi], then v.λ = vi.λi
and [v.λ] = [l’i, u’i] ⊗ [lλi, uλi].
Example 18: Given τ = [name: string, age: {real}, address: [street: string, postcode:
string[0, .1]], medical_history: {string}[.4, .6]], the interpretation of the path
expression address.postcode under the value v = [name: Nguyen, age: young, address:
[street: 135-XVNT-Saigon, postcode: 2468A[0, .5]], medical_history: {tonsillitis}[.4,
.6]] is 2468A and its associated probability interval is [0, .5].
Definition 21. Let S = (C
C, τ, ⇒, me, p, f) be a UFOB schema, I = (π, ν) be a UFOB
instance over S, x be an object variable, and o ∈ π(C
C). The probabilistic interpretation


292 T. H. Cao & H. Nguyen

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

with respect to S, I, and o, denoted by probS,I,o, is the partial mapping from the set of all
selection expressions to the set of all closed subintervals of [0, 1] that is inductively
defined as follows:
1. probS,I,o(x ∈ c) = [min(ext(c)(o)), max(ext(c)(o))].
2. probS,I,o(x.λ) = [ν(o).P] ⊗ (⊕me: w∈V ([α(w), β(w)] ⊗ [w.λ’])), where λ = P.λ’ and
ν(o).P = 〈V,α,β〉.
3. probS,I,o(x.λ θ v) = [Σw∈V α’(w).prob(w.λ’ θ v), min(1, Σw∈V β’(w).prob(w.λ’ θ v))],
where λ = P.λ’, ν(o).P = 〈V, α, β〉, [ν(o).P] ⊗ [w.λ’] = [lw, uw], and [α’(w), β’(w)]

= [α(w), β(w)] ⊗ [lw, uw], for every w∈V.
4. probS,I,o(x.λ1 =⊗ x.λ2) = [Σw∈Vα’(w).prob(w1.λ’1=w2.λ’2), min(1, Σw∈V β’(w).prob
(w1.λ’1 = w2.λ’2))], where ν(o).P1 = 〈V1, α1, β1〉, λ1 = P1.λ’1, [ν(o).P1] ⊗ [w1.λ’1] =
[lw1, uw1], λ2 = P2.λ’2, ν(o).P2 = 〈V2, α2, β2〉, [ν(o).P2] ⊗ [w2.λ’2] = [lw2, uw2], and
[α’(w), β’(w)] = [α1(w1), β1(w1)] ⊗ [α2(w2), β2(w2)] ⊗ [lw1, uw1] ⊗ [lw2, uw2], for
every w = (w1, w2) ∈ V = V1×V2.
5. probS,I,o(E1 ⊗ E2) = probS,I,o(E1) ⊗ probS,I,o(E2).
6. probS,I,o(E1 ⊕ E2) = probS,I,o(E1) ⊕ probS,I,o(E2).
Intuitively, probS,I,o(x ∈ c) is the probability interval for o belonging to c;
probS,I,o(x.λ) is the probability interval for the the path expression λ applicable to o;
probS,I,o(x.P.λ’ θ v) is the probability interval for the path expression P.λ’ applicable to o
and for the property P of o having a value w such that w.λ’ θ v, based on Definition 16;
probS,I,o(x.P1.λ’1 =⊗ x.P2.λ’2) is the probability interval for P1.λ’1 and P2.λ’2 applicable to
o, and for P1 and P2 of o having values w1 and w2, respectively, such that w1.λ’1 = w2.λ’2.
Example 19: Let S be the schema of the UFOB instance I in Example 12. Then
probS,I,o1(x.medical_history ⊗in x.duration ≥ 500) = probS,I,o1(x.medical_history) ⊗in
probS,I,o1(x.duration ≥ 500) = [.32, .4] ⊗in [u(400) × prob(400 ≥ 500) + u(500) ×
prob(500 ≥ 500), min(1, u(400) × prob(400 ≥ 500) + u(500) × prob(500 ≥ 500))] = [.32,
.4] ⊗in [.5, min(1, .5)] = [.16, .2] is the probability interval for the patient denoted by o1
having a recorded medical history and the treatment duration of at least 500 days.
We now define when a selection condition (given by Definition 19) is satisfied under
a probabilistic interpretation.
Definition 22. Let S = (C
C, τ, ⇒, me, p, f) be a UFOB schema, I = (π, ν) be a UFOB
instance over S, and o ∈ π(C
C). The satisfaction of selection conditions under probS,I,o is
defined as follows:
1.
2.
3.

4.

probS,I,o |= (E)[l, u] if and only if (iff) probS,I,o(E) ⊆ [l, u].
probS,I,o |= ¬φ iff probS,I,o|= φ does not hold.
probS,I,o |= φ ∧ ψ iff probS,I,o |= φ and probS,I,o |= ψ.
probS,I,o |= φ ∨ ψ iff probS,I,o |= φ or probS,I,o |= ψ.


Uncertain and Fuzzy Object Bases 293

Example 20: We define approx_40 = (35: 0; 40: 1; 45: 0) as the continuous triangleshaped fuzzy set whose vertices are (40, 1), (35, 0) and (45, 0). Let S be the schema of
the UFOB instance I in Example 12. The selection of “all patients who are approximately
40 years old with probability from .2 to .5 and have recorded medical histories with
probability of at least .6” can be done using the selection condition:

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

φ = (x.age → approx_40)[.2, .5] ∧ (x.medical_history)[.6, 1].
Given the membership functions of approx_40 above and middle_aged in Example 9,
their α-cuts are respectively αapprox_40 = [35+5α, 45-5α] and αmiddle_aged = [20+15α,
60-15α]. According to Definition 2, one has:
11 xmiddle_aged∩yapprox_40
prob(middle_aged → approx_40) = ∫ ∫  dxdy
00

xmiddle_aged

11 [20+15x, 60-15x]∩[35+5y, 45-5y]
11 10-10y

11 1 – y
ln 4
= ∫ ∫ dxdy = ∫ ∫ dxdy = ∫ ∫  dxdy =  ≈ .23.
00
[20+15x, 60-15x]
00 40-30x
00 4 -3x
6

For the object o4 in I, probS,I,o4(x.age → approx_40) = [u(middle_aged) ×
prob(middle_aged → approx_40), min(1, u(middle_aged) × prob(middle_aged →
approx_40))] = [.23, min(1, .23] = [.23, .23] ⊆ [.2, .5] and probS,I,o4(x.medical_history)=
[.7, 1] ⊆ [.6, 1]. Therefore probS,I,o4 |= φ.
We are now ready to define the UFOB selection operation as follows.
Definition 23. Let S = (C
C, τ, ⇒, me, p, f) be a UFOB schema, I = (π, ν) be a UFOB
instance over S, and φ be a selection condition over an object variable x. The selection on
I with respect to φ, denoted by σφ(I), is the UFOB instance I’ = (π’, ν’) over S, where:
1. π’(c) = {o ∈ π(c) | probS,I,o |= φ} and
2. ν’ = ν | π’(C
C) (i.e., the mapping restricted to π’(C
C)).
Example 21: Consider the UFOB instance I = (π, ν) in Example 12. The selection of “all
patients who have a recorded medical history of cholecystitis with probability of at least
.6 and pay the treatment cost about 1,800 with probability of at least .4” can be done by
the selection operation:
I’ = σφ(I)
where φ = (x.medical_history = {cholecystitis})[.6, 1] ∧ (x.total_cost(x.duration,
x.cost_per_day) → about_1800)[.4, 1].
For the object o4, since [α’(w), β’(w)] = [u(w), u(w)] ⊗in [.7, 1] = [.7u(w), u(w)] for

any w, probS,I,o4(x.medical_history = {cholecystitis}) = [.7, 1] ⊆ [.6, 1]. Also


294 T. H. Cao & H. Nguyen

probS,I,o4(x.total_cost (x.duration, x.cost_per_day) → about_1800) = [u(about_1800)
× prob(about_1800 → about_1800) + u(about_2400) × prob(about_2400 →
about_1800), min(1, u(about_1800) × prob(about_1800 → about_1800) +
u(about_2400) × prob(about_2400 → about_1800))] = [.43, min(1, .43)] =[.43, .43] ⊆
[.4, 1]. So probS,I,o4|= φ. One can also verify that none other object of I satisfies φ, and
thus I’ contains only o4.

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

6. Other UFOB Algebraic Operations
As for relational databases, other basic operations on object base instances are projection,
renaming, Cartesian product, join, intersection, union, and difference. We now extend
those operations of POB for UFOB taking into account class methods and uncertain
applicability of class properties.
6.1. Projection and renaming
A projection of a UFOB instance on a set of properties is a new instance in which only
the properties in that set are considered for the type of each class and the value of each
object.
Definition 24. Let S = (C
C, τ, ⇒, me, p, f) is a UFOB schema, I = (π, ν) be an instance over
S, and P be a set of properties. The projection of I on P, denoted by ΠP(I), is the instance
I’ = (π’, ν’) on the schema ΠP(S), where:
1. ΠP (S) = (C
C, τ’, ⇒, me, p, f’) such that, for every c∈C

C, τ’(c) is obtained from τ(c) =
[P1: τ1[l1, u1],…, Pk: τk[lk, uk]] by deleting all Pj: τj[lj, uj]’s with Pj ∉ P, and f’ is the
reduction of f on τ’(c), i.e., f’(Pi) = f(Pi) for every Pi in τ’(c).
2. π’(c) = π(c) for every c∈C
C.
3. ν’(o) = ΠP (ν(o)) is obtained from ν(o) = [P1: 〈V1, α1, β1〉[l’1, u’1],…, Pk: 〈Vk, αk,
βk〉[l’k, u’k]] by deleting all Pj: 〈Vj, αj, βj〉[l’j, u’j]’s with Pj ∉ P, for every o∈π(C
C ).
Example 22: Let I = (π, ν) be the instance over the schema S in Example 11. The
projection of I on P = {name, age, disease} is I’ = (π’, ν’) on ΠP (S) = (C
C, τ’, ⇒, me, p,
f’) where τ’ and ν’ are given in Tables 6 and 7, respectively.
Table 6. Type assignment τ’ resulting from Projection.
c
PATIENT
OUT_PATIENT
IN_PATIENT
CHILD
TEENAGER
ADULT
OUT_TEENAGER
IN_ADULT

τ’(c)
[name: string, age: {real}, disease: string]
[name: string, age: {real}, disease: string]
[name: string, age: {real}, disease: string]
[name: string, age: {real}, disease: string]
[name: string, age: {real}, disease: string]
[name: string, age: {real}, disease: string]

[name: string, age: {real}, disease: string]
[name: string, age: {real}, disease: string]


Uncertain and Fuzzy Object Bases 295

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Table 7. Value assignment ν’ resulting from Projection.
oid
o1

v’(oid)
[name: 〈{Le}, u, u〉, age: 〈{45}, u, u〉, disease: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉]

o2
o3
o4
o5

[name: 〈{Tran}, u, u〉, age: 〈{16}, u, u〉, disease: 〈{flu}, u, u〉]
[name: 〈{Nguyen}, u, u〉, age: 〈{young}, u, u〉, disease: 〈{angina}, u, u〉]
[name: 〈{Ho}, u, u〉, age: 〈{{middle_aged}, u, u〉, disease: 〈{hepatitis, cirrhosis}, u, u〉]
[name: 〈{Trinh}, u, u〉, age: 〈{young}, u, u〉, disease: 〈{bronchitis}, u, u〉]

The renaming operation is to rename some of the top-level properties in a UFOB
instance by new ones. In the following definition, the condition on C* is to preserve that
all the top-level properties of an instance after renaming are distinct.
Definition 25. Let P be a set of properties, S = (C

C, τ, ⇒, me, p, f) be a UFOB schema, and
P be the set of all top-level properties on S. A renaming expression has the form B* ←
C* where B* = B1, B2,…, Bm is a list of distinct properties from P, and C* = C1, C2,…,
Cm is a list of distinct properties from P - (P -{B1, B2,…, Bm}).
Definition 26. Let S = (C
C, τ, ⇒, me, p, f) be a UFOB schema, I = (π, ν) be an instance
over S, and N = B1, B2,…, Bm ← C1, C2,…, Cm be a renaming expression. The renaming
in I with respect to N, denoted by δN(I), is the instance I’ = (π’, ν’) over the schema δN(S)
where:
C, τ’, ⇒, me, p, f’) such that, for every c∈C
C, τ’(c) is obtained from τ(c) =
1. δN(S) = (C
[P1: τ1[l1, u1],…, Pk: τk[lk, uk]] by replacing each property Pj = Bi by the new
property Ci, for i ∈ {1,…, m} and, for every P’j∈τ’(c), f’(P’j) = f(Bi) if P’j = Ci and
f’(P’j) = f(P’j) if P’j ≠ Ci.
2. π’(c) = π(c) for every c∈C
C.
3. ν’(o) = δN(ν(o)) is obtained from ν(o) = [P1: 〈V1, α1, β1〉[l’1, u’1],…, Pk: 〈Vk, αk,
βk〉[l’k, u’k]] by replacing each property Pj = Bi by the new property Ci, for i ∈{1, 2,
..., m} and every o∈π(C
C).
Example 23: Let I = (π, ν) be the instance over the schema S computed in Example 22.
The renaming in I with respect to the renaming expression N = name, age, disease ←
name2, age2, disease2 is the instance I’ = δN(I) = (π’, ν’) on δN(S) = (C
C, τ’, ⇒, me, p,
f’) where τ’ and ν’ are given in Tables 8 and 9, respectively.
Table 8. Type assignment τ’ resulting from Renaming.
c
PATIENT
OUT_PATIENT

IN_PATIENT
CHILD
TEENAGER
ADULT
OUT_TEENAGER
IN_ADULT

τ’(c)
[name2: string, age2: {real}, disease2: string]
[name2: string, age2: {real}, disease2: string]
[name2: string, age2: {real}, disease2: string]
[name2: string, age2: {real}, disease2: string]
[name2: string, age2: {real}, disease2: string]
[name2: string, age2: {real}, disease2: string]
[name2: string, age2: {real}, disease2: string]
[name2: string, age2: {real}, disease2: string]


296 T. H. Cao & H. Nguyen
Table 9. Value assignment ν’ resulting from Renaming.
v’(oid)

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

oid
o1

[name2: 〈{Le}, u, u〉, age2: 〈{45}, u, u〉, disease2: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉]


o2

[name2: 〈{Tran}, u, u〉, age2: 〈{16}, u, u〉, disease2: 〈{flu}, u, u〉]

o3

[name2: 〈{Nguyen}, u, u〉, age2: 〈{young}, u, u〉, disease2: 〈{angina}, u, u〉]

o4

[name2: 〈{Ho}, u, u〉, age2: 〈{{middle_aged}, u, u〉, disease2: 〈{hepatitis, cirrhosis}, u, u〉]

o5

[name2: 〈{Trinh}, u, u〉, age2: 〈{young}, u, u〉, disease2: 〈{bronchitis}, u, u〉]

6.2. Cartesian product
For the Cartesian product of two UFOB instances, we assume the top-level properties of
their schemas are disjoint. This can be achieved by the renaming operation. Also, for the
operation being communicative, we assume every type τ = [P1: τ1[l1, u1],…, Pk: τk[lk, uk]]
and its values are un-ordered k-tuples.
C1, τ1, ⇒1, me1, p 1, f1) and S2 = (C
C2, τ2, ⇒2, me2,
Definition 27. The UFOB schemas S1 = (C
p 2, f2) is Cartesian product-compatible if and only if S1 and S2 have no common top-level
property.
Definition 28. Let S1 = (C
C1, τ1, ⇒1, me1, p 1, f1) and S2 = (C
C2, τ2, ⇒2, me2, p 2, f2) be two
Cartesian product-compatible UFOB schemas. The Cartesian product of S1 and S2,

denoted by S1 × S2, is the UFOB schema S = (C
C, τ, ⇒, me, p, f) defined by:
1. C = C1×C
C2 = {(c1, c2) c1 ∈ C1, c2 ∈ C2}.
2. For every c = (c1, c2) ∈ C, τ(c) = [P1: τ1[l1, u1],…, Pk: τk[lk, uk], Pk+1: τk+1[lk+1,
uk+1],…, Pk+m: τk+m[lk+m, uk+m]], where τ1(c1) = [P1: τ1[l1, u1],…, Pk: τk[lk, uk]] và
τ2(c2) = [Pk+1: τk+1[lk+1, uk+1],…, Pk+m: τk+m[lk+m, uk+m]].
3. (C
C, ⇒) is defined such that, for every c = (c1, c2) and d = (d1, d2)∈C
C, c ⇒ d if and
only if (c1 ⇒ d1 ∧ c2 ≡ d2) ∨ (c2 ⇒ d2 ∧ c1 ≡ d1).
4. me is defined such that, for every c = (c1, c2) ∈ C, me (c) = {P1 × {c2} P1 ∈me1(c1)}
∪ {{c1}× P2 P2 ∈ me 2(c2)}.
5. p is defined such that, for every arc c ⇒ d, where c = (c1, c2), d = (d1, d2) ∈ C,
p1(c1, d1), if c2 ≡ d2
p(c, d) =
p2(c2, d2), if c1 ≡ d1
6. For every c = (c1, c2) ∈ C such that τ(c1, c2) = [P1: τ1[l1, u1],…, Pk: τk[lk, uk], Pk+1:
τk+1[lk+1, uk+1],…, Pk+m: τk+m[lk+m, uk+m]], the interpretation f of each property Pi in
τ(c1, c2) of c is defined by
f 1(Pi), ∀i =1, …, k
f (Pi) =
f 2(Pi), ∀i = k+1, …, k+m


Uncertain and Fuzzy Object Bases 297

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.


where τ1(c1) = [P1: τ1[l1, u1],…, Pk: τk[lk, uk]] and τ2(c2) = [Pk+1: τk+1[lk+1, uk+1],…,
Pk+m: τk+m[lk+m, uk+m]].
Example 24: Let S1 and S2 be the schemas obtained in Example 22 and Example 23,
C, τ, ⇒, me, p, f) is obtained as follows:
respectively. Then S1×S2 = (C
1. Partial views of C, me, and p are illustrated in Fig. 3, where pa, op, ip, ch, te, ad,
ot, and ia are abbreviations of the class names PATIENT, OUT_PATIENT,
IN_PATIENT, CHILD, TEENAGER, ADULT, OUT_TEENAGER, and
IN_ADULT.
2. For every c∈C
C, τ(c) = [name: string, age: {real}, disease: string, name2:
string, age2: {real}, disease2: string].
(pa, pa)

d
0.2

0.8

(pa, op)

(pa, ip)

(pa, ch)

(pa,te)

0.2

0.8


0.4

0.2

0.4

d

d

d

(pa, ad)

(op, pa) (ip, pa)

0.4

0.4

0.2

(ch, pa) (te, pa) (ad, pa)

. . . . . .
d
0.8

(op, te)


d
0.2

(ip, te)

0.4

(ch, te)

0.2

(te, te)

0.4

(ad, te)

0.2

0.8

(ot, pa)

0.6

0.3

(ia, pa)


. . . . . .
Fig. 3. Partial class hierarchy of a Cartesian product in the Patient example.

Definition 29. Let I1 = (π1, ν1) and I2 = (π2, ν2) be two UFOB instances over the
Cartesian product-compatible schemas S1 = (C
C1, τ1, ⇒1, me1, p1, f1) and S2 = (C
C2, τ2, ⇒2,
me2, p2, f2), respectively. The Cartesian product of I1 and I2, denoted by I1 × I2, is the
instance I = (π, ν) over S = S1 × S2, where:
1. π(c) = π1(c1) × π2(c2), for every c = (c1, c2)∈C
C = C1×C
C2.
2. ν(o) = ν1(o1) × ν2(o2) = [P1: 〈V1, α1, β1〉[l’1, u’1],…, Pk: 〈Vk, αk, βk〉[l’k, u’k], Pk+1:
〈Vk+1, αk+1, βk+1〉[l’k+1, u’k+1], …, Pk+m: 〈Vk+m, αk+m, βk+m〉[l’k+m, u’k+m]],
where ν(o1) = [P1: 〈V1, α1, β1〉[l’1, u’1],…, Pk: 〈Vk, αk, βk〉[l’k, u’k]] and ν(o2 ) =
[Pk+1: 〈Vk+1, αk+1, βk+1〉[l’k+1, u’k+1], …, Pk+m: 〈Vk+m, αk+m, βk+m〉[l’k+m, u’k+m]], for
every o = (o1, o2) ∈ π(C
C).


298 T. H. Cao & H. Nguyen

Example 25: Let I1 and I2 be the UFOB instances obtained in Examples 22 and 23,
respectively. Parts of π and ν of I = I1 × I2 are given in Tables 10 and 11.

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

Table 10. Mapping π resulting from Cartesian product.
c

(pa, pa)
(op, pa)
(ot, pa)
(ia, pa)


π(c)
{(o1, o1)}
{}
{(o2, o1), (o3, o1), (o5, o1)}
{(o4, o1)}


Table 11. Value assignment ν’ resulting from Cartesian Product.
oid
(o1, o1)
(o2, o1)
(o3, o1)
(o4, o1)
(o5, o1)


ν(oid)
[name: 〈{Le}, u, u〉, age: 〈{45}, u, u〉, disease: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉,
name2: 〈{Le}, u, u〉, age2: 〈{45}, u, u〉, disease2: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉]
[name: 〈{Tran}, u, u〉, age: 〈{16}, u, u〉, disease: 〈{flu}, u, u〉, name2: 〈{Le}, u, u〉, age2:
〈{45}, u, u〉, disease2: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉]
[name: 〈{Nguyen}, u, u〉, age: 〈{young}, u, u〉, disease: 〈{angina}, u, u〉, name2: 〈{Le}, u,
u〉, age2: 〈{45}, u, u〉, disease2: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉]
[name: 〈{Ho}, u, u〉, age: 〈{{middle_aged}, u, u〉, disease: 〈{hepatitis, cirrhosis}, u, u〉,

name2: 〈{Le}, u, u〉, age2: 〈{45}, u, u〉, disease2: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉]
[name: 〈{Trinh}, u, u〉, age: 〈{young}, u, u〉, disease: 〈{bronchitis}, u, u〉, name2: 〈{Le}, u,
u〉, age2: 〈{45}, u, u〉, disease2: 〈{lung cancer, tuberculosis}, .8u, 1.2u〉]


6.3. Join
The join operation is to combine every pair of objects in two UFOB instances on their
common properties.
Definition 30. The UFOB schemas S1 = (C
C1, τ1, ⇒1, me1, p 1, f1) and S2 = (C
C2, τ2, ⇒2, me2,
p 2, f2) are join-compatible if and only if τ1(c1).P = τ2(c2).P and f1(P) = f2(P) for every
property of the same name P in τ1(c1) and τ2(c2), and every (c1, c2) ∈ C1×C
C 2.
Definition 31. Let S1 = (C
C1, τ1, ⇒1, me1, p 1, f1) and S2 = (C
C2, τ2, ⇒2, me2, p 2, f2) be two
join-compatible UFOB schemas, and ⊗ be a probabilistic conjuction strategy. The join of
S1 and S2 with respect to ⊗, denoted by S1
C, τ, ⇒, me, p, f),
⊗ S2, is the schema S = (C
where:
1. C, ⇒,me, p are the same as defined for the Cartesian product schema S = S1×S2
(Definition 28).
2. For every c = (c1, c2)∈C
C, let P1 and P2 be the set of properties in τ1(c1) and τ2(c2).
Then τ(c) consists of:
(i) P: τ’[l, u] if P∈P
P1 - P2 and P: τ’[l, u] is in τ1(c1).
(ii) P: τ’[l, u] if P∈P

P2 - P1 and P: τ’[l, u] is in τ2(c2).


Uncertain and Fuzzy Object Bases 299

Int. J. Unc. Fuzz. Knowl. Based Syst. 2011.19:275-305. Downloaded from www.worldscientific.com
by CHINESE UNIVERSITY OF HONG KONG on 02/11/15. For personal use only.

(iii) P: τ’[l1, u1]⊗[l2, u2] if P∈P
P1∩P
P2 and P: τ’[l1, u1] is in τ1(c1) and P: τ’[l2, u2] is
in τ2(c2).
3. The interpretation f of each property P in τ(c1, c2) is defined by:
f 1(P), ∀P∈ P1-P
P 2,
f (P) = f 2(P), ∀P∈ P2-P
P 1,
P 2.
f 1(P) = f2(P), ∀P∈ P1∩P
The join of two UFOB instances are based on the join of corresponding fuzzyprobabilistic tuple values defined as follows.
Definition 32. Let fptv1 and fptv2 be two fuzzy-probabilistic tuple values on the sets of
properties P1 and P2 of two tuple types corresponding to two join-compatible schemas.
The join of fptv1 and fptv2 under a probabilistic conjunction strategy ⊗, denoted by
fptv1 ⊗fptv2, is the fuzzy-probabilitsic tuple value fptv over P1∪P
P2 defined by:
1. fptv.P = fptv1.P and [fptv.P] = [fptv1.P], ∀P∈P
P 1 - P 2.
2. fptv.P = fptv2.P and [fptv.P] = [fptv2.P], ∀P∈P
P 2 - P 1.
3. fptv.P = fptv1.P⊗fptv2.P and [fptv.P] = [fptv1.P]⊗[fptv2.P], ∀P∈P

P1∩P
P 2.
We recall that fptv1.P and fptv2.P are fuzzy-probabilistic triples and their conjunction
fptv1.P⊗fptv2.P is defined by Definition 4. Meanwhile, [fptv1.P] and [fptv2.P] are
probability intervals associated with the property P in fptv1 and fptv2, respectively.
Example 26: Suppose that fptv1 are fptv2 the two following fuzzy-probabilistic tuple
values:
fptv1 = [name1: 〈{Tran}, u, u〉, age: 〈{middle_aged, old}, u, u〉, medical_history:
〈{{cirrhosis}, {cholecystitis}}, u, u〉[.32, 0.4]〉],
fptv2 = [name2: 〈{Hoang}, u, u〉, age: 〈{{middle_aged}, u, u〉, medical_history:
〈{{cholecystitis}}, u, u〉[.7, 1]〉].
The join of fptv1 and fptv2 under the independence probabilistic conjunction strategy ⊗in is:
fptv1 ⊗infptv2 = [name1: 〈{Tran}, u, u〉, name2: 〈{Hoang}, u, u〉, age: 〈{middle_aged},
.5u, .5u〉, medical_history: 〈{{cholecystitis}}, .112u, .2u〉].
Definition 33. Let I1 = (π1, ν1) and I2 = (π2, ν2) be two UFOB instances over the joincompatible schemas S1 = (C
C1, τ1, ⇒1, me1, p 1, f1) and S2 = (C
C2, τ2, ⇒2, me2, p 2, f2), P1 and
P2 be the sets of top-level properties of S1 and S2, respectively, and ⊗ is a probabilistic
conjunction strategy. The join of I1 and I2 under a probabilistic conjunction strategy ⊗,
denoted by I1 ⊗I2, is defined as the UFOB instance (π, ν) over the schema S1 ⊗S2,
where:
1. π(c) = {(o1, o2)∈π1(c1)×π2(c2)for every P∈P
P1∩P
P2, if (ν1(o1) ⊗ν2(o2)).P = 〈V, α,
β〉 and [(ν1(o1) ⊗ν2(o2)).P] = [l, u] then V ≠ ∅ and [l, u] ≠ [0, 0]}, for every
c∈C
C1×C
C 2.
2. ν(o) = ν1(o1) ⊗ν2(o2), for every o = (o1, o2)∈π(C
C).



×