Statistics storage holds information on action choice states and cycle types registered by an actor. Additionally, statistics storage can hold probability profiles assigned to action choice states.
The function qsmm_actor_create creates statistics storage for an actor.
The function qsmm_actor_destroy destroys statistics storage for an actor.
Statistics storage uses a concept of cycle-summed values.
They are spur values and continuous time values recordable at a cycle start or summable over cycles with a specific type.
The field nspur of qsmm_actor_desc_s structure defines the number of cycle-summed value types for spur.
The field ntime of qsmm_actor_desc_s structure defines the number of cycle-summed value types for continuous time.
Storage API functions retrieve or store information on action choice states or cycle types via data structures holding the condition of an action choice state, a cycle-summed value for an action choice state, statistics on a cycle type, and a cycle-summed value for a cycle type. Storage API functions provide means to query the number of cycle-summed value types supported by storage, to retrieve and store the condition of an action choice state and statistics on a cycle type, to remove information on an action choice state from storage, and to enumerate action choice states and cycle types that have information held in storage.
Statistics storage supports setting redirection functions for altering the behavior of storage access operations or intercepting them. Storage redirection functions for obtaining the initial condition of an action choice state, the initial statistics of a cycle type, and the next cycle direction for a cycle type make it possible to generate the probability profile of an action choice state on demand. This approach helps reduce initial memory footprint of a model and speed up its preparation. QSMM uses the redirection functions internally to implement deferred setting a probability profile for a number of nodes of a multinode model.
Specifying a storage redirection function to intercept updating cycle type statistics makes it possible to organize keeping cycle type statistics for the tail of an event history rather than for the entire event history.