pm4py.algo.discovery.inductive.cuts.sequence module#

class pm4py.algo.discovery.inductive.cuts.sequence.SequenceCut[source]#

Bases: Cut[T], ABC, Generic[T]

classmethod operator(parameters: Dict[str, Any] | None = None) ProcessTree[source]#
static check_merge_condition(g1, g2, trans_succ)[source]#
static merge_groups(groups, trans_succ)[source]#
classmethod holds(obj: T, parameters: Dict[str, Any] | None = None) List[Collection[Any]] | None[source]#

This method finds a sequence cut in the dfg. Implementation follows function sequence on page 188 of “Robust Process Mining with Guarantees” by Sander J.J. Leemans (ISBN: 978-90-386-4257-4)

Basic Steps: 1. create a group per activity 2. merge pairwise reachable nodes (based on transitive relations) 3. merge pairwise unreachable nodes (based on transitive relations) 4. sort the groups based on their reachability

class pm4py.algo.discovery.inductive.cuts.sequence.StrictSequenceCut[source]#

Bases: SequenceCut[T], ABC, Generic[T]

classmethod holds(obj: T, parameters: Dict[str, Any] | None = None) List[Collection[Any]] | None[source]#

This method implements the strict sequence cut as defined on page 233 of “Robust Process Mining with Guarantees” by Sander J.J. Leemans (ISBN: 978-90-386-4257-4) The function merges groups that together can be skipped.

class pm4py.algo.discovery.inductive.cuts.sequence.SequenceCutUVCL[source]#

Bases: SequenceCut[IMDataStructureUVCL]

classmethod project(obj: IMDataStructureUVCL, groups: List[Collection[Any]], parameters: Dict[str, Any] | None = None) List[IMDataStructureUVCL][source]#

Projection of the given data object (Generic type T). Returns a corresponding process tree and the projected sub logs according to the identified groups. A precondition of the project function is that it holds on the object for the given Object

class pm4py.algo.discovery.inductive.cuts.sequence.StrictSequenceCutUVCL[source]#

Bases: StrictSequenceCut[IMDataStructureUVCL], SequenceCutUVCL

classmethod holds(obj: T, parameters: Dict[str, Any] | None = None) List[Collection[Any]] | None[source]#

This method implements the strict sequence cut as defined on page 233 of “Robust Process Mining with Guarantees” by Sander J.J. Leemans (ISBN: 978-90-386-4257-4) The function merges groups that together can be skipped.

class pm4py.algo.discovery.inductive.cuts.sequence.SequenceCutDFG[source]#

Bases: SequenceCut[IMDataStructureDFG]

classmethod project(obj: IMDataStructureDFG, groups: List[Collection[Any]], parameters: Dict[str, Any] | None = None) List[IMDataStructureDFG][source]#

Projection of the given data object (Generic type T). Returns a corresponding process tree and the projected sub logs according to the identified groups. A precondition of the project function is that it holds on the object for the given Object

class pm4py.algo.discovery.inductive.cuts.sequence.StrictSequenceCutDFG[source]#

Bases: StrictSequenceCut[IMDataStructureDFG], SequenceCutDFG

classmethod holds(obj: T, parameters: Dict[str, Any] | None = None) List[Collection[Any]] | None[source]#

This method implements the strict sequence cut as defined on page 233 of “Robust Process Mining with Guarantees” by Sander J.J. Leemans (ISBN: 978-90-386-4257-4) The function merges groups that together can be skipped.