Detecting Existence of Cycles in Petri Nets

An Algorithm that Computes Non-redundant (Nonzero) Parts of Sparse Adjacency Matrix
  • Reggie Davidrajuh
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 527)


Literature study reveals the existence of many algorithms for detecting cycles (also known as circuits) in directed graphs. Majority of these algorithms can be classified into two groups: (1) traversal algorithms (e.g. variants of depth-first-search algorithms), and (2) matrix-based algorithms (manipulation of the adjacency matrix and its power series). Adjacency matrix based algorithms are computationally simple and more compact than the traversal algorithms. However, a Petri net, due to its bipartite nature, possesses sparse matrix as adjacency matrix. Hence, the matrix based algorithms become inefficient as the algorithm work through redundant data most of its running time. In this paper, we take a closer look into the structure of the adjacency matrix of a Petri net and then propose an algorithm for detecting existence of cycles; the proposed algorithm is computationally efficient as its works through non-redundant data only, as well as simple, easy to understand and easy to implement.


Cycles detection Petri nets Directed graph 


  1. 1.
    GPenSIM V9. User Manual (2016).
  2. 2.
    Cormen, T.H.: Introduction to algorithms. MIT Press, Cambridge (2009)zbMATHGoogle Scholar
  3. 3.
    Tarjan, R.: Enumeration of the elementary circuits of a directed graph. SIAM J. Comput. 2(1973), 211–216 (1973)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Teirnan, J.C.: An efficient search algorithm to find the elementary circuits of a graph. Commun. ACM 13(1970), 722–726 (1970)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Johnson, D.B.: Finding all the elementary circuits of a directed graph. SIAM J. Comput. 4(1), 77–84 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Hruz, B., Zhou, M.C.: Modeling and Control of Discrete-event Dynamic Systems. Springer, Heidelberg (2007)zbMATHGoogle Scholar
  7. 7.
    Yamada, T., Kataoka, S.: On some LP problems for performance evaluation of timed marked graphs. IEEE Trans. Autom. Control 39, 696–698 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    GPenSIM code for Job Scheduling in Grid Computing:
  9. 9.
    Davidrajuh, R.: Developing a new petri net tool for simulation of discrete event systems. In: Proceedings of the Second Asia International Conference on Modeling & Simulation (AMS), pp. 861–866. IEEE (2008)Google Scholar
  10. 10.
    Buluç, A., Gilbert, J.R., Shah, V.B.: Implementing sparse matrices for graph algorithms. In: Graph Algorithms in the Language of Linear Algebra, pp. 22, 287 (2011)Google Scholar
  11. 11.
    Buluç, A., and Gilbert, J. R.: New ideas in sparse matrix-matrix multiplication. In: Graph Algorithms in the Language of Linear Algebra, pp. 22, 315 (2011)Google Scholar
  12. 12.
    Slavakis, K., Giannakis, G.B., Mateos, G.: Modeling and optimization for big data analytics: (statistical) learning tools for our era of data deluge. IEEE Signal Process. Mag. 31(5), 18–31 (2014)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Department of Electrical and Computer EngineeringUniversity of StavangerStavangerNorway

Personalised recommendations