pm4py.algo.conformance.alignments.dfg.variants package

Submodules

pm4py.algo.conformance.alignments.dfg.variants.classic 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.dfg.variants.classic.Outputs(value)[source]

Bases: enum.Enum

An enumeration.

ALIGNMENT = 'alignment'
CLOSED = 'closed'
COST = 'cost'
INTERNAL_COST = 'internal_cost'
VISITED = 'visited_states'
class pm4py.algo.conformance.alignments.dfg.variants.classic.Parameters(value)[source]

Bases: enum.Enum

An enumeration.

ACTIVITY_KEY = 'pm4py:param:activity_key'
INTERNAL_LOG_MOVE_COST_FUNCTION = 'internal_log_move_cost_function'
LOG_MOVE_COST_FUNCTION = 'log_move_cost_function'
MODEL_MOVE_COST_FUNCTION = 'model_move_cost_function'
PARAMETER_VARIANT_DELIMITER = 'variant_delimiter'
SYNC_COST_FUNCTION = 'sync_cost_function'
pm4py.algo.conformance.alignments.dfg.variants.classic.apply(obj: Union[pm4py.objects.log.obj.EventLog, pm4py.objects.log.obj.Trace], dfg: Dict[Tuple[str, str], int], sa: Dict[str, int], ea: Dict[str, int], parameters: Optional[Dict[Union[str, pm4py.algo.conformance.alignments.dfg.variants.classic.Parameters], Any]] = None) Union[Dict[str, Any], List[Dict[str, Any]]][source]

Applies the alignment algorithm provided a log/trace object, and a connected DFG

Parameters
  • obj – Event log / Trace

  • dfgConnected directly-Follows Graph

  • sa – Start activities

  • ea – End activities

  • parameters – Parameters of the algorithm: - Parameters.SYNC_COST_FUNCTION: for each activity that is in both the trace and the model, provide the non-negative cost of a sync move - Parameters.MODEL_MOVE_COST_FUNCTION: for each activity that is in the model, provide the non-negative cost of a model move - Parameters.LOG_MOVE_COST_FUNCTION: for each activity that is in the trace, provide the cost of a log move that is returned in the alignment to the user (but not used internally for ordering the states) - Parameters.INTERNAL_LOG_MOVE_COST_FUNCTION: for each activity that is in the trace, provide the cost of a log move that is used internally for ordering the states in the search algorithm. - Parameters.ACTIVITY_KEY: the attribute of the log that is the activity

Returns

Result of the alignment

Return type

ali

pm4py.algo.conformance.alignments.dfg.variants.classic.apply_from_variant(variant, dfg, sa, ea, parameters=None)[source]
pm4py.algo.conformance.alignments.dfg.variants.classic.apply_from_variants_list(var_list, dfg, sa, ea, parameters=None)[source]
pm4py.algo.conformance.alignments.dfg.variants.classic.apply_from_variants_list_dfg_string(var_list, dfg_serialization, parameters=None)[source]
pm4py.algo.conformance.alignments.dfg.variants.classic.apply_log(log, dfg, sa, ea, parameters=None)[source]

Applies the alignment algorithm provided a log object, and a connected DFG

Parameters
  • log – Event log

  • dfgConnected DFG

  • sa – Start activities

  • ea – End activities

  • parameters – Parameters of the algorithm: - Parameters.SYNC_COST_FUNCTION: for each activity that is in both the trace and the model, provide the non-negative cost of a sync move - Parameters.MODEL_MOVE_COST_FUNCTION: for each activity that is in the model, provide the non-negative cost of a model move - Parameters.LOG_MOVE_COST_FUNCTION: for each activity that is in the trace, provide the cost of a log move that is returned in the alignment to the user (but not used internally for ordering the states) - Parameters.INTERNAL_LOG_MOVE_COST_FUNCTION: for each activity that is in the trace, provide the cost of a log move that is used internally for ordering the states in the search algorithm. - Parameters.ACTIVITY_KEY: the attribute of the log that is the activity

Returns

For each trace, contains a dictionary describing the alignment

Return type

aligned_traces

pm4py.algo.conformance.alignments.dfg.variants.classic.apply_trace(trace, dfg, sa, ea, parameters=None)[source]

Applies the alignment algorithm provided a trace of a log, and a connected DFG

Parameters
  • trace – Trace

  • dfgConnected DFG

  • sa – Start activities

  • ea – End activities

  • parameters – Parameters of the algorithm: - Parameters.SYNC_COST_FUNCTION: for each activity that is in both the trace and the model, provide the non-negative cost of a sync move - Parameters.MODEL_MOVE_COST_FUNCTION: for each activity that is in the model, provide the non-negative cost of a model move - Parameters.LOG_MOVE_COST_FUNCTION: for each activity that is in the trace, provide the cost of a log move that is returned in the alignment to the user (but not used internally for ordering the states) - Parameters.INTERNAL_LOG_MOVE_COST_FUNCTION: for each activity that is in the trace, provide the cost of a log move that is used internally for ordering the states in the search algorithm. - Parameters.ACTIVITY_KEY: the attribute of the log that is the activity

Returns

Dictionary describing the alignment

Return type

ali

pm4py.algo.conformance.alignments.dfg.variants.classic.dijkstra_to_end_node(dfg, sa, ea, start_node, end_node, activities_model, sync_cost_function, model_move_cost_function)[source]

Gets the cost of the minimum path from a node to the end node

Parameters
  • dfgConnected DFG

  • sa – Start activities

  • ea – End activities

  • start_node – Start node of the graph (connected to all the start activities)

  • end_node – End node of the graph (connected to all the end activities)

  • activities_model – Set of the activities contained in the DFG

  • sync_cost_function – Given an activity, provides the cost when the activity is executed in a sync way

  • model_move_cost_function – Given an activity, provides the cost when the activity is executed as a move-on-model

Returns

Dictionary associating to each node the cost to the end node

Return type

cost_to_end_node

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/>.