pm4py.objects.dfg.utils.dfg_utils module#
- pm4py.objects.dfg.utils.dfg_utils.get_outgoing_edges(dfg)[source]#
Gets outgoing edges of the provided DFG graph
- pm4py.objects.dfg.utils.dfg_utils.get_ingoing_edges(dfg)[source]#
Get ingoing edges of the provided DFG graph
- pm4py.objects.dfg.utils.dfg_utils.infer_start_activities(dfg)[source]#
Infer start activities from a Directly-Follows Graph
- Parameters:
dfg – Directly-Follows Graph
- Returns:
Start activities in the log
- Return type:
- pm4py.objects.dfg.utils.dfg_utils.infer_end_activities(dfg)[source]#
Infer end activities from a Directly-Follows Graph
- Parameters:
dfg – Directly-Follows Graph
- Returns:
End activities in the log
- Return type:
- pm4py.objects.dfg.utils.dfg_utils.infer_start_activities_from_prev_connections_and_current_dfg(initial_dfg, dfg, activities, include_self=True)[source]#
Infer the start activities from the previous connections
- Parameters:
initial_dfg – Initial DFG
dfg – Directly-follows graph
activities – List of the activities contained in DFG
- pm4py.objects.dfg.utils.dfg_utils.infer_end_activities_from_succ_connections_and_current_dfg(initial_dfg, dfg, activities, include_self=True)[source]#
Infer the end activities from the previous connections
- Parameters:
initial_dfg – Initial DFG
dfg – Directly-follows graph
activities – List of the activities contained in DFG
- pm4py.objects.dfg.utils.dfg_utils.get_outputs_of_outside_activities_going_to_start_activities(initial_dfg, dfg, activities)[source]#
Get outputs of outside activities going to start activities
- Parameters:
initial_dfg – Initial DFG
dfg – Directly-follows graph
activities – Activities contained in the DFG
- pm4py.objects.dfg.utils.dfg_utils.get_inputs_of_outside_activities_reached_by_end_activities(initial_dfg, dfg, activities)[source]#
Get inputs of outside activities going to start activities
- Parameters:
initial_dfg – Initial DFG
dfg – Directly-follows graph
activities – Activities contained in the DFG
- pm4py.objects.dfg.utils.dfg_utils.get_activities_from_dfg(dfg)[source]#
Get the list of attributes directly from DFG graph
- Parameters:
dfg – Directly-Follows graph
- Returns:
List of activities that are present in the DFG graph
- Return type:
list_activities
- pm4py.objects.dfg.utils.dfg_utils.get_max_activity_count(dfg, act)[source]#
Get maximum count of an ingoing/outgoing edge related to an activity
- Parameters:
dfg – Directly-Follows graph
act – Activity
- Returns:
Maximum count of ingoing/outgoing edges to attributes
- Return type:
max_value
- pm4py.objects.dfg.utils.dfg_utils.sum_ingoutg_val_activ(dictio, activity)[source]#
Gets the sum of ingoing/outgoing values of an activity
- Parameters:
dictio – Dictionary
activity – Current examined activity
- Return type:
summ
- pm4py.objects.dfg.utils.dfg_utils.max_occ_all_activ(dfg)[source]#
Get maximum ingoing/outgoing sum of values related to attributes in DFG graph
- pm4py.objects.dfg.utils.dfg_utils.max_occ_among_specif_activ(dfg, activities)[source]#
Get maximum ingoing/outgoing sum of values related to attributes in DFG graph (here attributes to consider are specified)
- pm4py.objects.dfg.utils.dfg_utils.sum_start_activities_count(dfg)[source]#
Gets the sum of start attributes count inside a DFG
- Parameters:
dfg – Directly-Follows graph
- Return type:
Sum of start attributes count
- pm4py.objects.dfg.utils.dfg_utils.sum_end_activities_count(dfg)[source]#
Gets the sum of end attributes count inside a DFG
- Parameters:
dfg – Directly-Follows graph
- Return type:
Sum of start attributes count
- pm4py.objects.dfg.utils.dfg_utils.sum_activities_count(dfg, activities, enable_halving=True)[source]#
Gets the sum of specified attributes count inside a DFG
- Parameters:
dfg – Directly-Follows graph
activities – Activities to sum
enable_halving – Halves the sum in specific occurrences
- Return type:
Sum of start attributes count
- pm4py.objects.dfg.utils.dfg_utils.filter_dfg_on_act(dfg, listact)[source]#
Filter a DFG graph on a list of attributes (to produce a projected DFG graph)
- Parameters:
dfg – Current DFG graph
listact – List of attributes to filter on
- pm4py.objects.dfg.utils.dfg_utils.negate(dfg)[source]#
Negate relationship in the DFG graph
- Parameters:
dfg – Directly-Follows graph
- Returns:
Negated Directly-Follows graph (for parallel cut detection)
- Return type:
negated_dfg
- pm4py.objects.dfg.utils.dfg_utils.get_activities_direction(dfg, activities)[source]#
Calculate activities direction (in a similar way to Heuristics Miner)
- Parameters:
dfg – Directly-follows graph
activities – (if provided) activities of the subtree
- Returns:
Dictionary that contains for each direction a number that goes from -1 (all ingoing edges) to 1 (all outgoing edges)
- Return type:
direction
- pm4py.objects.dfg.utils.dfg_utils.get_activities_dirlist(activities_direction)[source]#
Form an ordered list out of a dictionary that contains for each activity the direction (going from -1 if all ingoing edges, to 1 if all outgoing edges)
- Parameters:
activities_direction – Dictionary that contains for each direction a number that goes from -1 (all ingoing edges) to 1 (all outgoing edges)
- Returns:
Sorted list of couples of activity plus the direction
- Return type:
dirlist
- pm4py.objects.dfg.utils.dfg_utils.get_activities_self_loop(dfg)[source]#
Get attributes that are in self-loop in this subtree
- Parameters:
dfg – Directly-follows graph
- Returns:
Activities of the graph that are in subloop
- Return type:
self_loop_act
- pm4py.objects.dfg.utils.dfg_utils.get_connected_components(ingoing, outgoing, activities, force_insert_missing_acti=True)[source]#
Get connected components in the DFG graph
- Parameters:
ingoing – Ingoing attributes
outgoing – Outgoing attributes
activities – Activities to consider
force_insert_missing_acti – Force the insertion of a missing activity
- pm4py.objects.dfg.utils.dfg_utils.add_to_most_probable_component(comps, act2, ingoing, outgoing)[source]#
Adds a lost component in parallel cut detection to the most probable component
- Parameters:
comps – Connected components
act2 – Activity that has been missed
ingoing – Map of ingoing attributes
outgoing – Map of outgoing attributes
- Returns:
Fixed connected components
- Return type:
comps
- pm4py.objects.dfg.utils.dfg_utils.get_all_activities_connected_as_output_to_activity(dfg, activity)[source]#
Gets all the activities that are connected as output to a given activity
- Parameters:
dfg – Directly-follows graph
activity – Activity
- Returns:
All activities connected as output to a given activity
- Return type:
all_activities
- pm4py.objects.dfg.utils.dfg_utils.get_all_activities_connected_as_input_to_activity(dfg, activity)[source]#
Gets all the activities that are connected as input to a given activity
- Parameters:
dfg – Directly-follows graph
activity – Activity
- Returns:
All activities connected as input to a given activities
- Return type:
all_activities
- pm4py.objects.dfg.utils.dfg_utils.get_dfg_np_matrix(dfg)[source]#
Gets a Numpy matrix describing the DFG graph, along with a dictionary making correspondence between indexes and activities names
- Parameters:
dfg – Directly-Follows graph
- Returns:
matrix – Matrix describing the DFG
index_corresp – Dictionary making correspondence between indexes and activities names
- pm4py.objects.dfg.utils.dfg_utils.get_dfg_sa_ea_act_from_variants(variants, parameters=None)[source]#
Gets the DFG, the start and end activities, and the activities from the dictionary/set/list of variants in the log
- Parameters:
variants – Dictionary/set/list of variants
parameters – Parameters of the algorithm, including: - variants_sep: the delimiter splitting activities in a variant
- Returns:
dfg – DFG
list_act – List of different activities
start_activities – Start activities
end_activities – End activities
- pm4py.objects.dfg.utils.dfg_utils.transform_dfg_to_directed_nx_graph(dfg, activities=None)[source]#
Transform DFG to directed NetworkX graph
- Returns:
G – NetworkX digraph
nodes_map – Correspondence between digraph nodes and activities
- pm4py.objects.dfg.utils.dfg_utils.get_successors(dfg, activities_model=None)[source]#
Gets the successors of any node of the DFG graph
- Parameters:
dfg – DFG
activities_model – Activities of the process model (if None, it is inferred from the process model)
- Returns:
Dictionary associating to each node all the descendants
- Return type:
successors
- pm4py.objects.dfg.utils.dfg_utils.get_predecessors(dfg, activities_model=None)[source]#
Gets the predecessors of any node of the DFG graph
- Parameters:
dfg – DFG
activities_model – Activities of the process model (if None, it is inferred from the process model)
- Returns:
Dictionary associating to each node all the ascendants
- Return type:
predecessors
- pm4py.objects.dfg.utils.dfg_utils.get_transitive_relations(dfg, alphabet)[source]#
- Parameters:
dfg – directly follows relation (counter describing activity pairs)
- Returns:
tuple with two dicts.
first argument maps an activit on all other activities that are able to reach the activity (‘transitive pre set’)
second argument maps an activity on all other activities that it can reach (transitively) (‘transitive post set’)