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
© Copyright 2026 Paperzz