The following
is a * Correspondence Paper * on a paper titled "Knowledge
Representation Using fuzzy petri nets" by S. Chen, J. Ke and J. Chang
published in IEEE Transactions on knowledge and data engineering,
vol. 2., No. 3. , pp. 311-319 Sep 1990. ( This is referenced
as [1] in the following paper)

It is the outcome of the final year B.Tech project work
where we ( Soney Rajan B., Leena John and myself ) tried to implement
a ** Fuzzy inference Engine for a decision support system**. When we were searching for an appropriate
knowledge representation scheme, we came accross the above referenced
paper and tried to implement the algorithm presented. It was found to
be buggy and hence this paper.

The following paper is published in IEEE Transactions
on knowledge and data engineering Vol. 10, No. 4, July/August 1998.

* Abstract* - In the
paper titled "Knowledge Representation Using Fuzzy Petri
Nets"[1], Chen, Ke and Chang proposed an algorithm which
determine whether there exists an antecedent-consequence relation-ship
from a fuzzy proposition d

( i ) a modified form of the algorithm,

(ii) concept of hierarchical Fuzzy petri nets for data abstraction.

* Index terms* - Fuzzy
reasoning, Backward arc, Compound transition, Adjacency.

**1. INTRODUCTION**

In their paper [1], Chen, Ke and Chang have proposed
a fuzzy petri net model (FPN) to represent the fuzzy production
rules of a rule-based system and also an algorithm which can which
determine whether there exists an antecedent-consequence relation-ship
from a fuzzy proposition d_{s }to proposition d_{j}
and if the degree of truth of proposition d_{s} is given,
then the degree of truth of proposition d_{j} can be evaluated.
The fuzzy reasoning algorithm proposed in [1] was found not to
be working with all types of data. Here we propose ( i ) a modified
form of the algorithm, (ii) concept of hierarchical Fuzzy petri
nets for data abstraction.

**2. ISSUES IN THE ALGORITHM**

The algorithm proposed in [1] was found to respond incorrectly to some type of input data. Mainly we found the following problems with the algorithm--

- If the IRS of the current node contains goal place, then it will not consider any other path from the current node which may lead to the goal place. That is, the 'Otherwise part' of the algorithm of step 2 will not be executed.
- If the IRS of the current node contains goal place or all nodes in IRS have no adjacency or if all transitions from the node are fireable, then the algorithm does not mark the current node as terminal node and hence in the next iteration the current node will be chosen for processing and the algorithm will go in an infinite loop.

**3. MODIFIED FUZZY REASONING ALGORITHM
**

We propose a modified form of the algorithm. Here checking for 'backward arcs' is analogues to checking whether a node is already there in between the root node and the current node in the sprouting tree. If such a node is there in the tree, then the transition we are considering forms a 'backward arc' from the current place to a place already processed.

**The algorithm**

//Lower case letters stand for places, upper case letters stand for related nodes in sprouting tree. //p_{s}is starting place, p_{j}is goal place. Initial state : P_{s}is NonTerminal For each NonTerminal P_{i}do begin if p_{i}= p_{j}mark P_{i}Success; elseif p_{j}Ï RS( p_{i}) mark P_{i}Terminal; else for all p_{k}Î IRS( p_{i}) do begin if ( p_{j}Î RS( p_{k})) or ( p_{k}= p_{j}) begin if( AP_{ik}= F)and transition is enabled and no backward arcs create P_{k}, NonTerminal; else get truth values of adjacent places; if transition enabled and no backward arcs create P_{k}, NonTerminal; end end mark P_{i}Terminal; endif retrun maximum of truthvalues of Success nodes end

**4. HIERARCHICAL FUZZY PETRINETS**

We propose the concept of Hierarchical Fuzzy petri
nets for data abstraction. It is achieved by hiding details
in the form of **Compound transitions. ** This can help (i)
in generating the FPN for a system at different levels of abstraction,
(ii) to reducce effort in determing whether a place is reachable.
A compound transition is assumed to contain a whole fuzzy petri
net, representing a lower level module in the system. The concept
is illustrated in the figure 1 and 2(a). Figure 1 represents
a Fuzzy petri net which may be represented as a compound transition
as shown in figure 2(a).

While modelling higher level systems, in the place
of lower level modules one can use a compound transition which
represents the petri net of the lower level module. If we keep
the fuzzy production rules for each module in a separate file,
we can use those files to create the lower level petrinets.
While determining the reasoning path, lower nets are created
using these files so that full reasoning path includes the lower
level information if the path contains a compound transition.

**4. 1 Adjacency of a compound transition**

The concept of adjacency in the case of simple transitions[1] if applied to compound transitions, leads to complications.

Consider the figure 2(b). The places p_{a}
, p_{b }and p_{c }of the compound transition may
at first seem to be adjacent. But on careful examination, it
can be seen that the corresponding places in the lower net that
is p_{1} , p_{6} and p_{7} are not adjacent.
Adjacency of the places can be determined only by unfolding the
compound transition. Hence input places of a compound transition
can be deemed not adjacent.

**4.2 Firing of compound transition**

Firing of compound transition means the token in
the input place of the compound transition should reach its output
place. For this to happen, there should be an antecedent-consequence
relationship between the corresponding places in the lower net
represented by the compound transition. To do this, we should
'unfold' the lower net and apply the reasoning algorithm to it.
If an antecedent-consequence relationship is found, the maximum
success value returned by the algorithm is placed as the token
value in the output place of the compound transition and the compound
transition is said to have fired. If there is no such relationship,
we say that the compound transitions is not fireable.

**5. CONCLUSION**

We have been able to demonstrate a new algorithm for fuzzy reasoning using Fuzzy Petri Nets which overcomes the shortcomings of the algorithm in [1]. We have introduced Hierarchical Fuzzy Petri Nets to hide details in the form of compound transitions. This helps in building fuzzy models of complex systems in easy steps.