Class Spn_rec_enabled
S. Balsamo, A. Marin, I. Stojic, FGCS 111 (2020) 475-490, Sec. 5.3.
The enabling degree of a mode in marking m is
e(m) = min_{l : I_l > 0} floor(m_l / I_l), zero when any inhibitor threshold
is met. P(e >= k) is therefore the mass of the marking subset in which EVERY
input level holds at least k*I_l tokens and no inhibitor fires, which is a
per-level restriction and so exactly what Mdd_rec.mdd_rec_masked
computes: the paper's second modified recurrence is the same walk under a
different mask, not a second algorithm.
The masses returned are UNNORMALISED, as in the paper; divide by G from
Mdd_rec.mdd_rec for probabilities. Spn_metrics does that and
turns them into the transition measures.
MATLAB twin: spn_rec_enabled.m. Python twin:
api/spn/rec_enabled.py.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classUnnormalised enabling-degree masses of one mode. -
Method Summary
Modifier and TypeMethodDescriptionstatic Spn_rec_enabled.SpnEnablingspn_rec_enabled(MddStruct mdds, double[][] g, Spn_mdd.SpnMode mde, int nplacelevels) Enabling-degree masses of one mode over the reachable set inmdds.
-
Method Details
-
spn_rec_enabled
public static Spn_rec_enabled.SpnEnabling spn_rec_enabled(MddStruct mdds, double[][] g, Spn_mdd.SpnMode mde, int nplacelevels) Enabling-degree masses of one mode over the reachable set inmdds.- Parameters:
mdds- the reachable set built bySpn_mddg- per-level product-form factors, one row per levelmde- the mode, as returned inSpnInfo.modesnplacelevels- how many leading levels are place levels- Returns:
- the unnormalised enabling-degree masses
-