pm4py.objects.petri_net.stochastic package#

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

Submodules#

pm4py.objects.petri_net.stochastic.obj 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.objects.petri_net.stochastic.obj.StochasticPetriNet(name: Optional[str] = None, places: Optional[Collection[Place]] = None, transitions: Optional[Collection[Transition]] = None, arcs: Optional[Collection[Arc]] = None, properties: Optional[Dict[str, Any]] = None)[source]#

Bases: PetriNet

class Transition(name: str, label: Optional[str] = None, in_arcs: Optional[Collection[Arc]] = None, out_arcs: Optional[Collection[Arc]] = None, weight: float = 1.0, properties: Optional[Dict[str, Any]] = None)[source]#

Bases: Transition

property weight: float#

pm4py.objects.petri_net.stochastic.semantics 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.objects.petri_net.stochastic.semantics.StochasticPetriNetSemantics[source]#

Bases: PetriNetSemantics[N], Generic[N]

classmethod sample_enabled_transition(pn: N, marking: Counter[P], seed: Optional[int] = None) T[source]#

Randomly samples a transition from all enabled transitions

Parameters#

type seed:

int

param pn:

Petri net

param marking:

marking to use

Returns#

return:

a transition sampled from the enabled transitions

classmethod probability_of_transition(pn: N, transition: T, marking: Counter[P]) float[source]#

Compute the probability of firing a transition in the net and marking.

Args:

pn (N): Stochastic net transition (T): transition to fire marking (Counter[P]): marking to use

Returns:

float: _description_