module Make (
Event
:
EVENT
)
: S
with type Events.Event.t = Event.t and module Events.Event = Event
Creates a concrete instance of an event set model cache for a given Event type
module Events: Model_intf.EVENTS
The module type representing a collection of events
module Event: module type of Events.Event
The module type representing one event
type
update_rule = Prob_cache_common.Update_rules.Update_fn.t
Defines the update rule for expectations
type
prior_count = Events.t -> int
type
prior_exp = Events.t -> float
type
t
An abstract events model cache
val create : ?update_rule:update_rule ->
?prior_count:prior_count ->
?prior_exp:prior_exp -> name:string -> t
Creates a new model cache labeled by the given string. By default, expectations are updated
using a mean value estimator and all priors are value 0.
val count : Events.t -> t -> int
How many times some particular events were observed
val observe : ?cnt:int -> ?exp:float -> Events.t -> t -> t
Observe events with a default count and expectation of 1.
The returned model reflects the observation updates
while the original instance is not guaranteed to be current.
val prob : ?cond:Events.t -> Events.t -> t -> float
Probability of events given observed events, possibly the empty events
val exp : ?cond:Events.t -> Events.t -> t -> float
Expectation of events given observed events, possibly the empty events
val name : t -> string
Gets the name of the cache