pm4py.algo.discovery.inductive.util package

Submodules

pm4py.algo.discovery.inductive.util.cut_detection 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/>.

pm4py.algo.discovery.inductive.util.cut_detection.detect_sequential_cut(subtree, dfg, strongly_connected_components)[source]

Detect sequential cut in DFG graph

Parameters:
  • dfg – DFG
  • strongly_connected_components – Strongly connected components

pm4py.algo.discovery.inductive.util.detection_utils 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/>.

pm4py.algo.discovery.inductive.util.detection_utils.get_connected_components(ingoing, outgoing, activities)[source]

Get connected components in the DFG graph

Parameters:
  • ingoing – Ingoing attributes
  • outgoing – Outgoing attributes
  • activities – Activities to consider
pm4py.algo.discovery.inductive.util.detection_utils.get_connection_matrix(strongly_connected_components, dfg)[source]

Gets the connection matrix between connected components

Parameters:
  • strongly_connected_components – Strongly connected components
  • dfg – DFG
Returns:

Matrix reporting the connections

Return type:

connection_matrix

pm4py.algo.discovery.inductive.util.detection_utils.perform_list_union(lst)[source]

Performs the union of a list of sets

Parameters:lst – List of sets
Returns:United set
Return type:un_set

pm4py.algo.discovery.inductive.util.parallel_cut_utils 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/>.

pm4py.algo.discovery.inductive.util.parallel_cut_utils.check_if_comp_is_completely_unconnected(conn1, conn2, ingoing, outgoing)[source]

Checks if two connected components are completely unconnected each other

Parameters:
  • conn1 – First connected component
  • conn2 – Second connected component
  • ingoing – Ingoing dictionary
  • outgoing – Outgoing dictionary
Returns:

Boolean value that tells if the two connected components are completely unconnected

Return type:

boolean

pm4py.algo.discovery.inductive.util.parallel_cut_utils.check_par_cut(conn_components, ingoing, outgoing)[source]

Checks if in a parallel cut all relations are present

Parameters:
  • conn_components – Connected components
  • ingoing – Ingoing dictionary
  • outgoing – Outgoing dictionary
pm4py.algo.discovery.inductive.util.parallel_cut_utils.check_sa_ea_for_each_branch(conn_components, start_activities, end_activities)[source]

Checks if each branch of the parallel cut has a start and an end node of the subgraph

Parameters:conn_components – Parallel cut
Returns:True if each branch of the parallel cut has a start and an end node
Return type:boolean
pm4py.algo.discovery.inductive.util.parallel_cut_utils.merge_connected_components(conn_components, ingoing, outgoing)[source]

Merge the unconnected connected components

Parameters:
  • conn_components – Connected components
  • ingoing – Ingoing dictionary
  • outgoing – Outgoing dictionary
Returns:

Merged connected components

Return type:

conn_components

pm4py.algo.discovery.inductive.util.petri_cleaning 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/>.

pm4py.algo.discovery.inductive.util.petri_cleaning.petri_reduction_treplay(net, parameters=None)[source]

Apply petri_reduction on the Petrinet removing hidden transitions that are unused according to token-based replay

Parameters:
  • net – Petri net

  • parameters

    Parameters of the algorithm, including:

    aligned_traces -> Result of alignment according to token-based replay

Returns:

Reduced Petri net

Return type:

net

pm4py.algo.discovery.inductive.util.petri_el_count 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.discovery.inductive.util.petri_el_count.Counts[source]

Bases: object

Shared variables among executions

inc_no_hidden()[source]

Increase the number of hidden transitions

inc_no_visible()[source]

Increase the number of visible transitions

inc_places()[source]

Increase the number of places

pm4py.algo.discovery.inductive.util.shared_constants 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/>.

pm4py.algo.discovery.inductive.util.tree_consistency 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/>.

pm4py.algo.discovery.inductive.util.tree_consistency.fix_one_child_xor_flower(tree)[source]

Fixes a 1 child XOR that is added when single-activities flowers are found

Parameters:tree – Process tree
pm4py.algo.discovery.inductive.util.tree_consistency.fix_parent_pointers(pt)[source]

Ensures consistency to the parent pointers in the process tree

Parameters:pt – Process tree

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