pm4py.algo.simulation.playout.process_tree.variants package#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
Submodules#
pm4py.algo.simulation.playout.process_tree.variants.basic_playout module#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
- class pm4py.algo.simulation.playout.process_tree.variants.basic_playout.Parameters[source]#
Bases:
object- NO_TRACES = 'num_traces'#
- pm4py.algo.simulation.playout.process_tree.variants.basic_playout.apply(tree: ProcessTree, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#
Generate a log by a playout operation
Parameters#
- tree
Process tree
- parameters
Parameters of the algorithm, including: - Parameters.NO_TRACES: number of traces of the playout
Returns#
- log
Simulated log
pm4py.algo.simulation.playout.process_tree.variants.extensive module#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
- class pm4py.algo.simulation.playout.process_tree.variants.extensive.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
Enum- MIN_TRACE_LENGTH = 'min_trace_length'#
- MAX_TRACE_LENGTH = 'max_trace_length'#
- MAX_LOOP_OCC = 'max_loop_occ'#
- ACTIVITY_KEY = 'pm4py:param:activity_key'#
- MAX_LIMIT_NUM_TRACES = 'max_limit_num_traces'#
- RETURN_SET_STRINGS = 'return_set_strings'#
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_playout_leaf(node, playout_dictio, min_trace_length, max_trace_length, max_loop_occ, min_rem_dict, max_rem_dict, max_limit_num_traces)[source]#
Performs the playout of a leaf (activity or invisible), returning the traces allowed by the tree
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_playout_xor(node, playout_dictio, min_trace_length, max_trace_length, max_loop_occ, min_rem_dict, max_rem_dict, max_limit_num_traces)[source]#
Performs the playout of a XOR node, returning the traces allowed by the tree
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_min_remaining_length(traces)[source]#
Minimum remaining length (for sequential, parallel cut detection)
Parameters#
- traces
Traces
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_max_remaining_length(traces)[source]#
Maximum remaining length (for sequential, parallel cut detection)
Parameters#
- traces
Traces
- pm4py.algo.simulation.playout.process_tree.variants.extensive.flatten(x)[source]#
Flattens a list of tuples
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_sequential_compositions_children(traces, min_trace_length, max_trace_length, mr, mar, max_limit_num_traces)[source]#
Returns alls the possible sequential combinations between the children of a tree
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_playout_parallel(node, playout_dictio, min_trace_length, max_trace_length, max_loop_occ, min_rem_dict, max_rem_dict, max_limit_num_traces)[source]#
Performs the playout of an AND node, returning the traces allowed by the tree
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_playout_sequence(node, playout_dictio, min_trace_length, max_trace_length, max_loop_occ, min_rem_dict, max_rem_dict, max_limit_num_traces)[source]#
Performs the playout of a sequence node, returning the traces allowed by the tree
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_playout_loop(node, playout_dictio, min_trace_length, max_trace_length, max_loop_occ, min_rem_dict, max_rem_dict, max_limit_num_traces)[source]#
Performs the playout of a loop node, returning the traces allowed by the tree
- pm4py.algo.simulation.playout.process_tree.variants.extensive.get_playout(node, playout_dictio, min_trace_length, max_trace_length, max_loop_occ, min_rem_dict, max_rem_dict, max_limit_num_traces)[source]#
Performs a playout of an ode of the process tree, given the type
- pm4py.algo.simulation.playout.process_tree.variants.extensive.apply(tree: ProcessTree, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#
Performs an extensive playout of the process tree
Parameters#
- tree
Process tree
- parameters
Possible parameters, including: - Parameters.MIN_TRACE_LENGTH => minimum length of a trace (default: 1) - Parameters.MAX_TRACE_LENGTH => maximum length of a trace (default: min_allowed_trace_length) - Parameters.MAX_LOOP_OCC => maximum number of occurrences for a loop (default: MAX_TRACE_LENGTH) - Parameters.ACTIVITY_KEY => activity key - Parameters.MAX_LIMIT_NUM_TRACES => maximum number to the limit of traces; the playout shall stop when the number is reached (default: 100000)
Returns#
- log
Event log
pm4py.algo.simulation.playout.process_tree.variants.topbottom module#
PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
- class pm4py.algo.simulation.playout.process_tree.variants.topbottom.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
Enum- ACTIVITY_KEY = 'pm4py:param:activity_key'#
- NO_TRACES = 'num_traces'#
- pm4py.algo.simulation.playout.process_tree.variants.topbottom.apply(tree: ProcessTree, parameters: Dict[str | Parameters, Any] | None = None) EventLog[source]#
Gets the top-bottom playout of a process tree
Parameters#
- tree
Process tree
- parameters
- Parameters of the algorithm, including:
Parameters.ACTIVITY_KEY: activity key
Parameters.NO_TRACES: number of traces that should be returned
Returns#
- log
Event log
- pm4py.algo.simulation.playout.process_tree.variants.topbottom.get_ex_seq_in_time(tree, ex_time)[source]#
Gets the maximum number of execution sequences, doing the playout, in the given amount of time
Parameters#
- tree
Process tree
- ex_time
Maximum execution time
Returns#
- ex_sec
Execution sequences