You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
How to forbid transition in a multiple state TPS network? #692
I was trying to build a multiple state TPS network that excluded (or forbids) a specific transition, however I ran into some unexpected behaviour.
As can be seen in the ipynb in this directory, if I don't include the B <-> C transition, it doesn't stop the simulation when reaching state C from B (or reaching state B from C), but instead runs until it reaches max length, finds a self transition or a valid transition.
I wondered if this is the intended behaviour and if so, if there is a way to construct a TPSNetwork that stops the simulation when reaching any state and rejects if it is a B <-> C transition?
This should be relatively easy to do, and the behavior should be this way by default (stop when you enter any state).
I think that all this will require is:
modify Transition objects to take a list of forbidden volumes (default None)
modify the network code so that from_state_pairs uses that forbidden volume (also requires moving the creation of the set of initial and final states outside the loop)
@sroet tells me this is not urgent, and I have a lot of my plate right now, so I'll come back to fixing this at a later date.
Activity
dwhswenson commentedon Jul 14, 2017
This should be relatively easy to do, and the behavior should be this way by default (stop when you enter any state).
I think that all this will require is:
Transitionobjects to take a list offorbiddenvolumes (defaultNone)from_state_pairsuses thatforbiddenvolume (also requires moving the creation of the set of initial and final states outside the loop)@sroet tells me this is not urgent, and I have a lot of my plate right now, so I'll come back to fixing this at a later date.
dwhswenson commentedon Apr 1, 2019
I don't think this will create incompatibilities, so we can move it to 1.x milestone.