To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

HM, Heuristics nets to Petri nets and Conformance Checker

nthy88nthy88 Posts: 2
edited February 2011 in ProM5

Dear all, 

I think I'm having some problems understanding the result of the conversion from Heuristic net to Petri net. The converted Petri net contains some invisible tasks (black box). From some papers of W.M.P. van der Aalst and A.J.M.M. Weijters, I learned that invisible tasks is used for ROUTING purposes. Still, I couldn't understand the mechanism of conversion from Heuristic net to Petri net, when and why I should use invisible tasks in the conversion. Can you please tell me where I can find information or some papers telling more details about this conversion. 

I'm using ProM 5.2 to discover process model. I used Heuristics Miner to mine the model. Heuristics Miner requires lot of parameters. Parameters of the algorithm are thresholds on:
Positive observations
Dependency measure
AND measure
Length-one loop
Length-two loop
Long distance

There're some problems with parameters. I'm not sure those parameters are independent or dependent. What is the relationship between them? If I increase or decrease each of these parameters, what is the noticeable effects to the final model? And I really want to find out the techniques for setting those parameters to get the best model. I couldn't also find any papers mentioning about these issues. 

After using Heuristics Miner to get the model, I convert the Heuristic net to Petri net to use Conformance Checker plugin. So I need to ensure the new model in Petri net notation represents the same process. 
My final purpose is to check the conformance between a model and an event logs contain noise. I choose Heuristics Miner for the reason of noise but when using Conformance Checker, I have to convert to Petri net. I'm not sure is there anything impact on the accuracy of the model after conversion 

Thank you in advance for your interest. Any help will be appreciated.


An Le, undergraduate student.
Department of Information Systems, Vietnam National University.


  • JBuijsJBuijs Posts: 914
    Dear An Le,

    I forwarded your question to the developer of the Heuristics miner.
    He should reply soon.
    Joos Buijs

    Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
    Previously Assistant Professor in Process Mining at Eindhoven University of Technology
  • thank you so much Joos Buijs. I'm waiting for the answer. This knowledge is really important to me. 
  • Dear An Le,

    The invisible tasks in the converted Petri Net result typically from complex input/output patterns. For instance, let's assume that the outputs of A are ( A or (B and C) ). Since there is a length-one loop (A -> A), one invisible task is needed to connect the output and input places of A. In order to handle the (B and C) case, another invisible task is created (connecting the output place of A and both input places of B and C). The point is that the direct conversion from HeuristicsNet to PetriNet is not always possible without invisible tasks. Besides this, some redundant invisible tasks (with no influence) may appear due to implementation issues. If needed, these invisible tasks may be removed using other ProM plugin.

    Details about the Heuristics Miner's thresholds can be found in:

    Concerning your last question, you may use the fitness measurement in the Heuristics Miner. Using the Conformance Checker is also a valid option but you need to be sure that both models are equivalent. As far as I know, there are some exceptional cases in which the converter does not perform well (for some odd patterns). So, some validation is needed when you are converting Heuristics Net into Petri Net.



  • pachfpachf Posts: 21
    Dear All,

    How can I use Heuristic Miner (or other ProM tool) for visualize parallel events (e.g. A and B which start and stop in the same time) to get a structure where B are presented not after A (connected by an arrow), but next of place A?


    How can we replace A->B->C  structure to: 

    A B
     | |

    structure if if A and B were in the same time?


Sign In or Register to comment.