Calling alpha++ from CLI and sound nets

Mayke93Mayke93 Posts: 1
edited May 25 in Research
Hi!

I am working on a thesis doing some comparison and testing with different model inference tools.
For this, I am running prom via CLI and want to run experiments on the alpa++ miner, hybrid ILP, heuristics and inductive miner. I followed a blog post tutorial and used some info from this forum.

I have 2 questions:

  1. The alpha algorithm will not generate sound or at least connected nets, so I used alpha ++ and called it like this:
    // ALPHA++
    org.deckfour.xes.classification.XEventClassifier clss = new org.deckfour.xes.classification.XEventNameClassifier();
    pars = new org.processmining.alphaminer.parameters.AlphaMinerParameters(org.processmining.alphaminer.parameters.AlphaVersion.PLUS_PLUS);

    a_net = alpha_miner(log, clss, pars);
    However, this still seems to call the regular alpha miner as its output is not sound and running the input data in prom 6.11 does generate a connected net at least.
    Also, it seems to run infinitely on some inputs?

  2. I am having trouble finding out which packages exactly match the multiple options in ProM I get under the same name. Am I calling the right miners to get a sound or connected output?
    // INDUCTIVE
    org.processmining.plugins.InductiveMiner.mining.MiningParametersIM parameters = new org.processmining.plugins.InductiveMiner.mining.MiningParametersIM();
    pn_and_marking = mine_petri_net_with_inductive_miner_with_parameters(log, parameters);

    // HEURISTIC
    org.deckfour.xes.classification.XEventClassifier clss = new org.deckfour.xes.classification.XEventNameClassifier();
    org.processmining.plugins.heuristicsnet.miner.heuristics.miner.settings.HeuristicsMinerSettings hms = new org.processmining.plugins.heuristicsnet.miner.heuristics.miner.settings.HeuristicsMinerSettings();
    hms.setClassifier(clss);

    net = mine_for_a_heuristics_net_using_heuristics_miner(log, hms);
    h_net = convert_heuristics_net_into_petri_net(net);

    // ALPHA++
    org.deckfour.xes.classification.XEventClassifier clss = new org.deckfour.xes.classification.XEventNameClassifier();
    pars = new org.processmining.alphaminer.parameters.AlphaMinerParameters(org.processmining.alphaminer.parameters.AlphaVersion.PLUS_PLUS);

    a_net = alpha_miner(log, clss, pars);

    // Hybrid ILP
    org.deckfour.xes.classification.XEventClassifier clss = new org.deckfour.xes.classification.XEventNameClassifier();

    i_net = ilp_based_process_discovery(log, clss);
    With exception of the alpha miner these calls work and seem to generate sound models, but I need to know for sure.

Kind regards,
Mayke


**EDIT:
This is my .bat file
@GOTO start

:add
@set X=%X%;%1
@GOTO :eof

:start
@set X=.\dist\ProM-Framework-6.11.121.jar
@set X=%X%;.\dist\ProM-Contexts-6.11.67.jar
@set X=%X%;.\dist\ProM-Models-6.10.43.jar
@set X=%X%;.\dist\ProM-Plugins-6.9.75.jar

@for /R .\lib %%I IN ("*.jar") DO @call :add .\lib\%%~nI.jar

@jre8\bin\java^
-Xmx6G^
-da^
-classpath "%X%"^
-Djava.library.path=.//lib^
-Djava.system.class.loader=org.processmining.framework.util.ProMClassLoader^
-Djava.util.Arrays.useLegacyMergeSort=true^
org.processmining.contexts.cli.CLI %1 %2

set X=

Post edited by Mayke93 on
Sign In or Register to comment.