This module implements the “classic” alpha miner [1]_.
It converts the input event log, which should be a log, to the (well-known) directly follows abstraction.
For example, when we have a trace of the form (control-flow perspective) <…a,b,…>, we observe the relation a>b, i.e.
activity a precedes activity b.
From the directly follows relations, the alpha relations parallelism (||), conflict (x) and causality (->) are deduced.
These relations form the basics for finding the places in the net.
Finally, a start and end place is added.
Applying Alpha Miner starting from the knowledge of the Directly Follows graph,
and of the start activities and end activities in the log inferred from the DFG
Parameters:
dfg – Directly-Follows graph
parameters –
Parameters of the algorithm including:
activity key -> name of the attribute that contains the activity
Returns:
net (pm4py.entities.petri.petrinet.PetriNet) – A Petri net describing the event log that is provided as an input
initial marking (pm4py.models.net.Marking) – marking object representing the initial marking
final marking (pm4py.models.net.Marking) – marking object representing the final marking, not guaranteed that it is actually reachable!
Applying Alpha Miner starting from the knowledge of the Directly Follows graph,
and of the start activities and end activities in the log (possibly inferred from the DFG)
Parameters:
dfg – Directly-Follows graph
start_activities – Start activities
end_activities – End activities
parameters –
Parameters of the algorithm including:
activity key -> name of the attribute that contains the activity
Returns:
net (pm4py.entities.petri.petrinet.PetriNet) – A Petri net describing the event log that is provided as an input
initial marking (pm4py.models.net.Marking) – marking object representing the initial marking
final marking (pm4py.models.net.Marking) – marking object representing the final marking, not guaranteed that it is actually reachable!