pm4py.algo.discovery.correlation_mining.util module#

pm4py.algo.discovery.correlation_mining.util.get_c_matrix(PS_matrix, duration_matrix, activities, activities_counter)[source]#

Calculates the C-matrix out of the PS matrix and the duration matrix

Parameters:
  • PS_matrix – PS matrix

  • duration_matrix – Duration matrix

  • activities – Ordered list of activities of the log

  • activities_counter – Counter of activities

Returns:

C matrix

Return type:

c_matrix

pm4py.algo.discovery.correlation_mining.util.resolve_LP(C_matrix, duration_matrix, activities, activities_counter)[source]#

Formulates and solve the LP problem

Parameters:
  • C_matrix – C_matrix

  • duration_matrix – Duration matrix

  • activities – Ordered list of activities of the log

  • activities_counter – Counter of activities

Returns:

  • dfg – Directly-Follows Graph

  • performance_dfg – Performance DFG (containing the estimated performance for the arcs)

pm4py.algo.discovery.correlation_mining.util.match_return_avg_time(ai, aj, exact=False)[source]#

Matches two list of times (exact or greedy) and returns the average.

Parameters:
  • ai – First list

  • aj – Second list

Returns:

Mean of times

Return type:

times_mean

pm4py.algo.discovery.correlation_mining.util.greedy_match_return_avg_time(ai, aj)[source]#

Matches two list of times with a greedy method and returns the average.

Parameters:
  • ai – First list

  • aj – Second list

  • parameters – Parameters of the algorithm

Returns:

Mean of times

Return type:

times_mean

pm4py.algo.discovery.correlation_mining.util.calculate_time_match_fifo(ai, aj, times0=None)[source]#

Associate the times between two lists of timestamps using FIFO

Parameters:
  • ai – First list of timestamps

  • aj – Second list of timestamps

  • times0 – Correspondence between execution times

Returns:

Correspondence between execution times

Return type:

times0

pm4py.algo.discovery.correlation_mining.util.calculate_time_match_rlifo(ai, aj, times1=None)[source]#

Associate the times between two lists of timestamps using LIFO (start from end)

Parameters:
  • ai – First list of timestamps

  • aj – Second list of timestamps

  • times0 – Correspondence between execution times

Returns:

Correspondence between execution times

Return type:

times0