pm4py.objects.petri_net 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
Subpackages#
- pm4py.objects.petri_net.data_petri_nets package
- pm4py.objects.petri_net.exporter package
- pm4py.objects.petri_net.importer package
- pm4py.objects.petri_net.inhibitor_reset package
- pm4py.objects.petri_net.saw_net package
- Submodules
- pm4py.objects.petri_net.saw_net.convert module
- pm4py.objects.petri_net.saw_net.obj module
- pm4py.objects.petri_net.saw_net.semantics module
StochasticArcWeightNetSemantics
StochasticArcWeightNetSemantics.is_enabled()
StochasticArcWeightNetSemantics.fire()
StochasticArcWeightNetSemantics.all_legal_bindings()
StochasticArcWeightNetSemantics.all_enabled_bindings()
StochasticArcWeightNetSemantics.is_enabled_binding()
StochasticArcWeightNetSemantics.amortized_priority()
StochasticArcWeightNetSemantics.probability_of_binding()
LocalStochasticArcWeightNetSemantics
GlobalStochasticArcWeightNetSemantics
- pm4py.objects.petri_net.stochastic package
- pm4py.objects.petri_net.utils package
- Submodules
- pm4py.objects.petri_net.utils.align_utils module
- pm4py.objects.petri_net.utils.check_soundness module
- pm4py.objects.petri_net.utils.consumption_matrix module
- pm4py.objects.petri_net.utils.decomposition module
- pm4py.objects.petri_net.utils.embed_stochastic_map module
- pm4py.objects.petri_net.utils.explore_path module
- pm4py.objects.petri_net.utils.final_marking module
- pm4py.objects.petri_net.utils.incidence_matrix module
- pm4py.objects.petri_net.utils.initial_marking module
- pm4py.objects.petri_net.utils.murata module
- pm4py.objects.petri_net.utils.networkx_graph module
- pm4py.objects.petri_net.utils.obj_marking module
- pm4py.objects.petri_net.utils.performance_map module
calculate_annotation_for_trace()
single_element_statistics()
find_min_max_trans_frequency()
find_min_max_arc_frequency()
aggregate_stats()
find_min_max_arc_performance()
aggregate_statistics()
get_transition_performance_with_token_replay()
get_idx_exceeding_specified_acti_performance()
filter_cases_exceeding_specified_acti_performance()
- pm4py.objects.petri_net.utils.petri_utils module
is_sub_marking()
place_set_as_marking()
get_arc_type()
pre_set()
post_set()
remove_transition()
add_place()
add_transition()
merge()
remove_place()
add_arc_from_to()
construct_trace_net()
construct_trace_net_cost_aware()
acyclic_net_variants()
get_transition_by_name()
decorate_places_preset_trans()
decorate_transitions_prepostset()
get_places_shortest_path()
get_places_shortest_path_by_hidden()
invert_spaths_dictionary()
remove_unconnected_components()
get_s_components_from_petri()
remove_arc()
- pm4py.objects.petri_net.utils.projection module
- pm4py.objects.petri_net.utils.reachability_graph module
- pm4py.objects.petri_net.utils.reduction module
- pm4py.objects.petri_net.utils.synchronous_product module
Submodules#
pm4py.objects.petri_net.obj 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.objects.petri_net.obj.PetriNet(name: str = None, places: Collection[Place] = None, transitions: Collection[Transition] = None, arcs: Collection[Arc] = None, properties: Dict[str, Any] = None)[source]#
Bases:
object
- class Place(name, in_arcs=None, out_arcs=None, properties=None)[source]#
Bases:
object
- property name#
- property in_arcs#
- property out_arcs#
- property properties#
- class Transition(name, label=None, in_arcs=None, out_arcs=None, properties=None)[source]#
Bases:
object
- property name#
- property label#
- property in_arcs#
- property out_arcs#
- property properties#
- class Arc(source, target, weight=1, properties=None)[source]#
Bases:
object
- property source#
- property target#
- property weight#
- property properties#
- property name: str#
- property transitions: Collection[Transition]#
- property properties: Dict[str, Any]#
- class pm4py.objects.petri_net.obj.InhibitorNet(name=None, places=None, transitions=None, arcs=None, properties=None)[source]#
Bases:
PetriNet
- class pm4py.objects.petri_net.obj.ResetNet(name=None, places=None, transitions=None, arcs=None, properties=None)[source]#
Bases:
PetriNet
- class pm4py.objects.petri_net.obj.ResetInhibitorNet(name=None, places=None, transitions=None, arcs=None, properties=None)[source]#
Bases:
InhibitorNet
,ResetNet
pm4py.objects.petri_net.properties 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
pm4py.objects.petri_net.sem_interface 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.objects.petri_net.sem_interface.Semantics[source]#
Bases:
object
- is_enabled(t, pn, m, **kwargs)[source]#
Deprecated since version 2.3.0: This will be removed in 3.0.0. this method will be removed, use PetriNetSemantics.is_enabled() instead
- execute(t, pn, m, **kwargs)[source]#
Deprecated since version 2.3.0: This will be removed in 3.0.0. this method will be removed, use PetriNetSemantics.fire() instead
pm4py.objects.petri_net.semantics 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.objects.petri_net.semantics.PetriNetSemantics[source]#
Bases:
Generic
[N
]- classmethod is_enabled(pn: N, transition: T, marking: Counter[P]) bool [source]#
Checks whether a given transition is enabled in a given Petri net and marking
Parameters#
- rtype:
bool
- param pn:
Petri net
- param transition:
transition to check
- param marking:
marking to check
Returns#
- return:
true if enabled, false otherwise
- classmethod fire(pn: N, transition: T, marking: Counter[P]) Counter[P] [source]#
Execute a transition For performance reasons, the algorithm method not check if the transition is enabled, i.e., this should be performed by the invoking algorithm (if needed). Hence, markings can become negative.
Parameters#
- param pn:
Petri net
- param transition:
transition to execute
- param marking:
marking to use
Returns#
- return:
newly reached marking
- class pm4py.objects.petri_net.semantics.ClassicSemantics[source]#
Bases:
Semantics
- is_enabled(t, pn, m, **kwargs)[source]#
Verifies whether a given transition is enabled in a given Petri net and marking
Parameters#
- param t:
transition to check
- param pn:
Petri net
- param m:
marking to check
Returns#
- return:
true if enabled, false otherwise
- execute(t, pn, m, **kwargs)[source]#
Executes a given transition in a given Petri net and Marking
Parameters#
- param t:
transition to execute
- param pn:
Petri net
- param m:
marking to use
Returns#
- return:
newly reached marking if :param t: is enabled, None otherwise