pm4py.algo.conformance.alignments.decomposed.variants package

Submodules

pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal module

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

class pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.Parameters[source]

Bases: enum.Enum

An enumeration.

ACTIVITY_KEY = 'pm4py:param:activity_key'
BEST_WORST_COST = 'best_worst_cost'
ICACHE = 'icache'
MCACHE = 'mcache'
PARAMETER_VARIANT_DELIMITER = 'variant_delimiter'
PARAM_MAX_ALIGN_TIME = 'max_align_time'
PARAM_MAX_ALIGN_TIME_TRACE = 'max_align_time_trace'
PARAM_MODEL_COST_FUNCTION = 'model_cost_function'
PARAM_SYNC_COST_FUNCTION = 'sync_cost_function'
PARAM_THRESHOLD_BORDER_AGREEMENT = 'thresh_border_agreement'
PARAM_TRACE_COST_FUNCTION = 'trace_cost_function'
PARAM_TRACE_NET_COSTS = 'trace_net_costs'
SHOW_PROGRESS_BAR = 'show_progress_bar'
pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.align(trace, petri_net, initial_marking, final_marking, parameters=None)[source]
pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.apply(log: pm4py.objects.log.obj.EventLog, net: pm4py.objects.petri_net.obj.PetriNet, im: pm4py.objects.petri_net.obj.Marking, fm: pm4py.objects.petri_net.obj.Marking, parameters: Optional[Dict[Union[str, pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.Parameters], Any]] = None) → List[Dict[str, Any]][source]

Apply the recomposition alignment approach to a log and a Petri net performing decomposition

Parameters:
  • log – Event log
  • net – Petri net
  • im – Initial marking
  • fm – Final marking
  • parameters – Parameters of the algorithm
Returns:

For each trace, return its alignment

Return type:

aligned_traces

pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.apply_from_variants_list(var_list, petri_net, initial_marking, final_marking, 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)
  • petri_net – Petri net
  • initial_marking – Initial marking
  • final_marking – Final marking
  • parameters – Parameters of the algorithm (same as ‘apply’ method, plus ‘variant_delimiter’ that is , by default)
Returns:

Dictionary that assigns to each variant its alignment

Return type:

dictio_alignments

pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.apply_from_variants_list_petri_string(var_list, petri_net_string, parameters=None)[source]
pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.apply_log(log, list_nets, parameters=None)[source]

Apply the recomposition alignment approach to a log and a decomposed Petri net

Parameters:
  • log – Log
  • list_nets – Decomposition
  • parameters – Parameters of the algorithm
Returns:

For each trace, return its alignment

Return type:

aligned_traces

pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.apply_trace(trace, list_nets, parameters=None)[source]

Align a trace against a decomposition

Parameters:
  • trace – Trace
  • list_nets – List of Petri nets (decomposed)
  • parameters – Parameters of the algorithm
Returns:

Alignment of the trace

Return type:

alignment

pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.get_acache(cons_nets)[source]

Calculates the A-Cache of the given decomposition

Parameters:cons_nets – List of considered nets
Returns:A-Cache
Return type:acache
pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.get_alres(al)[source]

Gets a description of the alignment for the border agreement

Parameters:al – Alignment
Returns:Description of the alignment
Return type:alres
pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.get_best_worst_cost(petri_net, initial_marking, final_marking, parameters=None)[source]
pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.order_nodes_second_round(to_visit, G0)[source]

Orders the second round of nodes to visit to reconstruct the alignment

Parameters:
  • to_visit – Node to visit
  • G0 – Recomposition graph
Returns:

Sorted list of nodes

Return type:

to_visit

pm4py.algo.conformance.alignments.decomposed.variants.recompos_maximal.recompose_alignment(cons_nets, cons_nets_result)[source]

Alignment recomposition

Parameters:
  • cons_nets – Decomposed Petri net elements
  • cons_nets_result – Result of the alignments on such elements
  • parameters – Parameters of the method
Returns:

Recomposed alignment

Return type:

alignment

Module contents

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.