A Fuzzy Petri Net-Based Expert System and Its Application to Damage Assessment of Bridges
Jonathan Lee, Member, IEEE, Kevin F. R. Liu, and Weiling Chiang
Abstract— In this paper, a fuzzy Petri net approach to modeling fuzzy rule-based reasoning is proposed to bring together the possibilistic entailment and the fuzzy reasoning to handle uncertain and imprecise information. The three key components in our fuzzy rule-based reasoning—fuzzy propositions, truth-qualified fuzzy rules, and truth-qualified fuzzy facts—can be formulated as fuzzy places, uncertain transitions, and uncertain fuzzy tokens, respectively. Four types of uncertain transitions—inference, aggregation, duplication, and aggregation-duplication transitions—are introduced to fulfill the mechanism of fuzzy rule-based reasoning. A framework of integrated expert systems based on our fuzzy Petri net, called fuzzy Petri net-based expert system (FPNES), is implemented in Java. Major features of FPNES include knowledge representation through the use of hierarchical fuzzy Petri nets, a reasoning mechanism based on fuzzy Petri nets, and transformation of modularized fuzzy rule bases into hierarchical fuzzy Petri nets.
An application to the damage assessment of the Da-Shi bridge in Taiwan is used as an illustrative example of FPNES.
Index Terms— Damage assessment, fuzzy Petri net-based ex- pert systems, fuzzy truth value, hierarchical fuzzy Petri nets, possibilistic entailment.
I. INTRODUCTION
I
T IS widely recognized that the trend of integrating expert systems with other technologies will continue to the next generation of expert systems [17], [24], [27], [32], [33]. A number of researchers have reported progress toward the integration of expert systems with Petri nets. Petri nets with a powerful modeling and analysis ability are capable of providing a basis for variant purposes, such as knowledge representation [38], [47], reasoning mechanisms [3], [46], knowledge acquisition [6], and knowledge verification [50], [58]. There are several rationales behind which to base a computational paradigm for expert systems on Petri net theory.• Petri nets achieve the structuring of knowledge within rule bases, which can express the relationships among rules and help experts construct and modify rule bases [12].
• The Petri net’s graphic nature provides the visualization of the dynamic behavior of rule-based reasoning.
Manuscript received January 16, 1998; revised November 8, 1998. This work was supported in part by the National Science Council, Taiwan, R.O.C., under Grants NSC 86-2213-E-008-008 and NSC 86-2211-E-008-015. This paper was recommended by Associate Editor A. Kandel.
J. Lee is with the Department of Computer Science and Information Engineering, National Central University, Chungli, Taiwan 32054, R.O.C.
(e-mail: yjlee@se01.csie.ncu.edu.tw).
K. F. R. Liu and W. Chiang are with the Department of Civil Engineering, National Central University, Chungli, Taiwan 32054, R.O.C.
Publisher Item Identifier S 1083-4419(99)03535-9.
• Petri nets make it easier to design an efficient reasoning algorithm.
• The Petri net’s analytic capability provides a basis for developing a knowledge verification technique.
• The underlying relationship of concurrency among rules activation can be modeled by Petri nets, which is an important aspect where real-time performance is crucial [5].
To model fuzzy rule-based reasoning through the use of fuzzy Petri nets, several important issues need to be addressed.
• Is partial matching considered?
• Does the Petri net’s firing rule that tokens will be removed from the input places of a transition after the transition fired remain unchanged? It should be noted that the firing rule in Petri nets is a basis for controlling the evolution of markings in the execution process. To modify the firing rule is to change the evolution of markings.
• Is the proposed algorithm consistent with the rule-based reasoning?
• Is the proposed algorithm consistent with the execution of Petri nets?
We have examined a variety of related literature based on these issues [30]. Looney’s approach [34] did not allow partial matching and changed the firing rule: after firing an enabled transition, the tokens in all input places of this transition are not removed, and new tokens are generated and deposited in all output places of this transition. Chen et al.’s approach [7]
takes care of not only fuzziness but also uncertainty (i.e., modeled as certainty factors) for representing a fuzzy rule base. However, only exact matching is allowed. One of the problems arising from their algorithm is in the case that the intermediate places have more than one input arc. Therefore, the algorithm cannot have two or more rules that will result in a same conclusion. Bugarin et al.’s approach [3] is based on compositional rule of inference. It is not appropriate for large systems since the arrangement of the linking transitions in a net and applied algorithm depend on the initial markings.
Konar et al.’s approach [25] has improved Chen et al.’s [7]
algorithm to deal with the case that there exist intermediate places with multi-input arcs. However, adopting Looney’s [34] modifications on the firing rule makes their algorithm inconsistent with the execution of the Petri net. Scarpelli et al. [45], [46] have proposed high-level fuzzy Petri nets for modeling fuzzy reasoning based on the compositional rule of inference. After carrying out their proposed algorithm to extract the subnet from the entire net, the subnet with
1083–4419/99$10.00 1999 IEEE
concurrency cannot be executed as a Petri net since only one path is shown.
In this paper, a fuzzy Petri nets approach to modeling fuzzy rule-based reasoning is proposed to bring together the possibilistic entailment and the fuzzy reasoning in order to handle uncertain and imprecise information. The three key components in our fuzzy rule-based reasoning (fuzzy propositions, truth-qualified fuzzy rules, and truth-qualified fuzzy facts) can be formulated as fuzzy places, uncertain tran- sitions, and uncertain fuzzy tokens, respectively. Four types of uncertain transitions (inference, aggregation, duplication, and aggregation-duplication transitions) are introduced to fulfill the mechanism of fuzzy rule-based reasoning.
A framework of integrated expert systems based on our fuzzy Petri net, called fuzzy Petri net-based expert system (FP- NES), is implemented in Java with a client–server architecture.
Major features of FPNES include knowledge representation through the use of hierarchical fuzzy Petri nets, a reasoning mechanism based on fuzzy Petri nets, and transformation of modularized fuzzy rule bases into hierarchical fuzzy Petri nets.
An application to the damage assessment of the Da-Shi bridge in Taiwan is used as an illustrative example of FPNES.
The organization of this paper is as follows. Background work on our fuzzy rule-based reasoning is described in the next section. In Section III, a fuzzy Petri nets approach to modeling fuzzy rule-based reasoning is introduced. In Section IV, a framework of FPNES is proposed. In Section V, an application of FPNES to the damage assessment of the Da-Shi bridge in Taiwan is used as an illustration. Related work is described in Section VI. Last, a summary of our approach and its potential benefits are given in the Section VII.
II. BACKGROUNDWORK ONFUZZYRULE-BASEDREASONING
The distinction between imprecise and uncertain informa- tion can be best explained by the canonical form representation (i.e., a quadruple of attribute, object, value, confidence) pro- posed by Dubois and Prade [10], [43]. Imprecision implies the absence of a sharp boundary of the value component of the quadruple, whereas uncertainty is related to the confidence component of the quadruple, which is an indication of our reliance on the information. To perform reasoning for both imprecise and uncertain information, two important issues need to be addressed.
• Any improvement of the confidence level for a piece of information can only be achieved at the expense of the specificity of the information, and vise versa [51], [56].
• The matching between a fact and the premise of a rule is not exact, but only partial [2], [56].
We have roughly classified the existing approaches in dealing with both imprecise and uncertain information into three categories based on their treatments for the two issues [30], [31].
1) An uncertainty-qualified fuzzy proposition is translated into a proposition whose confidence level is certain but with less specific information, while partial matching is used to modify the intended meaning of conclusions.
This approach was advocated by Yager [51] and Zadeh
[56]. Zadeh proposed three uncertainty qualifications for fuzzy propositions: probability, possibility, and truth qualifiers; Yager focused on the certainty qualifier.
2) The degree of partial matching is used to influence the confidence level of conclusions, which was adopted by researchers such as Martin-Clouaire et al. [35], Ogawa et al. [40], and Umano [49]. Ogawa et al. combined cer- tainty factors and fuzzy sets to represent uncertain and imprecise information in an expert system, SPERIL-2.
Martin-Clouaire et al. attached possibility and necessity degrees to fuzzy propositions. Umano employed the fuzzy truth value for the uncertainty qualifier of fuzzy propositions.
3) No partial matching is allowed in Godo et al. [16] and Ishizuka et al. [21]. Ishizuka et al. extended Demp- ster–Shafer’s evidence theory to a fuzzy set in the expert system SPERIL-1. Godo et al. used the fuzzy truth value as an uncertainty qualifier of fuzzy propositions.
Note that the first kind of research results in a completely certain conclusion whose intended meaning has been changed.
On the other hand, the second one produces a new confidence level for a conclusion without modifying its intended meaning.
The third one can be viewed as a special case of the second one. It is obvious that these inference strategies are somewhat limited due to the fact that either the intended meaning is required to be unchanged or the confidence level has to be completely certain.
We have proposed the use of truth-qualified fuzzy proposi- tions as the representation of imprecise and uncertain informa- tion for its capability to express the possibility of the degree of truth [30], [31]. The inference rule for the truth-qualified fuzzy propositions has been developed based on our proposed pos- sibilistic entailment. It is not only a generalization of Zadeh’s generalized modus ponens [56] but also an uncertain reasoning for classical propositions with necessity and possibility pairs.
A. Possibilistic Entailment
A possibilistic reasoning has been proposed for classical propositions weighted by the lower bounds of necessity measures and the upper bounds of possibility measures
[i.e., and ] [30], [31], which is
expressed as shown in (1) at the bottom of the next page,
where and are classical propositions
and , , and are the lower bounds of
necessity measures. , , and are the
upper bounds of possibility measures.
To infer and , we have proposed an approach called possibilistic entailment, inspired by Nilsson’s probabilistic entailment [39]. After performing the possibilistic entailment, we can derive the conclusions
where and
. In the case that and
(called partially inconsistent [8], [29]) do not exist simultaneously, conclusions
then become , and
(see [30] and [31] for details).
When several rules having a same conclusion are fired, these inferred conclusions with different confidence levels,
for example , should be aggre-
gated as a conclusion . This aggregation can be viewed as a disjunction; we then obtain
and , , .
B. Rule-Based Systems with Uncertainty and Fuzziness The truth-qualified fuzzy propositions are chosen as the representation of imprecise and uncertain information for its capability to express the possibility of the degree of truth [1], [11], [55]. There are three steps involved in the inference mechanism for truth-qualified fuzzy propositions.
• The fuzzy rules and fuzzy facts with fuzzy truth values are transformed into a set of uncertain classical propositions with necessity and possibility measures.
• The possibilistic entailment is performed on the set of uncertain classical propositions.
• We reverse the process in the first step to synthesize all the classical sets obtained in the second step into a fuzzy set and to compose necessity and possibility pairs to form a fuzzy truth value.
1) Representation: To represent uncertain imprecise infor- mation, we have chosen a fuzzy proposition with a fuzzy valuation [30], [31], denoted as , where is a fuzzy proposition of the form “ is ” [51] (i.e., is a linguistic variable [57] and is a fuzzy set in a universe of discourse ) and is a fuzzy valuation. It should be noted that for every formula ( ) (called a truth-qualified fuzzy proposition), we assume [i.e., is the real fuzzy truth value derived from and a possibility distribution ], which means is the upper bound of the possibility that is true to a degree . The fuzzy set is to represent the intended meaning of imprecise information, while the fuzzy truth value serves as the representation of uncertainty for its capability to express the possibility of the degree of truth.
To develop inference rules for truth-qualified fuzzy propo- sitions, we treat a truth-qualified fuzzy proposition ( ) as a set of weighted classical propositions , , ,
, where denotes the lower bound of the necessity measure that is true, whereas denotes the upper bound of the possibility measure that is true, defined as
and .
The membership function of can be reconstructed in terms of the set of the characteristic functions of its -level sets
, i.e.,
Sup (2)
Reconstruction of from the set of ( , ) pairs is through the use of the principle of minimum specificity [9]
Inf (3)
where
if
if . (4)
2) Inference: An inference rule for truth-qualified fuzzy propositions is expressed as follows:
... ... (5)
where , , , and are fuzzy propositions and are characterized by “ is ,” “ is ,” “ is ,” and
“ is ,” respectively; and are fuzzy
valuations for truth values and are defined by . and are the subsets of , while and are the subsets of . There are three major steps for deriving and of (5).
Step 1—Transformation: The truth-qualified fuzzy propositions in (5) can be transformed into a set of classical propositions with necessity and possibility pairs as shown in (6) at the bottom of the next page, where
,
, ,
and .
Step 2—Inference: Computing . is computed through the use of compositional rule of inference, that is
(7) where is a composition operator and denotes an impli- cation operator. In our approach, “Sup-min” [54] and G¨odel are chosen as the composition operator and the implication operator, respectively.
... ... (1)
Computing and . With the help of the principle of minimum specificity [9], (6) can be transformed into a set of classical propositions with necessity and possibility pairs as shown in (8) at the bottom of the page, where denotes a possibility distribution over , derived by means of the principle of minimum specificity
Inf , as shown in (9) at the
bottom of the page.
The possibilistic reasoning in Section II-A is then applied to (8) to obtain the upper bound of the possibility measure and the lower bound of the necessity measure of
where
and
Step 3—Composition: Based on (2), the construction of the membership function of is performed by the following
equation: Sup . Meanwhile,
the construction of is calculated by (3), that is,
Inf , where
if
if . (10)
3) Aggregation of Conclusions: Several inferred conclu- sions having a same linguistic variable should be aggregated.
For example, there are inferred conclusions having a same linguistic variable, represented as
... ... (11)
where are fuzzy conclusions having the
form of “ is .” There are three major steps for deriving
and .
Step 1—Transformation: The inferred conclusions in (11) can be transformed into a set of classical propositions
... ...
(6)
... ...
(8)
(9)
with necessity and possibility pairs as follows:
... ... (12)
where , , and
. Step 2—Aggregation: Computing
is computed through the use of -norm.
Computing and . With the help of the
principle of minimum specificity [9], (12) can be transformed into a set of classical propositions with necessity and possi- bility pairs
... ... (13)
and
, where denotes a possibility distribution over , derived by the principle of
minimum specificity: Inf , where
. (14)
The possibilistic aggregation in Section II-A is then applied to (13) to obtain the upper bound of the possibility measure and the lower bound of the necessity measure of
and
Step 3—Composition: Based on (2), the construction of the membership function of is performed by the following equation:
Sup
Meanwhile, the construction of is calculated by (3):
Inf , where
if
if . (15)
III. FUZZY PETRI NETS
Petri nets are a graphical and mathematical modeling tool applicable to many systems. In this section, fuzzy Petri nets are defined for modeling fuzzy systems and used as knowledge representation for fuzzy rules [30].
A. Petri Nets
A Petri net is a directed, weighted, bipartite graph consisting of two kinds of nodes, called places ( ) and transitions ( ), where arcs are either from a place to a transition or from a transition to a place [42]. Murata has formally defined
Petri nets as a five-tuple [37]: ,
where is a finite set of places,
is a finite set of transitions,
is a set of arcs, : is a weight
function, and : is the initial marking.
A marking is an -vector, , where
denotes the number of the tokens in place . The incidence matrix is an matrix of integers, and its typical entry is defined by , where is the weight of the arc from a transition to its output place
and is the weight of the arc to a transition from its input place . The reachability set of a Petri net is defined as the set of all possible markings reachable from . A place having two or more output transitions is referred to as a conflict. Two transitions are said to be concurrent if they are causally independent. The evolution of markings, used to simulate the dynamic behavior of a system, is based on the firing rule, such as: a transition is enabled if each input place is marked with at least tokens, where is the weight of the arc from to ; an enabled transition may or may not be enabled. A firing of an enabled transition removes tokens from each input place of and adds
tokens to each output place of , where is the weight of the arc from to . Some notations are introduced as follows: denotes the input places of , denotes the output places of , denotes the input transitions of , and
denotes the output transitions of .
B. Fuzzy Petri Nets
A typical interpretation of Petri nets is to view a place as a condition, a transition as the causal relationship of conditions, and a token in a place as a fact used to claim the truth of the condition associated with the place. However, fuzzy systems include the following situations.
• The conditions are fuzzy.
• The causal relationships of fuzzy conditions are uncertain.
• The values of facts are fuzzy, and may partially match the value of the associated fuzzy condition.
• The confidence about the truths of the facts is uncertain.
To take the above situations into account, we formally define our version of fuzzy Petri nets below.
Definition 1—Fuzzy Petri Nets: A fuzzy Petri net is defined as a five-tuple
is a finite set of fuzzy places, where represents a fuzzy condition and is a fuzzy subset of that represents the fuzzy set of the
condition. , , , is a finite
set of uncertain transitions, where represents the causal relationship of fuzzy conditions and is a fuzzy truth value to represent the uncertainty about the causal relationship of
fuzzy conditions. is a
set of arcs. : is a weight function.
is the initial marking, where is the number of tokens in .
The fuzzy truth value serves as the representation of uncer- tainty for its capability to express the possibility of the degree of truth. In Definition 1, we assume that
of each means the upper bound of the
possibility measure that for which degree of truth is . Each token is associated with a pair of fuzzy sets
(called an uncertain fuzzy token). Fuzzy places with uncertain fuzzy tokens can be interpreted as uncertain fuzzy facts related to the fuzzy conditions modeled by the fuzzy places. An example is illustrated in Fig. 1(a): three fuzzy conditions are modeled as three fuzzy places; their uncertain causal relationship is modeled as an uncertain transition. Two truth- qualified fuzzy facts concerning the preconditions are modeled as two uncertain fuzzy tokens.
To simulate the dynamic behavior of a fuzzy system, a marking in a fuzzy Petri net is changed according to the firing rule: a firing of an enabled uncertain transition removes the uncertain fuzzy token from each input place of and adds a new token to each output place of . The fuzzy set and fuzzy truth value attached to the new token will be computed based on the mechanism in fuzzy reasoning. Fig. 1 illustrates the evolution of markings by the firing rule.
C. Analysis of Fuzzy Petri Nets
This section describes how fuzzy Petri nets can be analyzed.
Two major Petri net analysis methods, the coverability tree and state equation, are used to analyze fuzzy Petri nets.
1) The Coverability Tree: The coverability tree represents the reachability set of a fuzzy Petri net. Given a fuzzy Petri net, a tree representation of the markings can be constructed [37]. In this tree, a symbol is used to represent “infinity,”
nodes represent markings reachable from , and each arc represents an uncertain transition firing that transforms one marking to another. Some of the behavioral properties that can be studied by using the coverability tree are boundedness, safeness, and deadlock in uncertain transitions. For a bounded fuzzy Petri net, the coverability tree is called the reachability tree. Fig. 1(c) illustrates the reachability tree of a fuzzy Petri net.
2) State Equation: The state equation that governs the dy- namic behavior of concurrent fuzzy systems modeled by fuzzy Petri nets is represented by , where
, is the incidence matrix, and is an 1 column vector called the firing count vector. The th entry of denoted the number of times that uncertain transition must fire to transform to . The state equation is used to
(a)
(b)
(c)
Fig. 1. Illustration of a fuzzy Petri net: (a) before firingt1, (b) after firing t1, and (c) the reachability tree.
solve the reachability problem, that is, the problem of finding if for a given . If is reachable from , then the state equation has a solution in nonnegative integers.
If the state equation has no solution, then is not reachable from .
D. Fuzzy Rule-Based Reasoning and Fuzzy Petri Nets It is widely recognized that fuzzy Petri nets is a promis- ing modeling mechanism for formulating fuzzy rule-based reasoning [3], [7], [23], [25], [34], [45], [46], [52]. The three key components in fuzzy rule-based reasoning—fuzzy propositions, fuzzy rules, and fuzzy facts—can be formulated as places, transitions, and tokens, respectively. However, there is still one main issue that needs to be addressed: conflict. In fuzzy rule-based reasoning, several fuzzy rules having a same antecedent will be fired if a fuzzy fact matches the antecedent of those rules. In Petri nets, these fuzzy rules and the fuzzy fact are modeled as several transitions departing from a place and a token in the place, respectively. However, only one of these transitions will be fired since they are in conflict. As is illustrated in Fig. 2, two fuzzy conclusions will be inferred, if fact 1 partially matches rules 1 and 2. But, only one transition will be fired since transitions and are in conflict.
Fig. 2. The problem of modeling fuzzy rule-based reasoning by fuzzy Petri nets: conflict.
To overcome this problem, a subclass of Petri nets—marked graphs—is used in this paper since each place in a marked graph has exactly one input transition and exactly one output transition, i.e., . Furthermore, among models that can represent concurrent activities, marked graphs are the most amenable to analysis [37]. The mapping between fuzzy rule-based reasoning and fuzzy Petri nets is fully described below.
• Fuzzy Places: Fuzzy places correspond to fuzzy propo- sitions. The fuzzy sets, attached to the fuzzy places, represent the values of fuzzy propositions. Fuzzy input and fuzzy output places of a truth-qualified transition are used to represent the antecedent and conclusion parts of a truth-qualified fuzzy rule, respectively.
• Uncertain Fuzzy Tokens: An uncertain fuzzy token rep- resents a truth-qualified fuzzy fact. The fuzzy sets and fuzzy truth values are attached to uncertain fuzzy tokens to represent the values and our confidence level about the observed facts, respectively.
• Uncertain Transitions: Uncertain transitions are classified into four types: inference, aggregation, duplication, and aggregation-duplication transitions. The inference transi- tions represent the truth-qualified fuzzy rules, the aggre- gation transitions are designed to aggregate the conclusion parts of rules that have the same linguistic variables, the duplication transitions are used to duplicate uncertain fuzzy tokens to avoid the conflict problem, and the aggregation-duplication transitions link the fuzzy propo- sitions with the same linguistic variables. These are formally defined below.
Type 1—Inference Transition : An inference transi- tion serves as a modeling of a truth-qualified fuzzy rule.
A truth-qualified fuzzy rule having multiple antecedents is represented as
where and are of the forms of “ is ” and “ is ,”
respectively.
In Fig. 3, after firing the inference transition , the tokens will be removed from the input places of , a new token will be deposited into the output place of , and the fuzzy set and the fuzzy truth value attached to the new token are derived by three steps (see Section II-B2).
1) Transformation: The fuzzy facts and fuzzy rules with fuzzy truth values are transformed into a set of uncer- tain classical propositions with necessity and possibility measures by means of -cut.
2) Inference: The possibilistic entailment is performed on the set of uncertain classical propositions.
3) Composition: We reverse the process in the first step to synthesize all the -level sets obtained in the second step into a fuzzy set and to compose necessity and possibility pairs to form a fuzzy truth value.
Type 2—Aggregation Transition : An aggregation transition is used to aggregate the conclusions of several truth-qualified fuzzy rules that have a same linguistic variable and to link the antecedent of a truth-qualified fuzzy rule that also has the same linguistic variable. For example, there are truth-qualified fuzzy rules having a same linguistic variable in the conclusions, denoted as
where is “ is .”
In Fig. 4, after firing the aggregation transition , the tokens in the input places of will be removed, a new token will be deposited into the output place of , and the fuzzy set and the fuzzy truth value attached to the new token are derived by three steps (see Section II-B3).
1) Transformation: The fuzzy facts with fuzzy truth values are transformed into a set of uncertain classical proposi- tions with necessity and possibility measures by means of -cut.
2) Aggregation: The aggregation is performed on the set of uncertain classical propositions.
3) Composition: We reverse the process in the first step to synthesize all the -level sets obtained in the second step
(a) (b) Fig. 3. Modeling fuzzy rule-based reasoning through fuzzy Petri nets: (a) before and (b) after firing ti1.
(a) (b)
Fig. 4. Modeling the aggregation of conclusions by an aggregation transition: (a) before and (b) after firing tam+1.
into a fuzzy set and to compose necessity and possibility pairs to form a fuzzy truth value.
It should be noted that is dead if one of its input places never received a token. To avoid deadlock in aggregation transitions, we assume that for each source place , a token will be inserted into , and that the fuzzy set and the fuzzy truth value attached to the token are assigned to be their universe of discourse if no fact matches the fuzzy proposition in the place . That is, and are assigned.
Type 3—Duplication Transition : The purpose of du- plication transitions is to avoid the conflict by duplicating the token. For example, there are truth-qualified fuzzy rules having a same linguistic variable in the antecedents, denoted as
where means “ is .” They are linked by a duplication transition shown in Fig. 5. After firing the duplication transi- tion , the tokens in the input place of will be removed, new tokens will be added into the output places of , and
the fuzzy sets and the fuzzy truth values attached to the new tokens are not changed.
Type 4—Aggregation-duplication Transition : An aggregation-duplication transition is a combination of an aggregation transition and a duplication transition (see Fig. 6).
It is used to link all fuzzy propositions that have a same linguistic variable. For example, there are truth-qualified fuzzy rules having a same linguistic variable in the conclusions and truth-qualified fuzzy rules having the same linguistic variable in the antecedents, denoted as
where is of the form of “ is .” They are linked by an aggregation-duplication transition shown in Fig. 7.
After firing the aggregation-duplication transition , the tokens in the input places of will be removed and new tokens will be deposited into the output places of . The
(a) (b) Fig. 5. Modeling the duplication of an uncertain fuzzy token through fuzzy Petri nets: (a) before and (b) after firingtd1.
(a) (b)
Fig. 6. An aggregation-duplication transition is a combination of an aggregation transition and a duplication transition.
(a) (b)
Fig. 7. Modeling the aggregation-duplication of uncertain fuzzy tokens through proposed FPN: (a) before and (b) after firingtad1 .
fuzzy sets and the fuzzy truth values attached to the new tokens are derived by three steps (see Section II-B3).
1) Transformation: The fuzzy facts with fuzzy truth values are transformed into a set of uncertain classical proposi- tions with necessity and possibility measures by means of -cut.
2) Aggregation: The aggregation is performed on the set of uncertain classical propositions.
3) Composition: We reverse the process in the first step to
synthesize all the -level sets obtained in the second step into a fuzzy set and to compose necessity and possibility pairs to form a fuzzy truth value.
IV. FUZZYPETRINET-BASED EXPERT SYSTEM
A framework of integrated expert systems based on our fuzzy Petri net, called fuzzy Petri net-based expert system, is described in this section. Major features of FPNES in- clude knowledge representation through the use of hierarchical
Fig. 8. Modules have importing and exporting linguistic variables.
fuzzy Petri nets, a reasoning mechanism based on fuzzy Petri nets, and transformation of modularized fuzzy rule bases into hierarchical fuzzy Petri nets.
A. Knowledge Representation: Hierarchical Fuzzy Petri Nets Our fuzzy Petri nets are used as the knowledge represen- tation to formulate fuzzy propositions, truth-qualified fuzzy rules, truth-qualified fuzzy facts as fuzzy places, uncertain transitions, and uncertain fuzzy tokens, respectively. Four types of uncertain transitions—inference, aggregation, duplica- tion, and aggregation-duplication transitions—are introduced to fulfill the mechanism of a fuzzy rule-based reasoning.
To overcome the complexity arising from large sizes of rule bases and fuzzy Petri nets, two important features, modularized rule bases and hierarchical fuzzy Petri nets, are adopted in FPNES. Modularization to partition rule bases into smaller parts is a well-known method useful for organizing rules.
Each module may have importing linguistic variables and exporting linguistic variables with respect to some specific modules. As illustrated in Fig. 8, in module 1, the importing linguistic variables and with respect to the main module ( ) receive facts from the main module, and the exporting linguistic variable with respect to the main module exports facts to the main module after receiving facts.
In a hierarchical fuzzy Petri net, each hierarchy contains a fuzzy Petri net, which may or may not contain other hierarchies. The connections between hierarchies are achieved by defining importing and exporting fuzzy places. That is, an exporting fuzzy place with respect to a hierarchy is defined as a fuzzy place that is connected to the hierarchy by an arc from the fuzzy place to the hierarchy; meanwhile, an importing fuzzy place with respect to a hierarchy is defined as a fuzzy place connected to the hierarchy by an arc from the hierarchy to the fuzzy place. In a graphical representation, a hierarchy is drawn as a double-lined square to connect the importing or exporting fuzzy places. A hierarchical fuzzy Petri net that contains a main hierarchy and hierarchy is illustrated in Fig. 9(a). The status of the fuzzy place in Fig. 9(a) is shown in Fig. 9(b). In this figure, the fuzzy Petri net in the middle window is the main hierarchy at the top level of the hierarchical structure, and the fuzzy Petri net in the bottom window is hierarchy at the second level. In , fuzzy
places and are the exporting fuzzy place with respect to hierarchy , and fuzzy place is the importing fuzzy place with respect to hierarchy . In the hierarchy , fuzzy places and are the importing fuzzy places with respect to , and fuzzy place is the exporting fuzzy place with respect to . When a token is inserted into the fuzzy place in , it will be transited into hierarchy and added to place in hierarchy . Similarly, once a token enters into place in , it will be sent into hierarchy and reach the fuzzy place in . After firing transitions , , and in hierarchy , the token arrives at the fuzzy place in
and then enters the fuzzy place in .
Hierarchical incidence matrices are introduced to solve the complexity problem arising from the large size of fuzzy Petri nets. A hierarchical incidence matrix is defined as an algebraic form of a hierarchical fuzzy Petri net. For example, the hierarchical incidence matrices of the main hierarchy and hierarchy in Fig. 9(a) are presented in Fig. 10(a) and (b), respectively. The symbol at shows that there is an arc from the fuzzy place in to the fuzzy place in hierarchy , and the symbol at
means that there is an arc from the fuzzy place in to the fuzzy place in hierarchy . By defining this symbol, the connections between hierarchies are identified in an algebraic form.
There are two main benefits of having a hierarchical struc- ture in our system: 1) the notion of hierarchy makes the handling of complex systems easy through decomposition and 2) a hierarchical Petri net facilitates the reusability, namely, each hierarchy can be considered as a reuse unit.
B. Reasoning Mechanism
To improve the efficiency of a fuzzy rule-based reason- ing, it is crucial that fuzzy facts (input or inferred) find the matched fuzzy rules efficiently, rather than scanning all of the fuzzy rules. Fuzzy Petri nets offer an opportunity to achieve this goal by using transitions and arcs to con- nect fuzzy rules as a net-based structure [15]. A data-driven reasoning algorithm is developed by defining an extended fuzzy marking, denoted by . Each hierarchy has an extended fuzzy marking. The elements of , denoted by , are called extended fuzzy places, which are defined
(a) (b) Fig. 9. (a) A hierarchical fuzzy Petri net and (b) place status for P 1 in H0.
(a) (b)
Fig. 10. Hierarchical incidence matrices for the hierarchical fuzzy Petri net in Fig. 9(a): (a) for the main hierarchyH0 and (b) for the hierarchy H1.
as . From
an extended fuzzy place , we know:
1) the fuzzy set and the fuzzy truth value are attached to the token in (i.e., and );
2) the other tokens need to fire [i.e., ];
3) the kind of computation to carry out after the firing (i.e., the type of );
4) where to go for the new tokens after the firing [i.e., ].
For details about the reasoning algorithm, see Appendix A.
C. Transforming Modularized Fuzzy Rule Bases into Hierarchical Fuzzy Petri Nets
To bridge the gap between fuzzy rule-based expert systems and fuzzy Petri nets, it is important to have a mechanism to automatically transform modularized fuzzy rule bases into hierarchical fuzzy Petri nets. In our approach, two algorithms are involved in the transformation. One is to transform mod- ularized fuzzy rule bases into a hierarchical incidence matrix.
The other is to transform the hierarchical incidence matrix into a hierarchical fuzzy Petri net (see Appendix B).
D. An Overview of FPNES Tool
FPNES is implemented in Java with a client–server archi- tecture, encompassing four main parts: fuzzy Petri net system (FPNS), user interface, transformation engine, and knowledge bases (see Fig. 11). Java is adopted as the programming language for the FPNES tool for its capability of running on multiple platforms and on the Internet.
FPNS is a modeling and analysis tool for fuzzy Petri nets and serves as an inference engine and explanation facility in FPNES. FPNS mainly contains the simulator and analyzer for fuzzy Petri nets. It provides the basic constructs for hierarchical fuzzy Petri nets (e.g., hierarchies, fuzzy places, uncertain transitions, arcs, and uncertain fuzzy tokens). After judging the firing conditions, the simulator will compute the fuzzy sets and move tokens. The analyzer performs the tasks of analyzing the properties of fuzzy Petri nets, such as incidence matrix, reachability trees, and state equations.
Users can edit modularized fuzzy Petri rule bases in the client site, including the assignments of linguistic variables, truth-qualified fuzzy rules, the relationship of modules, and modularized structures of input facts. When users finish editing the modularized fuzzy rule bases and the corresponding facts,
Fig. 11. An overview of FPNES tool.
and decide to run them, the data are then sent to the trans- formation engine and transformed to a hierarchical fuzzy Petri net in FPNS. After FPNS processes the hierarchical fuzzy Petri net with the aid of our reasoning algorithm, it sends the results back to the users. The results are presented in a hierarchical fashion to provide a flexible explanation facility (see Fig. 18).
V. APPLICATION TO DAMAGEASSESSMENT OF BRIDGES
In recent years, many countries have been aware of bridge problems and initiated the development of bridge management systems (BMS’s) to assist their decision makers in establishing efficient repair and maintenance programs [19]. A key to success in BMS’s relies heavily on the reliability of the technique adopted for damage assessment. Damage assessment for a bridge is defined as the process for evaluating the damage state of the bridge based on visual inspection and empirical testing on it.
A. Using FPNES for Damage Assessment
Damage assessment of a bridge is a difficult task due to a lack of complete understanding of the mechanism of bridge deterioration. Bridge structures are too complex to analyze completely, and therefore numerical simulations require a
host of simplified assumptions. Nevertheless, an experienced engineer who has closely studied these problems over years could use his heuristic knowledge to achieve the task by linking the observed defects with causes, evaluating the im- pacts of these causes on bridge safety, assessing the damage level, and proposing recommendations for a bridge. However, there are far too few experts who can correctly inspect and assess deficient bridges. Recently, researchers have begun to investigate the use of expert systems to perform damage assessment, for example, [13], [14], [18], [20], [26], [28], [36], [40], [41], [44], [48], and [53]. Since heuristic knowledge plays an important role in the process of damage assessment, exploiting expert systems to capture the expertise and mimic the reasoning patterns of experts for damage assessment is a promising direction.
The descriptions of heuristic damage-assessment knowledge from bridge engineers usually take the form of natural lan- guage that contains intrinsic imprecision and uncertainty. For example, a bridge engineer may make an imprecise statement for assessing a crack observed on a prestressed -girder, such as “If a shear crack has large extent, wide width and deep depth, severe corrosion accompanied with rust stain occurs in the crack, serious efflorescence comes out of the crack, and water leaches from the crack, then the damage level of this
Fig. 12. The inference procedure for damage assessment.
shear crack is very severe.” Furthermore, sometimes bridge engineers are not completely confident about their imprecise statements since various exceptions may occur due to the complexity in damage assessment. Besides, descriptions on the observed defects by bridge inspectors are often imprecise and uncertain. For example, a statement “We are not that confident that the delamination within a beam is extensive”
made by an inspector contains imprecision and uncertainty.
Therefore, a reasoning mechanism that can deal with uncertain and imprecise information is expected for damage assessment.
In addition, in order to increase the confidence about the assessment results, an explanation facility that can describe how the conclusions are derived is crucial for a computer-aided tool designed especially for damage assessment.
B. Development of Modularized Rule Bases
Damage assessment is based on the notion of functionality.
Each component of a bridge structure carries out several functions simultaneously to keep the bridge working. A bridge is considered damaged if some of its components are not functioning correctly. The damage level will depend upon how many functions are impaired.
The inference procedure for damage assessment of a bridge is described as follows (see Fig. 12).
1) A group of inspectors visually investigates each compo- nent of a bridge to record the observed defects, such as scaling, cracks, delamination, spalls, honeycomb, efflo- rescence, corrosions, leaching, etc., and their symptoms.
2) Based on defect symptoms such as defect positions, defect patterns, etc., experienced bridge engineers can identify the possible causes of the defects.
3) The damage level of each defect is evaluated according to the symptoms, which contain quantitative descrip- tions.
4) The possible causes induce what kinds of functions are eliminated due to the defects.
5) The levels of functional derogation are inferred based on the damage levels of the defects.
6) The assessment of damage can be obtained by aggregat- ing both the functional derogation and its levels.
Fig. 13 shows the factors that are involved in the evaluation of a shear crack in an -girder. Fig. 15 shows the fuzzy Petri nets after the transformation of the rule bases of shear crack in an -girder (see Fig. 14 for an example of fuzzy rules). Based on the inference procedure, we construct the modularized rule bases that contain 100 truth-qualified fuzzy rules and 133 recommendations (see Fig. 16).
C. Case Study
The Da-Shi bridge in north Taiwan is used to demonstrate the use of FPNES. It was rebuilt in 1960 as a simply supported and 12-spanned bridge that is of 550 m long and of 7.8 m wide to cross the Da-Han river. This bridge consists of 12 decks, 36 prestressed -girders, 120 diaphragms, 11 piers, and two abutments. In 1997, this bridge was inspected by the Center of Bridge Engineering Research at National Central University.
Through visual inspection, many minor cracks accompanied with efflorescence spread over eight panels within deck 7. The -girders S9G1, S9G2, S9G3 in span 9 and S10G1, S10G2, S10G3 in span 10 had severe flexure, shear cracks, and some spalls. There were two diaphragms where several spalls were found. The detailed descriptions on these defects can be found in [4].
After executing FPNES for damage assessment of the Da- Shi bridge, the hierarchical fuzzy Petri nets are constructed based on the modularized rule bases, and uncertain fuzzy tokens are transformed into these nets in order to fire tran- sitions and perform the reasoning mechanism (see Fig. 17).
The results of damage assessment using FPNES for the Da- Shi bridge are expressed in a hierarchical fashion to serve as an explanation mechanism to facilitate the retrieval of detailed information on damaged components from the top down to
Fig. 13. Factors related to shear crack in a girder.
Fig. 14. Part of rule bases for shear crack in an I-girder.
lower levels (see Fig. 18). The recommendations embedded in rule bases are also provided on an if-needed basis. As a result, the damage of the superstructure of the Da-Shi bridge is evaluated to be severe with common confidence (i.e., true) since the overall damage of the decks is fairly slight with fair confidence (i.e., fairly true), the overall damage of the -girders is severe with common confidence, and the overall damage of the diaphragms is very slight with strong confidence (i.e., very true). This result matches the experts’ judgments in the report; moreover, it is more informative than the report itself because the explanation provided in the system and the confidence level associated with the conclusions can be used as a way of justification on whether to take the recommendations into account or not.
VI. RELATED WORK
A number of researchers have addressed the use of expert systems for damage assessment for a variety of structures. We examine their studies below.
Ishizuka et al. developed a rule-based expert system (SPERIL-I) to assess damage states of existing buildings [20]. They advocated that the damage states of structures had the nature of fuzziness; therefore, a fuzzy degree of damage state was evaluated for a building based on the accelerometer record and visual inspection after it suffered earthquake excitation. The fuzzy rules with certainty factors were employed jointly in their inexact inference to cope with the continuous nature of the damage state. They also developed a fuzzy extension of Dempster’s rule of combination to
aggregate similar conclusions [21]. Ogawa et al. intended to represent damage states by not only fuzzy degrees but also certainty factors in the new system (SPERIL-II). Therefore, they improved the previous inference mechanism to handle fuzzy facts with certainty factors.
A damage-assessment technique for protective structures was proposed by Hadipriono and Ross [18]. The overall damage level of a protective structure was evaluated to a fuzzy degree after visual inspection. Fuzzy rules were constructed based on three damage criteria: functionality, repairability, and the structural integrity of the structure. Different from Zadeh’s fuzzy reasoning, their inference mechanism for fuzzy rules and facts was achieved by the notion of truth functional modification.
Rather than giving a single fuzzy degree, Shiraishi et al.
assessed reinforced concrete bridge decks by three items:
damage pattern, damage propagation, and damage cause [48].
Although fuzzy sets and certainty facts were included in their inference mechanism, partial matching was not allowed.
Meanwhile, they also used fuzzy truth values instead of certainty factors as an uncertainty model to develop an- other inference mechanism [14]. Recently, they made joint use of genetic algorithms and neural networks to support a knowledge-acquisition method [13].
Besides applying rule-based reasoning, most researchers used numerical computations for damage assessment. Some who implemented their techniques into expert systems are described briefly as follows. Ross et al. used a fuzzy weight average technique to assess reinforced concrete protective
Fig. 15. The fuzzy rule Petri net transformed from the rule bases of a shear crack in an I-girder.
structures by providing damage modes and fuzzy degrees [44]. Miyamoto et al. proposed a fuzzy mapping formalism to evaluate the remaining life and soundness degrees for concrete bridges [36]. They further improved their system by substituting neural networks for their fuzzy mapping for- malism [28]. Issa et al. established a bridge rating expert system, in which the rating methods considered were inventory rating, operating rating, rating factor rating, and sufficiency rating [22]. A strength rating was based on the evaluation of existing prestressed concrete bridges in accordance with the American Association of State Highway Transportation Officials specification, and inventory rating for all bridges according to the Federal Highway Administration guide for the Structure Inventory and Appraisal of the Nation’s Bridges.
Unlike other researchers, our approach does not impose any restriction on the inference mechanism, that is, the intended meaning is not required to be intact; meanwhile, the confidence level can be partially certain. Furthermore, our approach offers more informative results because the explanation provided in the system and the confidence level of the conclusions can be used as a way of justification on whether to take the recommendations into account or not (see Table I).
VII. CONCLUSION
A fuzzy Petri nets approach to modeling fuzzy rule-based reasoning is proposed to bring together the possibilistic entailment and the fuzzy reasoning to handle uncertain and imprecise information. The three key components in our fuzzy rule-based reasoning—fuzzy propositions, truth- qualified fuzzy rules, and truth-qualified fuzzy facts—can be formulated as fuzzy places, uncertain transitions, and uncertain fuzzy tokens, respectively. Four types of un- certain transitions—inference, aggregation, duplication, and aggregation-duplication transitions—are introduced to fulfill the mechanism of fuzzy rule-based reasoning. We also propose a framework of integrated expert systems based on our fuzzy Petri net, called fuzzy Petri net-based expert system. Major features of FPNES include: knowledge representation through the use of hierarchical fuzzy Petri nets, a reasoning mechanism based on fuzzy Petri nets, and transforming modularized fuzzy rule bases into hierarchical fuzzy Petri nets. An application to the damage assessment of the Da-Shi bridge in Taiwan is used as an illustrative example of FPNES. FPNES offers several benefits.
Fig. 16. The modularized rule bases for damage assessment of superstructure.
Fig. 17. Simulation of damage assessment for the Da-Shi bridge.
• The efficiency of rule-based reasoning is improved by designing an efficient reasoning algorithm based on fuzzy Petri nets.
• The explanation of how to reach conclusions is expressed through the movements of tokens in fuzzy Petri nets.
• The hierarchical fuzzy Petri nets make the handling of complex systems easy and facilitate reusability.
Our future work consists of two tasks: 1) to develop a knowledge verification scheme based on our fuzzy Petri nets and 2) to apply the proposed approach to other applications.
Fig. 18. Results of damage assessment for the Da-Shi bridge using FPNES.
APPENDIX A REASONING ALGORITHM
Our reasoning algorithm is used to manage the evolution of extended fuzzy marking. We describe it as follows:
Algorithm 1—Implementing Fuzzy Petri Nets:
1) Get the initial extended fuzzy marking , which consists of all source fuzzy places.
2) For each , set a current extended fuzzy marking and the next extended fuzzy marking .
3) Select an element of the current extended fuzzy marking . 4) a) If the output transition of is a duplication transi-
tion, then infer the extended fuzzy place
of each by duplication.
TABLE I
A SUMMARY OFRELATEDWORK ONEXPERTSYSTEMS FORDAMAGEASSESSMENT
b) Else if the output transition of is an inference transition, and the extended fuzzy place of each exists in , then infer the
extended fuzzy place of by
i) transformation, ii) inference, and iii) composition.
c) Else if the output transition of is an aggregation transition, and the extended fuzzy place of each
exists in , then infer the extended
fuzzy place of by i)
transformation, ii) aggregation, and iii) composition.
d) Else if the output transition of is an aggregation- duplication transition, and the extended fuzzy place
of each exists in , then
infer the extended fuzzy place of each by i) transformation, ii) aggregation, and iii) composition.
5) a) If the output transition of is fired, then insert the inferred extended fuzzy place into the next extended fuzzy marking .
b) If the output transition of is a hierarchy, then insert the extended fuzzy place into the hierarchy and wait for the final extended fuzzy marking of the hierarchy to be inserted into the current extended fuzzy marking.
c) Else insert this element and each into the next extended fuzzy marking .
6) Delete the element and each
from the current extended fuzzy marking.
7) Repeat steps 3)–6) until no element is in the current extended fuzzy marking.
8) Repeat steps 2)–7) until all output transitions in the current extended fuzzy marking are not fired.
9) Send the final extended fuzzy marking to the upper level hierarchy.
APPENDIX B
TRANSFORMATION ALGORITHMS
A labeling system for fuzzy propositions in rule bases is defined first. Each fuzzy proposition in a module is labeled
by , where denotes the rule number in this module, denotes right-hand side (RHS) or left-hand side (LHS) of this rule (1 for LHS and 2 for RHS), denotes the index of linguistic variable, denotes the index of fuzzy set, and refers to the module number for which is an importing or exporting linguistic variable. It should be noted that means that this fuzzy proposition has neither importing nor exporting linguistic variables. For example, in Fig. 8, “ is very severe” in the first rule in main module
is labeled as , where denotes “very
severe.”
Algorithm 2—Transforming Modularized Fuzzy Rules into Hierarchical Incidence Matrix:
1) Labeling: Label each fuzzy proposition in each truth- qualified fuzzy rule in sequence as
.
2) Inference Transition Part:
a) Create the row of fuzzy places ( ), whose ele-
ments are defined as .
b) Create the column of uncertain transition ( ), whose elements are defined as
means the fuzzy truth value of the th rule . c) Create the incidence matrix , where is
1 if i) ’s is , ii) its is 1, and iii) its is 0; is 1 if i) ’s is , ii) its is two, and iii) its is zero. is zero if ’s is not . 3) Aggregation-Duplication Transition Part: If 1) some
’s have the same and is zero and 2) parts of 1) have (called group 1) and the other parts of 1) have (called group 2), then:
a) insert an aggregation-duplication transition as the last element in the column of uncertain transition
;
b) add a new row at the bottom of the incidence matrix , where is 1 if is in group 2; is 1 if
is in group 1. is zero for the rest.
4) Repeat step 3) until no is satisfied.
5) Duplication Transition Part: If 1) some ’s have the same and is zero and 2) all of 1) have
(called group 1), then:
a) insert a duplication transition as the last element in the column of uncertain transition ;
b) insert a fuzzy place as the last element in the row of fuzzy place ;
c) add a new row at the bottom and a new column at the left end of the incidence matrix , where is 1 for the last element of the new row (or column), is 1 if is in group 1, and is zero for the rest.
6) Repeat step 5) until no is satisfied.
7) Aggregation Transition Part: If 1) some ’s have the same and is zero and 2) all of 1) have
(called group 1), then:
a) insert an aggregation transition as the last element in the column of uncertain transition ;
b) insert a fuzzy place as the last element in the row of fuzzy place ;
c) add a new row at the bottom and a new column at the left end of the incidence matrix , where is 1 for the last element of the new row (or column), is 1 if is in group 1, is zero for the rest.
8) Repeat step 7) until no is satisfied.
9) Hierarchy Part: If 1) some ’s have the same and is not zero and 2) part of 1) has (called group 1) and the other part of 1) has (called group 2), then:
a) insert a hierarchy as the last element in the column of uncertain transition ;
b) add a new row at the bottom of the incidence matrix , where is if is in group 2 and , an importing fuzzy place with respect to this hierarchy in , has the same in related ; and is if is in group 1 and , an exporting fuzzy place with respect to this hierarchy in , has the same
in related . is zero for the rest.
10) Repeat step 9) until no is satisfied.
Based on the hierarchical incidence matrix, hierarchical fuzzy Petri nets are constructed by an algorithm which is described below.
Algorithm 3—Transforming Hierarchical Incidence Matrix into Hierarchical Fuzzy Petri Nets:
1) Fuzzy Places: Draw fuzzy places based on the row of fuzzy places .
2) Uncertain Transitions: Draw uncertain transitions based on the column of uncertain transitions .
3) Arcs: Link fuzzy places and uncertain transitions based on the incidence matrix .
a) If is 1, then draw an arc from fuzzy place to uncertain transition .
b) Else If is 1, then draw an arc from uncertain transition to fuzzy place .
c) If is 1/ , then draw an arc from fuzzy place to hierarchy and an arc from hierarchy to fuzzy place in .
d) Else if is 1/ , then draw an arc from fuzzy place in to hierarchy and an arc from hierarchy
to fuzzy place .
e) Else if is zero, then there is no arc between uncertain transition and fuzzy place .
ACKNOWLEDGMENT
The authors would like to thank S. Lin for his early work on this project.
REFERENCES
[1] R. E. Bellman and L. A. Zadeh, “Local and fuzzy logics,” in Modern Uses of Multiple-Valued Logic, J. M. Dunn and G. Epstein, Eds.
Dordrecht, The Netherlands: Reidel, 1977, pp. 103–165.
[2] P. P. Bonissone, “Editorial: Reasoning with uncertainty in expert sys- tems,” Int. J. Man-Mach. Stud., vol. 22, pp. 241–250, 1985.
[3] A. J. Bugarin and S. Barro, “Fuzzy reasoning supported by Petri nets,”
IEEE Trans. Fuzzy Syst., vol. 2, no. 2, pp. 135–150, 1994.