pm4py.algo.conformance.alignments.process_tree.variants.approximated package#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

Submodules#

pm4py.algo.conformance.alignments.process_tree.variants.approximated.calculate_a_sa_ea_sets module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

pm4py.algo.conformance.alignments.process_tree.variants.approximated.calculate_a_sa_ea_sets.initialize_a_sa_ea_tau_sets(pt: ProcessTree, a_sets=None, sa_sets=None, ea_sets=None, tau_sets=None)[source]#

pm4py.algo.conformance.alignments.process_tree.variants.approximated.matrix_lp module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.algo.conformance.alignments.process_tree.variants.approximated.matrix_lp.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

MAX_TRACE_LENGTH = 'max_trace_length'#
MAX_PROCESS_TREE_HEIGHT = 'max_process_tree_height'#
PARAMETER_VARIANT_DELIMITER = 'variant_delimiter'#
ACTIVITY_KEY = 'pm4py:param:activity_key'#
PARAM_MAX_ALIGN_TIME_TRACE = 'max_align_time_trace'#
PARAM_MAX_ALIGN_TIME = 'max_align_time'#
SUBTREE_ALIGN_CACHE = 'subtree_align_cache'#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.matrix_lp.apply_from_variants_tree_string(var_list, tree_string, parameters=None)[source]#

Apply the alignments from the specification of a list of variants in the log. The tree is specified as a PTML input

Parameters#

var_list

List of variants (for each item, the first entry is the variant itself, the second entry may be the number of cases)

tree_string

PTML string representing the tree

parameters

Parameters of the algorithm

Returns

pm4py.algo.conformance.alignments.process_tree.variants.approximated.matrix_lp.apply_from_variants_list(var_list, tree, parameters=None)[source]#

Apply the alignments from the specification of a list of variants in the log

Parameters#

var_list

List of variants (for each item, the first entry is the variant itself, the second entry may be the number of cases)

tree

Process tree

parameters

Parameters of the algorithm

Returns#

dictio_alignments

Dictionary that assigns to each variant its alignment

pm4py.algo.conformance.alignments.process_tree.variants.approximated.matrix_lp.apply(obj: Trace | EventLog, pt: ProcessTree, parameters=None)[source]#

Returns approximated alignments for a process tree

Parameters#

obj

Event log or trace (a conversion is done if necessary)

pt

Process tree

parameters

Parameters of the algorithm

Returns#

alignments

Approximated alignments

type pt:

ProcessTree

param obj:

param pt:

param parameters:

return:

pm4py.algo.conformance.alignments.process_tree.variants.approximated.original module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.algo.conformance.alignments.process_tree.variants.approximated.original.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

MAX_TRACE_LENGTH = 'max_trace_length'#
MAX_PROCESS_TREE_HEIGHT = 'max_process_tree_height'#
PARAMETER_VARIANT_DELIMITER = 'variant_delimiter'#
ACTIVITY_KEY = 'pm4py:param:activity_key'#
PARAM_MAX_ALIGN_TIME_TRACE = 'max_align_time_trace'#
PARAM_MAX_ALIGN_TIME = 'max_align_time'#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.original.apply_from_variants_tree_string(var_list, tree_string, parameters=None)[source]#

Apply the alignments from the specification of a list of variants in the log. The tree is specified as a PTML input

Parameters#

var_list

List of variants (for each item, the first entry is the variant itself, the second entry may be the number of cases)

tree_string

PTML string representing the tree

parameters

Parameters of the algorithm

Returns

pm4py.algo.conformance.alignments.process_tree.variants.approximated.original.apply_from_variants_list(var_list, tree, parameters=None)[source]#

Apply the alignments from the specification of a list of variants in the log

Parameters#

var_list

List of variants (for each item, the first entry is the variant itself, the second entry may be the number of cases)

tree

Process tree

parameters

Parameters of the algorithm

Returns#

dictio_alignments

Dictionary that assigns to each variant its alignment

pm4py.algo.conformance.alignments.process_tree.variants.approximated.original.apply(obj: Trace | EventLog, pt: ProcessTree, parameters=None)[source]#

Returns approximated alignments for a process tree

Parameters#

obj

Event log or trace (a conversion is done if necessary)

pt

Process tree

parameters

Parameters of the algorithm

Returns#

alignments

Approximated alignments

type pt:

ProcessTree

param obj:

param pt:

param parameters:

return:

pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

CLASSIC_ALIGNMENTS_VARIANT = 'classic_alignments_variant'#
CONVERSION_VERSION = 'petri_conversion_version'#
exception pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.AlignmentNoneException[source]#

Bases: Exception

class pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.EfficientTree(tree)[source]#

Bases: ProcessTree

pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.concatenate_traces(t1: Trace, t2: Trace) Trace[source]#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.trace_to_list_of_str(t: Trace) List[str][source]#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.list_of_str_to_trace(activities: List[str]) Trace[source]#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.get_activity_labels_from_trace(trace: Trace) Set[str][source]#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.apply_standard_cost_function_to_alignment(align: List) int[source]#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.empty_sequence_accepted(pt: ProcessTree) bool[source]#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.calculate_optimal_alignment(pt: ProcessTree, trace: Trace, parameters=None)[source]#
pm4py.algo.conformance.alignments.process_tree.variants.approximated.utilities.add_fitness_and_cost_info_to_alignments(alignment: List, pt: ProcessTree, trace: Trace, parameters=None) List[source]#