Skip to content

Conversation

@volkm
Copy link
Contributor

@volkm volkm commented Dec 8, 2025

  • Revised RandomProbabilityGenerator which now offers support for different probability distributions through one interface, and in particular one random number generator. This should ensure correctly handling independence of samples.
  • Extended both SparseModelSimulator and PrismProgramSimulator to continuous-time models. Resolves Simulating continuous time models #816. Before taking a transition, first the time to leave the state is computed and stored in variable currentTime.
  • Introduced abstract simulator class ModelSimulator to capture common functionality and offer one interface.
  • Added TraceSimulator class which allows to simulate complete traces and perform very simple Monte Carlo simulation. (Currently, the PrismProgramSimulator is too slow for any meaningful simulation and actually slows down the tests.)
  • Significantly extended tests.

Still todo:

  • Figure out the issue with PrismProgramSimulator on MA test which currently returns a too low probability.
  • Add support for choice-rewards for continuous-time models.
  • Revise handing of time in Markovian states such state-rewards for continuous-time models are correctly handled. In discrete-time models, the state reward should be obtained as soon as the state is entered. In continuous-time models however the concrete state reward can only be computed when the time to leave the state is clear. It might be confusing to users that the state reward for the current state can only be returned if leaving the state.
  • Maybe address Use ActionMasks in PrismProgramSimulator #126 as well
  • Perform necessary adaptions in stormpy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simulating continuous time models

1 participant