Given input, compose a simulation model
Given input, compose a simulation model
(build-skeleton {:keys [profiles personae-array models parameters]})
Given simulation input, return a skeleton with statement sequences per
actor from start
of sim. Should be run once (in a single thread).
Spooky.
Given simulation input, return a skeleton with statement sequences per actor from `start` of sim. Should be run once (in a single thread). Spooky.
(sim-chan input
&
{:keys [sort buffer-size] :or {sort true buffer-size 100} :as kwargs})
Merged output of sim-chans
for parallel generation.
Merged output of `sim-chans` for parallel generation.
(sim-chans {{?max-statements :max} :parameters :as input}
&
{:keys [select-agents pad-chan-max] :or {pad-chan-max 1}})
Given input, build a skeleton and produce a map from agent IFIs to agent statement simulation channels.
Uses the core.async
thread pool for concurrency.
Note that the :max
parameter is used as a quotient and may
have unexpected results if it is zero. The :end
parameter is preferable.
The :max
parameter is divided by the number of agents in the simulation.
Thus pad-chan-max
is provided as a kwarg so we can add that amount to
the length of each channel's statement seq - either a little bit to get over
:max
, or a lot to account for an imbalance in activity at the tail end
of the simulation.
Given input, build a skeleton and produce a map from agent IFIs to agent statement simulation channels. Uses the `core.async` thread pool for concurrency. Note that the `:max` parameter is used as a quotient and may have unexpected results if it is zero. The `:end` parameter is preferable. The `:max` parameter is divided by the number of agents in the simulation. Thus `pad-chan-max` is provided as a kwarg so we can add that amount to the length of each channel's statement seq - either a little bit to get over `:max`, or a lot to account for an imbalance in activity at the tail end of the simulation.
(sim-seq {{?max-statements :max} :parameters :as input}
&
{:keys [select-agents]})
Given input, build a skeleton and produce a seq of statements.
Given input, build a skeleton and produce a seq of statements.
(statement-seq input
seed
alignments
start-time
?end-time
?from-time
zone-region
max-restarts)
Generate a lazy sequence of xAPI Statements occuring as a Poisson
process. The sequence will either end at ?end-time
or, if nil
,
be infinite.
Generate a lazy sequence of xAPI Statements occuring as a Poisson process. The sequence will either end at `?end-time` or, if `nil`, be infinite.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close