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.





KNOWLEDGE REPRESENTATION USING FUZZY PETRI NETS - REVISITED

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


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.