A Parallel Algorithm for Real-Time Decision

A Parallel Algorithm for Real-Time Decision
Making: A Rough Set Approach
Andrzej Skowron
Institute of Mathematics, Warsaw University
Banacha 2, 02-097 Warsaw, Poland
Zbigniew Suraj
Institute of Mathematics, Pedagogical University of Rzeszow
Rejtana 16A, 35-310 Rzeszow, Poland
Abstract
We consider decision tables with the values of conditional attributes
(conditions) measured by sensors. These sensors produce outputs after
an unknown but nite number of time units. We construct an algorithm
for computing a highly parallel program represented by a Petri net from
a given decision table. The constructed net allows to identify objects in
decision tables to an extent which makes appropriate decisions possible.
The outputs from sensors are propagated through the net with maximal
speed. This is done by an appropriate implementation of all rules true
in a given decision table. Our approach is based on rough set theory
[20]. It also seems to have some signicance for theoretical foundations of
real-time systems.
Keywords: real-time systems, information systems, rough sets, decision
rules, Petri nets
1 Introduction
We assume that a decision table S representing experimental knowledge is given
[20]. It consists of a number of rows labeled by elements from a set of objects
U , which contain the results of sensor measurements represented by a value
vector of conditional attributes (conditions) from A together with a decision d
corresponding to this vector. Values of conditions are identied by sensors in
a nite but unknown number of time units. In some applications the values of
conditional attributes can be interpreted as states of local processes in a complex system and the decision value is related to the global state of that system
1
[21], [31]. Sometimes it is necessary to transform a given experimental decision
table by taking into account other relevant features (new conditional attributes)
instead of the original ones. This step is necessary when the decision algorithm
constructed directly from the original decision table yields an inadequate classication of unseen objects or when the complexity of decision algorithm synthesis
from the original decision table is too high. In this case some additional time
is necessary to compute the values of new features after the results of sensor
measurements are given. The input for our algorithm consists of a decision table
(if necessary, pre-processed as described above).
We shall construct a parallel network allowing to make a decision as soon
as a sucient number of attribute values is known as a result of measurements
and conclusions drawn from the knowledge encoded in S [32]. In the paper we
formulate this problem and present its solution.
First of all we assume that the knowledge encoded in S is represented by
rules automatically extracted from S .
We consider only rules true in S , i.e. any object u from U matching the left
hand side of the rule also matches its right hand side and there is an object u
matching the left hand side of the rule. We assume that the knowledge encoded
in S is complete in the sense that unseen objects have attribute value vectors
consistent with rules extracted from S . This assumption may be too restrictive,
since the rules for classifying new objects should be generated from relevant
features (attributes) only. In this case we propose to apply only rules generated
by so-called dynamic reducts [1].
The rule is active if the values of all the attributes on its left hand side
have been measured. An active rule which is true in S can be used to predict
the value of the attribute on its right hand side even if its value has not been
measured yet.
Our algorithm should propagate information from sensors (attributes) to
other attributes as soon as possible. This is the reason for generating rules in
minimal form, i.e. with a minimal number of descriptors on its left hand side.
We present a method for generating rules which are minimal and true in S .
The nal step of our algorithm consists of an implementation of the generated
rule set by means of a Petri net (synchronized by a clock). The constructed
Petri net occurs to have the properties of the parallel network mentioned above.
We prove that any of its computations leading to decision making has minimal
length, i.e. no prediction of the proper decision based on the knowledge encoded
in S and the measurement of attribute values is possible before the end of the
computation.
Each step of a computation of the constructed Petri net consists of two
phases. In the rst phase a checking is performed to see if some new values
of conditions have been identied by sensors and next, in the second phase,
new information about values is transmitted through the net at high speed.
The whole process is realized by an implementation of the rules true in a given
decision table.
2
The problem of active rule selection based on a given set of conditional
attributes with values known at each given moment of time has been studied
by many authors (e.g. in [9]). In our case the activated rules can activate new
conditions. An iteration of this process can eventually activate (indicate) the
proper decision. Our algorithm can be viewed as a parallel implementation of
this idea.
The aim of our approach is to create basic tools for real-time applications in
such areas as real-time decision making by groups of intelligent robots (agents)
[23], error detecting in distributed systems [5], navigation of intelligent mobile
robots [7] and in general in real-time knowledge-based control systems [25]).
In our opinion, the rough set approach seems to be very suitable for real-time
decision making from incomplete or uncertain information. We shall discuss
this topic in another paper.
In the present paper, we use ordinary Petri nets with priorities [10] as a
model of the target system. Net properties can be veried using tools for the
analysis of Petri nets (see e.g. [34]).
The text is organized as follows. In Section 1 we recall some basic notions
of rough set theory [20]. Section 2 contains a method for constructing minimal
rules in decision tables. The method is based on the idea of Boolean reasoning
[3] applied to discernibility matrices dened in [29] and modied here for our
purposes. This section presents the rst step in the construction of a concurrent
model of knowledge embedded in a given decision table. In Section 3 we introduce the denition of a computation set for an information system S . We show
later how this set of computations can be simulated by a network created by a
Petri net corresponding to S . Section 4 contains basic denitions and notations
from Petri net theory. Section 5 describes transformations of decision tables
into Petri nets. In Section 6 we formulate the property of the resulting net
which is fundamental for object identication. In the conclusions we suggest
some directions for further research related to our approach.
2 Preliminaries of Rough Set Theory
In this section we recall basic notions of rough set theory. Among them are
those of information systems, indiscernibility relations, discernibility matrices,
functions, reducts and rules.
2.1 Information Systems and Decision Tables
Information systems (sometimes called data tables, attribute-value systems,
condition-action tables, knowledge representation systems etc.) are used for
representing knowledge. The notion of an information system presented here
is due to Z.Pawlak and was investigated by several authors (see e.g. the bibliography in [20]). Among research topics related to information systems are:
3
rough set theory, problems of knowledge representation, problems of knowledge
reduction, dependencies in knowledge bases. Rough sets have been introduced
[20] as a tool to deal with inexact, uncertain or vague knowledge in articial
intelligence applications.
In this section we recall basic notions related to information systems.
An information system is a pair S = (U; A), where U is a non-empty, nite
set called the universe and A - a non-empty, nite set of attributes, i.e., a : U !
Va for a 2 A, where Va is called the value set of a. Elements of U are called
objects and interpreted as e.g. cases, states, processes, patients, observations.
Attributes are interpreted
as features, variables, characteristic conditions etc.
S
The set V = a2A Va is said to be the domain of A.
Every information system S = (U; A) and Snon-empty set B A determine
a B-information function InfB : U ! P (B a2B Va ) dened by
InfB (x) = f(a; a(x)) : a 2 B g for x 2 U:
The set fInfB (x) : x 2 U g is called the A-information set and it is denoted by
INF(S ).
If S = (U; A) then S 0 = (U; B ) such that A B will be referred to as a
B-extension of S . S is also called a subsystem of S 0 .
In a given information system, in general, we are not able to distinguish all
single objects (using attributes of the system). Namely, dierent objects can
have the same values on the attributes considered. Hence, any set of attributes
partitions the universe U into classes [20]. This is dened in the following way.
Let an information system S = (U; A) be given. With every subset of attributes B A we associate a binary relation ind(B ), called a B-indiscernibility
relation (or indiscernibility relation), dened as follows:
ind(B ) = f(u; u0) 2 U U ; for every a 2 B a(u) = a(u0 )g:
T
Notice that ind(B ) is an equivalence relation and ind(B )= a2B ind(a) where
ind(a) means ind(fag).
Objects u, u0 satisfying the relation ind(B ) are indiscernible by attributes
from B .
Hence x ind(A)y i InfA (x) = InfA (y).
In the paper we consider a special case of information systems called decision
tables [20]. In any decision table with a set of attributes a partition of that set
into conditions and decisions is given. For our purposes it will be sucient to
consider decision tables with one decision only because one can always transform
a decision table with more than one decision into a decision table with exactly
one decision by simple coding. One can interpret a decision attribute as a sort
of a classication of the universe of objects given by an expert (decision-maker,
operator, physician, etc.). We adopt the following denition:
A decision table is any information system of the form S = (U; A [ fdg),
where d 2= A is a distinguished attribute called decision. The elements of A are
4
called conditional attributes (conditions). The cardinality of the image
d(U ) = fk : d(u) = k for some u 2 U g
is called the rank of d and is denoted by r(d). We assume that the set Vd of
values of the decision d is equal to f1; :::; r(d)g. Let us observe that the decision
d determines a partition fX1; :::; Xr(d)g of the universe U , where Xk = fu 2 U :
d(u) = kg for 1 k r(d). The set Xi is called the i-th decision class of S .
Any decision table S = (U; A [ fdg) can be represented by a data table
with the number of rows equal to the cardinality of the universe U and the
number of columns equal to the cardinality of the set A [ fdg. On the position
corresponding to the row u and column a the value a(u) appears.
Example 1. Let us consider an example of a decision table S = (U; A [ fdg)
dened by the data table presented in Table 1.
U=A
u1
u2
u3
u4
u5
a
1
0
2
0
1
b
0
0
0
0
1
c
1
0
1
1
1
d
0
1
0
2
0
Table 1. An example of a decision table
In the example we have U = fu1; u2 ; u3 ; u4; u5 g; A = fa; b; cg. The decision
is denoted by d. The possible values of attributes (conditions and the decision)
from A [ fdg are equal to 0,1 or 2 and r(d) = 3. The decision d denes a
partition fX1 ; X2 ; X3 g of U , where X1 = fu1; u3 ; u5g; X2 = fu2 g; X3 = fu4g.
Let S = (U; A) be an information system, where A = fa1 ; :::; am g. Pairs
(a; v), where a 2 A; v 2 V are called descriptors. By DESC(A; V ) we denote
the set of all descriptors over A and V . Instead of (a; v) we also write a = v or
av .
The set of terms over A and V is the least set containing descriptors (over
A and V ) and closed with respect to the classical propositional connectives: :
(negation), _(disjunction), and ^ (conjunction), i.e. if ; 0 are terms over A
and V then :; ( ^ 0 ); ( _ 0 ) are terms over A and V . The meaning k kS
or in short k k of a term in S is dened inductively as follows:
k (a; v) k= fu 2 U : a(u) = vg for a 2 Aand v 2 Va ;
k _ 0 k=k k [ k 0 k; k ^ 0 k=k k \ k 0 k; k : k= U ? k k :
5
Two terms and 0 are equivalent, , 0 i k k=k 0 k. In particular we
have:
_
:(a = v) , fa = v0 : v0 6= v and v0 2 Va g:
2.2 Rules in Decision Tables
Rules express some of the relationships between values of the attributes described in decision tables. This section contains the denition of rules as well
as other related concepts.
Let S = (U; A) be an information system and B A. For every a 2= B we
dene a function dBa : U ! P (Va ) such that
dBa (u) = fv 2 Va : 9u0 2 U [u0 ind(B )u and a(u0 ) = v]g;
where P (Va ) denotes the powerset of Va .
Hence, dBa (u) is the set of all the values of the attribute a on objects indiscernible with u by attributes from B . If the set dBa (u) has only one element,
this means that the value a(u) is uniquely dened by the values of attributes
from B on u.
A rule over A and V is any expression of the following form:
(1)
ai1 = vi1 ^ ::: ^ ai = vi ) ap = vp
where ap ; ai 2 A; vp ; vi 2 Va for j = 1; :::; r.
A rule of the form 1 is called trivial if ap = vp appears also on the left hand
side of the rule. The rule 1 is true in S (or in short: is true) if
6=k ai1 = vi1 ^ ::: ^ ai = vi k k ap = vp k :
The fact that the rule 1 is true in S is denoted in the following way:
(2)
ai1 = vi1 ^ ::: ^ ai = vi =S)ap = vp :
By D(S ) we denote the set of all rules true in S .
Let S = (U; A [ fdg) be a decision table. A rule ) d = v, where is a
term over A and V , d ? a decision of S; v 2 Vd , is called a decision rule.
j
j
r
r
r
r
r
r
ij
We apply here the Boolean reasoning approach to rule generation [28].
The Boolean reasoning approach [3], due to G. Boole, is a general problem
solving method consisting of the following steps: (i) construction of a Boolean
function corresponding to a given problem; (ii) computation of prime implicants
of the Boolean function; (iii) interpretation of prime implicants leading to the
solution of the problem.
It turns out that this method can be also applied to the generation of rules
with certainty coecients [28]. Using this approach one can also generate sets
of rules being outputs from some algorithms known in machine learning, like
AQ-algorithms [16], [30].
6
2.3 Reducts in Information Systems
Let S = (U; A) be an information system. Any minimal subset B A such that
ind(A) = ind(B ) is called a reduct in the information system S . The set of all
reducts in S is denoted by RED(S ). The intersection of all the reducts in S is
called the core of S .
Now we recall two basic notions, namely those of discernibility matrix and
discernibility function [29], which will help to compute minimal forms of rules
with respect to the number of attributes on the left hand side of the rules.
Let S = (U; A) be an information system, and let us assume that U =
fu1; :::un g, and A = fa1 ; :::; am g. By M (S ) we denote an nn matrix (cij , called
the discernibility matrix of S , such that cij = fa 2 A : a(ui ) 6= a(uj )g for 1; j =
1; :::; n:
Intuitively an entry cij consists of all the attributes which discern objects
ui and uj . Since M (S ) is symmetric and cii = for i = 1; :::; n; M (S ) can be
represented using only elements in the lower triangular part of M (S ), i.e. for
1 j < i n.
With every discernibility matrix M (S ) we can uniquely associate a discernibility function fM (S) , dened in the following way:
A discernibility function fM (S) for an information system S is a Boolean
function of m propositional variables a1 ; :::;Wam (where aWi 2 A for i = 1; :::; m )
dened as the conjunction of all expressions cij , where cij is the disjunction
of all elements of cij = fa : a 2 cij g, where 1 j < i n and cij 6= . In the
sequel we write a instead of a .
It can be shown [29] that the set of all prime implicants of fM (S) determines
the set RED(S ) of all reducts of S , i.e. ai1 ^ ::: ^ ai is a prime implicant of
fM (S) i fai1 ; :::; ai g 2 RED(S ).
Below we present a procedure for computing reducts [29].
k
k
Procedure for computing RED(S) :
Step 1. Compute the discernibility matrix M (S ) for the system S .
Step 2. Compute the discernibility function fM (S) associated
with the discernibility matrix M (S ).
Step 3. Compute the minimal disjunctive normal form of the
discernibility function fM (S) (The normal form of
the function yields all the reducts).
One can show that the problem of nding a minimal (with respect to cardinality) reduct is NP-hard [29]. In general the number of reducts of a given
information system can be exponential with respect to the number of attributes.
Nevertheless, existing procedures for reduct computation are ecient in many
practical applications and for more complex cases one can apply some ecient
heuristics (see e.g. [1]).
7
U
u1
u2
u3
u4
u5
u1
u2
u3
u4
a; c; d
a
a; d
b
a; c; d
c; d
a; b; c; d
a; d
a; b
a; b; d
u5
Table 2. The discernibility matrix M (S ) for the decision table S from Example 1
Example 2. For the decision table S from Example 1 we obtain the following discernibility matrix M (S ) presented in Table 2 and discernibility function
fM (S) presented below:
fM (S) (a; b; c; d) = a ^ b ^ (a _ b) ^ (a _ d) ^ (c _ d) ^ (a _ b _ d) ^ (a _ c _ d) ^ (a _ b _ c _ d):
After simplication (using the absorption laws) we get the following minimal
disjunctive normal form of the discernibility function
fM (S) (a; b; c; d) = a ^ b ^ (c _ d) = (a ^ b ^ c) _ (a ^ b ^ d):
There are two reducts: R1 = fa; b; cg and R2 = fa; b; dg of this decision
table. Thus RED(S )= fR1 ; R2 g.
2.4 Generalized Decisions and Relative Reducts in Decision Tables
If S = (U; A [ fdg) is a decision table then we dene a function
A : U ! P (f1; :::; r(d)g);
called the generalized decision in S , by
A (u) = fi : there exists u0 2 U u0 ind(A)u and d(u) = ig:
A decision table S is called consistent (deterministic) if card (A (u)) = 1 for
any u 2 U , otherwise S is inconsistent (non-deterministic).
A subset B of the set A of attributes of a decision table S = (U; A [fdg) is a
relative reduct of S i B is a minimal set with the following property: B = A .
The set of all relative reducts in S is denoted by RED(S; d).
2.5 Rules in Inconsistent Decision Tables
Let us now consider inconsistent decision tables. One can transform an arbitrary
inconsistent decision table S = (U; A [ fdg) into a consistent decision table
8
S = (U; A [ fAg) where A U ! P (f1; :::; r(d)g) is the generalized decision
in S dened in Section 2.4 It is easy to see that S is a consistent decision table.
Hence one can apply to S the methods for rule synthesis presented in Section
3.
2.6 Rough Set Methods for Data Reduction and Extraction of Rules
Reducts oer the same classicational possibilities as the whole system, but they
require a smaller set of attributes. However, this approach not being sucient,
we have implemented additional tools, like e.g. dynamic reducts and rules [1].
The underlying idea of dynamic reducts stems from the observation that
reducts generated from an information system are not stable in the sense that
they are sensitive to changes introduced to the information system by removing
a randomly chosen set of objects. The notion of a dynamic reduct encompasses
stable reducts, i.e. reducts that are most frequent in random samples created
by subtables of the given decision table [1]. We show here how dynamic reducts
can be computed from reducts and how dynamic rules can be generated from
dynamic reducts. Dynamic reducts have shown their utility in various experiments with data sets of various kinds e.g. marked data [12], monk's problems
[17], hand-written digit recognition [2] or medical data [1].
The quality of unseen object classication by rules generated from dynamic
reducts increases especially when data are very noisy, like market data [12].
In all the tested cases we have obtained a substantial reduction of the rule set
without decreasing the quality of the classication of unseen objects. The results
of experiments with dynamic reducts show that attributes from these reducts
can be treated as relevant features [1].
To capture the fact that some reducts are chaotic, we consider random samples forming subtables of a given decision table S = (U; A [ fdg). We shall call
a subtable of S any information system S 0 = (U 0 ; A [ fdg) such that U 0 U .
Let F be a family of subtables of S and let " be a real number from the unit
interval [0,1].
The set DR" (S; F ) of (F; ")-dynamic reducts is dened by
0 2 F : C 2 RED(S 0 ; d)g j
j
f
S
1?"
DR" (S; F ) = C 2 RED(S; d) :
jF j
S ;d)gj is called the stability
For C 2 RED(S 0 ; d), the number jfS 2F : C 2jFRED(
j
coecient of C relative to F .
We present one of the existing techniques for computing dynamic reducts
[1]. Experiments with dierent data sets have shown that this type of dynamic
reducts allows to generate rules with better quality of classication of new objects than the other methods. The method consists in the following.
0
9
0
Step 1: A random set of subtables is taken from the given table;
for example,
10 samples of the size of 90% of the decision table,
10 samples of the size of 80% of the decision table,
10 samples of the size of 70% of the decision table,
10 samples of the size of 60% of the decision table,
10 samples of the size of 50% of the decision table.
Step 2: Reducts for all of these tables are calculated; for example,
reducts for any of the 50 randomly chosen tables.
Step 3: Reducts with stability coecients higher than a xed
threshold are extracted.
The reducts selected in step 3 are regarded as true dynamic reducts.
One can compute dynamic reducts using approximations of reducts [1] instead of reducts.
If a set of dynamic reducts (with stability coecients greater than a given
threshold) has been computed, it is necessary to decide how to compute the set
of rules. We have implemented several
S methods. The rst is based on the (F; ")dynamic core of S , i.e. on the set DR " (S; F ). We apply the methods based
on Boolean reasoning presented in [22], [28] to generate rules (with a minimal
number of descriptors) from conditional attributes belonging to the dynamic
core. The second method is based on the rule set construction for any chosen
dynamic reduct. The nal rule set is equal to the union of all these sets. In
our experiments we have received somewhat better results of tests by applying
the second method. If an unseen object has to be classied, it is rst matched
against all the rules from the constructed rule set. Next the nal decision is
predicted by applying some strategy predicting the nal decision from all the
"votes" of the rules. The simplest strategy we have tested was the majority
voting, i.e. the nal decision is the one supported by the majority of the rules.
The proper decision can be also predicted by an application of fuzzy methods.
The idea of dynamic reducts can be adjusted to a new method of dynamic
rule computation. From a given data table a random set of subtables is chosen.
For example:
10 samples of the size of 90% of the decision table,
10 samples of the size of 80% of the decision table,
10 samples of the size of 70% of the decision table,
10 samples of the size of 60% of the decision table,
10 samples of the size of 50% of the decision table.
Thus we receive 50 new decision tables. Then the rule sets for all these
tables are calculated. In the next step a rule memory is constructed where all
rule sets are stored. Intuitively, a dynamic rule appears in all (or almost all)
experimental subtables. The rules can be also computed from the so-called local
10
reducts used to generate rules with a minimal number of descriptors [22].
Several experiments performed with dierent data tables (see [1], [2]) show
that our strategies for decision algorithm synthesis increase the quality of unseen object classication or/and allow to reduce the number of rules without
decreasing classication quality.
3 Minimal Rules in Decision Tables
In this section we present a method for generating the minimal form of rules
(i.e. rules with a minimal number of descriptors on the left hand side).
Let S = (U; A [ fdg) be a decision table and d 2= A. We are looking for all
minimal rules in S of the form:
(3)
ai1 = vi1 ^ ::: ^ ai = vi =S)ap = vp :
where a 2 A [ fdg; v 2 Va ; ai 2 A, and vi 2 Va for j = 1; :::; r.
The above rules express functional dependencies between the values of the
conditional attributes of S as well as functional dependencies between the values
of the conditional attributes of S and the values of the decision attribute of S .
These rules are computed from systems of the form S 0 = (U; B [ fag) where
B A and a 2 A ? B or a = d.
First, for every v 2 Va ; ul 2 U such that dBa (ul ) = fvg a modication M (S 0 ; a; v; ul) of the discernibility matrix is computed from M (S 0 ). By
M (S00 ; a; v; ul) = (cij , (or M , in short) we denote the matrix obtained from
M (S ) in the following way:
if i 6= l then cij = ;
if clj 6= and dBa (uj ) 6= fvg then clj = clj \ B else clj = :
Next, we compute the discernibility function fM and the prime implicants
[35] of fM taking into account the non-empty entries of the matrix M (when
all entries cij are empty we assume fM to be always true).
Finally every prime implicant ai1 ^ ::: ^ ai of fM determines a rule ai1 =
vi1 ^ ::: ^ ai = vi =S)a = v, where ai (ul ) = vi1 for j = 1; :::; r; a(ul ) = v
The set of all rules constructed in this way for any a 2 A [ fdg is denoted
by OPT(S; a).
S
We put OPT(S ) = fOPT(S; a) a 2 A [ fdg:
Let us observe that if ai1 = vi1 ^ ::: ^ ai = vi =S)ap = vp is a rule from
OPT(S ), then U \ k ai1 = vi1 ^ ::: ^ ai = vi kS 6= :
For any a 2 A [fdg and u 2 U we take B = A, if a = d; B = (A [fdg) ?fag
otherwise and we take v = a(u).
We compute all minimal rules true in S 0 = (U; B [ fag) of
S the form )
a = v, where is a term in disjunctive form over B and VB = a2B Va , with a
minimal number of descriptors in any disjunct. To obtain all possible functional
dependencies between the attribute values it is necessary to repeat this process
for all possible values of a and for all remaining attributes from A [ fdg.
r
r
ij
j
j
r
r
r
j
r
r
11
r
r
Example 3. Let us consider the decision table S from Example 1 and the
discernibility function for S presented in Table 2. We compute the set of rules
corresponding to nontrivial functional dependencies between the values of conditions and the decision values as well as the set of rules corresponding to functional dependencies between the values of conditions of that decision table. In
both cases we apply the method presented above.
Let us start by computing the decision rules corresponding to the conditions
A = fa; b; cg and the decision d.
We have the decision table S = (U; A [ fdg) from which we compute the
decision rules mentioned above:
U=A
u1
u2
u3
u4
u5
a
1
0
2
0
1
b
c
0
0
0
0
1
1
0
1
1
1
d
0
1
0
2
0
dAd
f0g
f1g
f0g
f2g
f0g
Table 3. The decision table from Example 1 with the function dAd .
In the table the values of the function dAd are also given. The discernibility
matrix M (S ; d; v; ul ) where v 2 Vd ; ul 2 U; l = 1; 2; 3; 4; 5; obtained from M (S )
in the above way is presented in Table 4.
U
u1
u2
u3
u4
u5
u1
a; c
a
u2
a; c
u3
a; c
a; c
c
a; b; c
a
u4
a
c
a
a; b
u5
a; b; c
a; b
Table 4. The discernibility matrix M (S ; d; v; ul ) for the matrix M (S )
The discernibility functions corresponding to the values of the function dAd
are the following:
Case 1. For dAd (u1 ) = f0g : (a _ c) ^ a = a.
We consider non-empty entries of the column labelled by u1 (see Table 4),
i.e. a; c and a; next, a; c are treated as Boolean variables and the disjunctions
a _ c and a are constructed from these entries; nally, we take the conjunction of
all the computed disjunctions to obtain the discernibility function corresponding
12
to M (S ; d; 0; u1).
Case 2. For dAd (u2 ) = f1g : (a _ c) ^ (a _ c) ^ c ^ (a _ b _ c) = c.
Case 3. For dAd (u3 ) = f0g : (a _ c) ^ a = a.
Case 4. For dAd (u4 ) = f2g : a ^ c ^ a ^ (a _ b) = a ^ c.
Case 5. For dAd (u5 ) = f0g : (a _ b _ c) ^ (a _ b) = a _ b.
Hence we obtain the following decision rules:
a1 _ a2 _ b1 =S)d0 ; c0 =S)d1 ; a0 ^ c1 =S)d2 :
Now we compute the rules corresponding to nontrivial functional dependencies
between condition values of the decision table.
We have the following three subsystems (U; B [ fcg); (U; C [ fbg); (U; D [
fag) of S , where B = fa; bg; C = fa; cg, and D = fb; cg, from which we compute
the rules mentioned above:
U=B
u1
u2
u3
u4
u5
a
1
0
2
0
1
b
0
0
0
0
1
c
1
0
1
1
1
dBc
f1g
f 0,1 g
f1g
f 0,1 g
f1g
Table 5. The subsystem (U; B [ fcg) with the function dBc , where B = fa; bg:
U=C
u1
u2
u3
u4
u5
a
1
0
2
0
1
c
1
0
1
1
1
b
0
0
0
0
1
dCb
f 0,1 g
f0g
f0g
f0g
f 0,1 g
Table 6. The subsystem (U; C [ fbg) with the function dCb , where C = fa; cg:
13
U=D
u1
u2
u3
u4
u5
b
1
0
0
0
1
c
1
0
1
1
1
a
0
0
2
0
1
dDa
f 0,1,2 g
f0g
f 0,1,2 g
f 0,1,2 g
f1g
Table 7. The subsystem (U; D [ fag) with the function dDa , where D = fb; cg:
In the tables the values of the functions dBc ; dCb , and dDa are also given.
The discernibility functions corresponding to the values of these functions
are the following:
Table 5. Case 1. For dBc (u1 ) = f1g : a.
Case 2. For dBc (u3 ) = f1g : a.
Case 3. For dBc (u5 ) = f1g : a _ b.
Table 6. Case 1. For dCb (u2 ) = f0g : a _ c.
Case 2. For dCb (u3 ) = f0g : a.
Case 3. For dCb (u4 ) = f0g : a.
Table 7. Case 1. For dDa (u2 ) = f0g : c ^ c ^ (b _ c) = c.
Case 2. For dDa (u5 ) = f1g : (b _ c) ^ b ^ b = b.
Hence we obtain the following rules:
From Table 5: a1 _ a2 _ b1 =S)c1 .
From Table 6: a0 _ a2 _ c0 =S)b0 .
From Table 7: c0 =S)a0 ; b1=S)a1 .
Eventually, we obtain the set OPT(S ) of rules corresponding to all nontrivial
functional dependencies in the considered decision table S :
a1 _ a2 _ b1 =S)d0 ; c0 =S)d1 ; a0 ^ c1 =S)d2 ; a1 _ a2 _ b1 =S)c1 ;
a0 _ a2 _ c0 =S)b0 ; c0 =S)a0 ; b1 =S)a1 :
Our approach to rule generation is based on procedures for the computation
of reduct sets. It is known that in general the reduct set can be of exponential
complexity with respect to the number of attributes (conditions). Moreover the
minimal reduct problem is NP-hard. Nevertheless, there are several methodologies allowing to deal with this problem in practical applications. Among them
are the feature extraction techniques or clustering methods known in pattern
recognition [18] and machine learning [16], allowing to reduce the number of
attributes or objects so that the rules can be eciently generated from them.
Another approach is suggested in [1]. It leads to the computation of only the
14
most stable reducts from the reduct set in a sampling process of a given decision
table. The rules are produced from these stable reducts only. This last technique can be treated as relevant feature extraction from a given set of features.
The result of the above techniques applied to a given decision table is estimated
as successful if rules can be eciently generated from the resulting compressed
decision table by the Boolean reasoning method and if the quality of the classication of unseen objects by these rules is suciently high. We assume that the
decision tables which create inputs for our algorithm satisfy those conditions.
4 Attribute Value Propagation
We present in this section the denition of a computation set for an information
system S . We shall show later how this set of computations can be simulated
by a network formed by a Petri net corresponding to S .
Computations of S represent sequences of congurations. The conguration
following a given one (dierent from terminal) in the sequence is constructed
by applying new measurement results of attribute values or by applying the
knowledge encoded in the rules from D(S ).
If inf 2 INF(S ), where S = (U; A [ fdg) is a decision table and B A, then
by inf j B we denote the restriction of inf to B , i.e. f(a; v) 2 inf: a 2 B g. By
PART INF(S ) we denote the set of all restrictions of information vectors from
S . Elements of PART INF(S ) are called congurations.
The empty function infj will be interpreted as the starting conguration.
We construct extensions of a conguration infj B 2 PART INF(S ) which
are obtained by appending some pairs (a; v) to infj B , where a 2 A ? B and v
is either the result of a new measurement or is calculated by applying all rules
from D(S ) active in the conguration infj B .
We introduce two transition relations on congurations which allow to dene
precisely the above idea.
inf TM inf' i inf inf' and inf' is consistent with D(S ),
inf TR inf' i inf' = inf [f(a; v) : there exists a rule r in D(S ) active in inf
with the right hand side equal to a = vg.
We write inf T inf' i inf TM inf' or inf TR inf'. By COMP(S ) we denote
the set of all nite sequences inf(0), inf(1), ..., inf(k) of congurations such that:
15
(i)
(ii)
inf(0) is the starting conguration;
inf(0) TM inf(1),
inf(1) TR inf(2),
inf(2p-1) TM inf(2p),
inf(2p) TR inf(2p+1),
inf(k-1) T inf(k);
(iii) d occurs in inf(k) but not in inf(i) for i < k (inf(k) is called the of
COMP(S ) are called S-computations terminal conguration). The
elements (or computations of S ) and they are denoted by com.
5 Petri Nets
Petri nets are useful for describing and analyzing the structure of systems and
the information ow in them [24].
In this paper Petri nets are used as a tool for computing a highly parallel
program from a given decision table. After modeling a decision table by a Petri
net states are identied in the net to an extent allowing to take the appropriate
decisions.
At rst, we recall some basic concepts from Petri net theory.
A Petri net contains two types of nodes, circles P (places) and bars T (transitions). The relationship between the nodes is dened by two sets of relations:
denes the relationship between places and transitions, and denes the relationship between transitions and places. The relations between nodes are represented by directed arcs. A Petri net N is dened as a quadruple N = (P; T; ; ).
Such Petri nets are called ordinary.
A marking m of a Petri net is an assignment of black dots (tokens) to the
places of the net for specifying the state of the system. The number of tokens in a
place pi is denoted by mi and then m = (m1 ; ; ml ), where l is the total number
of places of the net. The initial distribution of tokens among the places is called
the initial marking and is denoted by M . A Petri net N with an initial marking
M is called a marked Petri net and is denoted by (N; M ). Input and output
places of a transition are those which are initial nodes of an incoming or terminal
nodes of an outgoing arc of the transition, respectively. The dynamic behaviour
of the system is represented by the ring of the corresponding transition, and
the evolution of the system is represented by a ring sequence of transitions.
We assume that nets constructed in the paper act according to the following
transition (ring) rules:
Rule 1 :
1. A transition t is enabled if and only if each input place p of t is marked
by one token.
16
2. A transition can re only if it is enabled.
3. When a transition t res, a token is removed from each input place p of
t, and t adds a token to each output place p0 of t, if the marking of p0 is equal
to 0; otherwise the marking of p0 is not changed.
Rule 2 :
Conditions 1 and 2 of Rule 1 remain unchanged. Condition 3 now has the
form:
3'. When a transition t res, tokens remain at input places p of t (i.e. t only
reads tokens from input places), and t adds a token to each output place p0 of
t, if the marking of p0 is equal to 0; otherwise the marking of p0 is not changed
[15].
We also assume that if several transitions are simultaneously enabled in the
same marking (i.e. transitions are concurrent) then they can be red by an
application of Rule 2 in one and the same step and the resulting marking is
computed according to this rule. If (by application of Rule 1) the ring of
a transition t disables an enabled transition t0 , where t0 6= t (conict), the
transition to re is chosen at random among enabled transitions.
In the Petri nets constructed in the paper we distinguish two types of transitions. The rst type (with ring Rule 1) will correspond to sensors and the
second (with ring Rule 2) to transitions transmitting information about identied local states throughout the net.
A marking m0 is said to be reachable from a marking M if there exists a
sequence of rings that transforms M to m0 . The set of all possible markings
reachable from M in a net N is called the M-reachability set of N .
We also recall an extension of the Petri net model. Petri nets with priorities
have been suggested by [10]. Priorities can be associated with transitions so
that if t and t0 are both enabled, then the transition with the highest priority
will re rst.
In the paper we only use ordinary Petri nets with priorities. All markings are
binary, i.e. m(p) 2 f0; 1g for any place p. We shall assume that there are only
transitions with two dierent priorities: 0 and 1. All transitions corresponding
to decisions have priority 1, and all the remaining - 0.
We assume that in the nets considered in the paper transitions can be red at
discrete moments of time: 0, 1, 2,... . This additional timer which synchronizes
transition ring can be easily implemented by connecting the presented nets with
a special synchronizing module simulating a time clock. This modication allows
to restrict transition ring only to discrete moments of time pointed out by the
synchronizing module. We also assume that the period of the synchronizing
clock is xed (equal to ).
For more detailed information about Petri nets we refer the reader to [24].
17
6 Transformation of Decision Tables into Petri
Nets
Now we present a method for transforming rules representing a given decision
table into a Petri net.
In Section 7 we show that the constructed net simulates the set COMP(S )
of computations. The denition of simulation is presented in Section 7.
The method of a Petri net construction for a given decision table is described
in three stages. First, a method for constructing a net representing the set of
all conditions of a given decision table is described. Then, the net obtained in
the rst stage is extended by adding the elements (arcs and transitions) of the
net dened by a set of rules created on the basis of all nontrivial functional
dependencies between the condition attribute values of a given decision table.
Finally, we add to the net obtained in the above two steps the transitions and
arcs representing the rules corresponding to all nontrivial functional dependencies between the condition attribute values and the decision values represented
by the table. Such an approach makes the appropriate construction of a net
much more readable.
Let S = (U; A [ fdg) be a decision table, and let Va = fv1 ; ; vk(a) g be a
nite set of values for a 2 A.
Stage 1: The construction of a net representing the set of all conditions of
a given decision table.
A net corresponding to any condition a 2 A has the structure and the initial
marking presented in Figure 1.
rmas
Q
+ b b b QQQs
?ma
?mak a
1
( )
Figure 1. The net corresponding to a condition with an initial marking
The place as is called the start place of the condition a. The remaining
places of the net represent possible values of the condition a. The transitions
of the net represent the process of identifying the values of the condition a. Let
us observe that only the start place as is marked in the initial marking of the
net. The transitions are labeled by values in the time interval [0; +1) and a
positive integer that the time necessary to re these transitions is n , where
18
n is unknown. Let us note that if the enabled transition corresponding to a
distinguished condition is considered at any time k and there is no other
enabled transition in the net, then that transition need not re.
In the example which follows we illustrate the rst stage of the method for
the decision table from Example 1.
Example 4. Let us consider again the decision table from Example 1. The
conditions a, b, and c are represented by the nets shown in Figure 2.
r bs
m
r as
m
QQ
+ ? QQ
s
?
ma
0
?
ma
1
?
ma
2
J
J^
?mb
?mb
0
1
r cs
m
J
J^
?mc
?mc
0
1
Figure 2. Nets representing conditions a, b, and c
Stage 2: The construction of a net representing a set of rules corresponding
to all nontrivial functional dependencies between the condition attribute values
of a given decision table.
The rules in this case are of the form:
(1) p1 ^ ^ pk =S)r, where k > 1, or
(2) p=S)r.
By p1 ^ ^ pk _ q1 ^ ^ ql =S)r we shall denote the set of rules
p1 ^ ^ pk =S)r; ; q1 ^ ^ ql =S)r:
The nets representing the rules (1) and (2) are illustrated in Figures 3 and
4, respectively.
p1
m b b b mpk
@@R ??
?mr
Figure 3. Net representation of rules. Case (1): p1 ^ ^ pk =S)r, where
k > 1.
19
p
?m@@@R m
r
Figure 4. Net representation of rules. Case (2): p=S)r.
Example 5. Let us consider at rst the following rules obtained in Example
3 for the decision table from Example 1:
a1 _ a2 _ b1 =S)c1 ; a0 _ a2 _ c0 =S)b0 ; c0 =S)a0 ; b1 =S)a1 ;
In Figure 5 a net (N1 ; M1 ) representing the above rules is shown.
r as
m
QQ
+ ? QsQ
?ma ?ma ?ma
6 6
0
1
2
?
%
- m
bs
H
rm?? jH m
b
@@
R - m&
1
b0
I@@ m
r cs
??
m
c1
c0
Figure 5. Net representation of rules from Example 5
Stage 3: The construction of a net representing the rules corresponding
to all nontrivial functional dependencies between the condition attribute values
and the decision values represented by a given decision table.
In this case the rules have the form (1) or (2). The construction of a net
representing this kind of rules is analogous to the case of the construction of a
net for rules described in Stage 2. It is worth mentioning that the number of
20
new transitions added in Stage 3 is equal to the number of rules corresponding
to the decision of the given decision table, i.e. card(OPT(S; d)). Besides, to
simplify the constructed nets, we do not draw the places corresponding to the
values of the decision d of a given decision table.
In the example which follows we illustrate the method described above.
Example 6. Let us now consider the rules corresponding to all nontrivial dependencies between the attribute values of the conditions a; b; c and the decision
values d of the decision table from Example 1:
a1 _ a2 _ b1 =S)d0 ; c0 =S)d1 ; a0 ^ c1 =S)d2 :
We start from the nets constructed in Example 4 for the considered decision
table. The resulting net (N2 ; M2 ) of our construction is shown in Figure 6.
+
?ma
?
6d
0
r as
m
QQ
? QsQ
?ma ?ma
?
?
1
2
cs
rm??
-m
c1
@@
R - mc0
2
d0
d0
d0
m
d1
I@@ m
r bs
m ??
b1
b0
Figure 6. Net representation of conditions a; b; c together with all nontrivial
dependencies between them and the decision d
Now if we combine the nets (N1 ; M1 ) and (N2 ; M2 ) from Figures 5 and 6,
we obtain the net (N3 ; M3) corresponding to the decision table from Example
1.
At the end of this section we describe how the resulting net (NS ; MS )
constructed as above should work. The net (NS ; MS ) starts from the initial
marking in which any start place as for the condition a is marked by 1 and all
the other places are marked by 0. (This marking describes the situation when
there no value of the condition a is identied.)
21
Starting from the initial marking the net (NS ; MS ) performs the computation in steps described below.
T: TIME:=0;
A: if (there is an enabled transition for the decision)
then re it and go to RESTART;
TIME:=TIME+ ;
B: Check if some values of conditions have been identied by sensors.
if (the set of identied values of conditions is non-empty)
then re all transitions for corresponding conditions and put tokens
in places representing those identied values;
C: if (there is an enabled transition for the decision)
then re it and go to RESTART;
D: re all enabled transitions corresponding to rules and go to A;
RESTART: Restart the initial marking of the net and go to T.
In the next section we shall study a fundamental property of the Petri net
(NS ; MS ) constructed as above for a given decision table.
7 A Fundamental Property of the Petri Net for
State Identication
The algorithm described in Section 6 has a simple structure. Any nite computation of the constructed net can be divided into a nite number of segments.
Each segment has two phases. In the rst phase the values measured by sensors are caught by the net. In the second phase this information is transmitted
throughout the net. This step is performed at very high speed by the part of
the net which is an implementation of rules true in S .
We assume that outputs of sensors are measured at discrete moments of
time ; 2; ::: and the information propagation time throughout the part corresponding to rules is less than .
The computation ends when the decision is computed. After that the net is
restarted. Our solution is minimal in the following sense: for an arbitrary nite
computation the number of values of conditions identied by sensors necessary
for decision taking is minimal. In consequence, the decision can be taken by
the net after n units of time, each of length , and n is the smallest number
with that property. Now we are going to present in a more formal way the
computation property of the constructed nets described above.
The set P of places (dierent from "clock" places) in the net (NS ; MS )
constructed for a decision table S can be presented
S as the union of two disjoint
sets: I and V , where I = fas : a 2 A and V = a2Afa = j : j 2 Va g.
Each marking m of the net (NS ; MS ) can be presented in a unique way as
the union mI [ mV where mI and mV are the restrictions of m to I and V ,
22
respectively.
We now introduce two transition relations, namely, the input transition relation INPUT(S ) and the message transition relation MT(S ) of (NS ; MS ). Both
are binary relations in the set of all markings m of (NS ; MS ) such that the
information
V X = f(a; j ) : mV (a = j ) = 1g is consistent with any rule true in
S , i.e. if Y =S)a = j; y X and a occurs in X , then (a; j ) 2 X .
We assume that m INPUT(S ) m0 if and only if for any a 2 A the following
condition holds:
mI (as ) = 1 & m0I (as ) = 0 & 9!j 2 Va m0V (a = j ) = 1
& mV (a = j ) = 0 &8i 6= j mV (a = j ) = m0V (a = j ) _ mI (as ) = m0I (as )
&8j 2 Va m0V (a = j ) = mV (a = j )
The meaning of these conditions is illustrated in Figures 7, 8 and 9.
as
as
rH
m
H
a a a ? a Ha aHHj
?
?
?m
m
m
a1
aj
S
INPUTS( )
ak(a)
mH
H
a a a ? a Ha aHHj
?m
?m
r?m
a1
aj
ak(a)
Figure 7. Case 1: m INPUT(S ) m0 and m 6= m0 .
as
as
rH
m
HH
a a a ? a a aHHj
?
?
?m
m
m
a1
aj
S
INPUTS( )
ak(a)
rH
m
HH
a a a ? a a aHHj
?m
?m
?m
a1
Figure 8. Case 2: m INPUT(S ) m0 and m = m0 .
23
aj
ak(a)
as
as
mH
HH
a a a ? a a aHHj
?
?
?m
r
m
m
a1
aj
S
INPUTS( )
ak(a)
rH
m
HH
a a a ? a a aHHj
?m
?m
?m
r
a1
aj
ak(a)
Figure 9. Case 3: m INPUT(S ) m0 and m = m0 .
The second transition relation is dened by:
mMT(S )m0 , mI = m0I & 8(a; j ) 2 DESC(A; V )
[8X DESC(A; V ) (8x 2 X (mV (x) = 1)
^
&( X =S)a = j ) ) m0V (a = j ) = 1)
&:9X DESC(A; V )(8x 2 X (mV (x) = 1)
^
&( X =S)a = j )) ) (m0V (a = j ) = mV (a = j ))]:
Hence mMT(S )m0 means that all dierences between m0 and m are due to
some rules true in S .
A nite computation of (NS ; MS ) is any nite sequence (m(0); :::; m(k)) of
its markings such that
(1) m(0) is the initial marking, i.e. m(0)
I (as ) = 1 for a 2 A
(0)
and mV (x) = 0 for x 2 V ;
(2) m(k) is a terminal marking, i.e. there exists an enabled transition corresponding
to the decision;
(3) m(i) (INPUT(S );MT(S ))m(i+1) for i = 0; :::; k ? 1, where denotes
composition of binary relations.
It follows from our assumption that the transition from a marking m(i) to
takes less than units of time.
In Section 6 we have presented an algorithm for constructing a Petri net
(NS ; MS ) corresponding to a given S . The constructed Petri net simulates the
set COMP(S ) of computations and now we are going to explain this in more
detail.
We dene a one-to-one coding function code mapping congurations of S to
markings of (NS ; MS ):
mi
( +1)
24
code(inf) = m i [(a; v) 2inf i the place labeled by a = v is marked in m]
& for any a: [aS is marked in m i a does not occur in inf ].
The function code can be extended to sequences of congurations by code(inf,...)
= (code(inf),...).
Theorem 1. Let S = (U; A[fdg) be a given decision table and let (NS ; MS )
be the Petri net corresponding to S constructed by the algorithm presented above.
Then we have COMP (NS ; MS ) = fcode(com) : com 2 COMP (S )g.
Proof: One can verify that:
(i) inf TM inf' i code(inf) INPUT(S ) code(inf'),
(ii) inf TR inf' i code(inf) MT(S ) code(inf')
(iii) (d; v) is in inf i the place labelled by d = v is marked in code(inf).
Hence by induction on the length of computations we obtain our theorem.
We also obtain the following property of (nite) computations of (NS ; MS ):
Theorem 2. Let (m(0) ; :::; m(k)) be an arbitrary nite computation of (NS ; MS ).
Then
V
1. The decision rule fa = j : m(Vk) (a = j ) = 1 & a 2 Ag ) d = r,
where dr is the enabled
in m(k) , is true in S .
V transition
2. For any j<k and r fa = p : m(Vj) (a = p) = 1 & a 2 Ag ) d = r
is not true in S .
8 Conclusions
The presented algorithm allows a very fast identication of objects specied in
a given decision table. Nevertheless, some parts of the constructed net can be
redundant, i.e. unnecessary for taking proper decisions and slowing down the
process of decision taking.
The basic problem for real-time knowledge based control algorithms [25] is
related to the time/space trade-o. For example, if there is not enough memory
to store the parallel network representing knowledge encoded in a given decision
table, it is necessary to reduce it, which can lead to an increase of time necessary
for making decisions. Another interesting problem arises when decision tables
change with time and the constructed net ought to be modied by applying
some strategies discovered during the process of changes. These are examples
of problems which we would like to investigate applying the approach presented
in the paper.
25
References
[1] Bazan, J., Skowron, A., Synak, P. (1994). "Dynamic reducts as a tool for
extracting laws from decision tables", in Proc. of the Symp. on Methodologies for Intelligent Systems, Charlotte, NC, October 16-19, 1994, Lecture
Notes in Articial Intelligence, Vol. 869, Springer-Verlag, Berlin, pp. 346355.
[2] Bazan, J., Son, N.H., Trung, N.T., Skowron, A., Stepaniuk, J. (1994b).
"Some Logic and Rough Set Applications for Classifying Objects", Institute of Computer Science Report 38/94, Warsaw University of Technology,
Poland.
[3] Brown E.M.(1990). Boolean Reasoning, Kluwer Academic Publishers,
Dordrecht.
[4] Brownston, L., Farrell, R., Kant, E., Martin, N.(1986). Programming
Expert Systems in OPS5. An Introduction to Rule-Based Programming,
Addison-Wesley, Reading, MA.
[5] Chaib-Draa, B., Moulin, B., Mandian, R., and Millot, P.(1992). "Trends
in Distributed Articial Intelligence", Articial Intelligence Review Vol.
6-1, pp. 35-66.
[6] Chandrasekaran, B., Bhatnagar, R., and Sharma, D. D.(1991). "RealTime Disturbance Control", Comm. ACM Vol. 34- 8, pp. 32-47.
[7] Crowley, J. L.(1985). "Navigation for an Intelligent Mobile Robot", IEEE
Journal of Rob. Auto. RA-1, pp. 31-41.
[8] Edwards, K.(1993). Real-Time Structured Methods. Systems Analysis,
John Wiley and Sons, New York.
[9] Forgy, C.L.(1982). "Rete: A Fast Algorithm for the Many Pattern/Many
Object Pattern Match Problem", Articial Intelligence Vol. 19-1, pp. 1737.
[10] Hack, M.(1975). "Decidability Questions for Petri Nets", PhD thesis, Department of Electrical Engineering, Massachusetts Institute of Technology,
Cambridge.
[11] Haves-Roth, B.(1990). "Architectural Foundations for Real-Time Performance in Intelligent Agents", Journal of Real-Time Systems 2, pp. 99-125.
[12] HRL (1994). "Marked data", Hughes Research Laboratories, personal
communication. IEEE Transactions on Software Engineering, Special Issue: Specication and Analysis of Real-Time Systems Vol. 18- 9, September 1992.
26
[13] Kodrato, Y., Michalski, R.(Eds.)(1990). Machine Learning , Vol. 3, Morgan Kaufmann Publishers, San Mateo, CA.
[14] Lesser, V. R., Pavlin, J., and Durfee, E.(1988). "Approximate Processing
in Real-Time Problem Solving", Articial Intelligence Magazine.
[15] Looney, C. G.(1988). "Fuzzy Petri Nets for Rule-Based Decision-making",
IEEE Trans. Syst., Man, Cybern. Vol. 18- 1, pp. 178-183.
[16] Michalski, R., Carbonell, J.G., Mitchell, T.M.(Eds.)(1983). Machine
Learning: An Articial Intelligence Approach, Vol. 1, Tioga /Morgan
Publishers, Los Altos, CA.
[17] Michalski, R., Wnek, J.(1993). "Constructive Induction: An Automated
Improvement of Knowledge Representation Spaces for Machine Learning",
in Proc. of a Workshop on Intelligent Information Systems, Practical Aspects of AI II, Augustw, June 7-11, Poland, pp. 188-236.
[18] Nadler, M., Smith E.P.(1993). Pattern Recognition Engineering, John Wiley and Sons, New York.
[19] Paulos, D., and Wand, Y.(1992). "An Automated Approach to Information Systems Decomposition", IEEE Trans. Software Eng. Vol. 18- 3, pp.
174-189.
[20] Pawlak, Z.(1991). Rough Sets-Theoretical Aspects of Reasoning about
Data, Kluwer Academic Publishers, Dordrecht.
[21] Pawlak, Z.(1992). "Concurrent Versus Sequential the Rough Sets Perspective", Bull. EATCS Vol. 48, pp. 178-190.
[22] Pawlak, Z., Skowron, A. (1993). "A rough set approach for decision rules
generation", in Proc. of the IJCAI'93 Workshop: The Management of
Uncertainty in AI, France.
[23] Payton, D. W., and Bihari, T. E.(1991). "Intelligent Real-Time Control
of Robotic Vehicles", Comm. ACM Vol. 34- 8, pp. 48-63.
[24] Peterson, J. L.(1981). Petri Net Theory and the Modeling of Systems,
Prentice-Hall, Inc., Englewood Clis, N. J.
[25] Schoppers, M.(1991). "Real-Time Knowledge-Based Control Systems",
Comm. ACM Vol. 34- 8, pp. 26-30.
[26] Shavlik, J.,W., Dietterich, T.G.(Eds.) (1990). Readings in Machine Learning, Morgan Kaufmann, San Mateo, CA.
[27] Shrager, J., Langley, P.(1990). "Computational models of scientic discovery and theory formation", Morgan Kaufmann, San Mateo, CA.
27
[28] Skowron, A.(1993). "A synthesis of decision rules: applications of discernibility matrices", in Proc. of a Workshop on Intelligent Information
Systems, Practical Aspects of AI II, Augustow, June 7-11, Poland, pp.
30-46.
[29] Skowron, A., and Rauszer, C.(1992). "The Discernibility Matrices and
Functions in Information Systems", Slowinski, R.(Ed.) Intelligent Decision Support. Handbook of Applications and Advances of the Rough Sets
Theory, Kluwer Academic Publishers, Dordrecht, pp. 331-362.
[30] Skowron, A., and Stepaniuk, J.(1994). "Decision rules based on discernibility matrices and decision matrices", in Proc. of The Third International
Workshop on Rough Sets and Soft Computing, November 10-12, San Jose,
CA, pp. 602-609.
[31] Skowron, A., and Suraj, Z.(1993a). "Synthesis of Concurrent Systems
Specied by Information Systems", Institute of Computer Science Report
4/93, Warsaw University of Technology, Poland.
[32] Skowron, A., and Suraj, Z.(1993b). "A Rough Set Approach to Real-Time
State Identication", Bull. EATCS Vol. 50, pp.264-275.
[33] Slowinski, R. (Ed.) (1992). Intelligent Decision Support: Handbook of Applications and Advances of Rough Sets Theory, Kluwer Academic Publishers, Dordrecht.
[34] Suraj, Z.(1995) "PN-tools: environment for the design and analysis of
Petri nets", Control and Cybernetics Vol. 24- 2, Systems Research Institute
of Polish Academy of Sciences, pp. 199-222.
[35] Wegener, I.(1987). The Complexity of Boolean Functions, John Wiley and
Sons Ltd. and B.G. Teubner, Stuttgart, West Germany.
28