## 3 Background on Fuzzy Petri Nets  
Fuzzy Petri nets (FPN) [20] can be used to represent structured knowledge and describe the procedure for supporting fuzzy reasoning automatically in a rule-based expert system. A generalized fuzzy Petri net is defined as a 10-tuple,  
\[FPN=(P,T,I,O,D,W,\mu,f,\alpha,\beta) \tag{1}\]  
where  
\(P=\{p_{1},p_{2},\ldots,p_{n}\}\) denotes a finite nonempty set of places;  
\(T=\{t_{1},t_{2},\ldots,t_{m}\}\) denotes a finite nonempty set of transitions;  
\(I:T\to P^{\infty}\) is the input function,  
\(\alpha:P\rightarrow[0,1]\) is an association function which maps from places to real values between zero and one;  
\(\beta:P\to D\) is also an association function mapping from places to propositions. Fuzzy Petri nets are different from ordinary Petri nets due to the features of fuzzy production rule systems that are different from discrete event systems [21]. In FPN, the number of tokens in a place cannot be greater than one. Furthermore, a token is associated with a truth degree between zero and one. A token does not represent a \"resource\", whereas it may likely do so in ordinary Petri nets. The enabling and firing rules in FPN are given as follows:  
1. A transition \(t\in T\) is said to be enabled if \(\forall p\in^{\bullet}t:M(p)=1\land\alpha(p)\times W\geq f\), denoted as \(M[t>\). 2. Enabled at marking \(M\), \(t\) may fire resulting in a new marking \(M^{\prime}\), denoted as \(M[t>M^{\prime}\), and that \[M^{\prime}(p)=\left\{ \begin{array}{rcl}M(p)&:&p\in^{\bullet}t\setminus t^{ \bullet}\\ F(M(p)+\alpha(p)\times W\times\mu(t))&:&p\in t^{\bullet}\setminus^{\bullet}t \\ M(p)&:&\mbox{otherwise}\end{array} \right.\] where \[F(x)=\left\{ \begin{array}{rcl}x&\mbox{if}&0<x<1\\ 1&\mbox{if}&x\geq 1\end{array} \right.\] Fuzzy Petri nets may depict the fuzzy relationships between many propositions. Suppose a set \(R\) of fuzzy production rules, \(R=\{r_{1},r_{2},\ldots,r_{n}\}\), the \(i\)th fuzzy production rule is given as follows: \[R_{i}:\mbox{IF}\;\;d_{j}\;\mbox{THEN}\;\;d_{k}\;\;(CF=\mu_{i})\;\;(i=1,2, \ldots,n)\] (2) where \(d_{j}\) and \(d_{k}\) are propositions with some fuzzy variables. The certainty factor (CF) is a value between zero and one, \(\mu\in[0,1]\), which represents the strength of the certainty in the fuzzy production rule. The fuzzy Petri net model for Equation (2) is shown in Figure 1. Assuming the truth degree of the proposition \"the residual energy is high\" is 0.8, the transition \(t_{1}\) fires from its input place (\(p_{1}\)) into an output place (\(p_{2}\)). The certainty factor is 0.9. The truth degree value in the output place (\(p_{2}\)) of \(t_{1}\) is calculated as 0.72 (by 0.8\(\times\) 0.9) when \(t_{1}\) fires. According to the value, the node with higher residual energy may be elected as the cluster head. A composite fuzzy production rule denotes its antecedent or consequence portion contains AND or OR connector. The composite fuzzy production rules can be classified into the following types:  
* **Type** 1: IF \(d_{j1}\) AND \(d_{j2}\) AND \(\ldots\) AND \(d_{jn}\) THEN \(d_{k}\) (CF=\(\mu_{j}\)). This rule type can be modelled by FPN as shown in Figure 2(a), and its fuzzy reasoning process is shown in Figure 2(b). * **Type** 2: IF \(d_{j}\) THEN \(d_{k1}\) AND \(d_{k2}\) AND \(\ldots\) AND \(d_{kn}\) (CF=\(\mu_{j}\)). This rule type can be modelled by FPN as shown in Figure 3(a), and its fuzzy reasoning process is shown in Figure 3(b). * **Type** 3: IF \(d_{j1}\) OR \(d_{j2}\) OR \(\ldots\) OR \(d_{jn}\) THEN \(d_{k}\) (CF=\(\mu_{j}\)). This rule type can be modelled by FPN as shown in Figure 4(a), and its fuzzy reasoning process is shown in Figure 4(b). * **Type 4**: IF \(d_{j}\) THEN \(d_{k1}\) OR \(d_{k2}\) OR \(\ldots\) OR \(d_{kn}\) (CF=\(\mu_{j}\)). This rule type is unsuitable for deducing control because they do not make specific implication. Therefore, this rule is not allowed to appear in a knowledge base [20].