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.

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 ds to proposition dj
and if the degree of truth of proposition ds is given,
then the degree of truth of proposition dj 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.

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 ds to proposition dj
and if the degree of truth of proposition ds is given,
then the degree of truth of proposition dj 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.

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).

figure 1. A fuzzy petri net

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 pa
, pb and pc 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 p1 , p6 and p7 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.