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 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.
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 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--
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. //ps is starting place, pj is goal place. Initial state : Ps is NonTerminal For each NonTerminal Pi do begin if pi = pj mark Pi Success; elseif pj Ï RS( pi ) mark Pi Terminal; else for all pk Î IRS( pi ) do begin if ( pj Î RS( pk )) or ( pk = pj ) begin if( APik = F)and transition is enabled and no backward arcs create Pk , NonTerminal; else get truth values of adjacent places; if transition enabled and no backward arcs create Pk , NonTerminal; end end mark Pi 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 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.