aivika-transformers-6.1.1: Transformers for the Aivika simulation library
CopyrightCopyright (c) 2009-2017 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Simulation.Aivika.Trans.Stream.Random

Description

Tested with: GHC 8.0.1

This module defines random streams of events, which are useful for describing the input of the model.

Synopsis

Stream of Random Events

randomStream Source #

Arguments

:: MonadDES m 
=> Parameter m (Double, a)

compute a pair of the delay and event of type a

-> Stream m (Arrival a)

a stream of delayed events

Return a stream of random events that arrive with the specified delay.

randomUniformStream Source #

Arguments

:: MonadDES m 
=> Double

the minimum delay

-> Double

the maximum delay

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Create a new stream with delays distributed uniformly.

randomUniformIntStream Source #

Arguments

:: MonadDES m 
=> Int

the minimum delay

-> Int

the maximum delay

-> Stream m (Arrival Int)

the stream of random events with the delays generated

Create a new stream with integer delays distributed uniformly.

randomTriangularStream Source #

Arguments

:: MonadDES m 
=> Double

the minimum delay

-> Double

the median of the delay

-> Double

the maximum delay

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Create a new stream with random delays having the triangular distribution.

randomNormalStream Source #

Arguments

:: MonadDES m 
=> Double

the mean delay

-> Double

the delay deviation

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Create a new stream with delays distributed normally.

randomLogNormalStream Source #

Arguments

:: MonadDES m 
=> Double

the mean of a normal distribution which this distribution is derived from

-> Double

the deviation of a normal distribution which this distribution is derived from

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Create a new stream with random delays having the lognormal distribution.

randomExponentialStream Source #

Arguments

:: MonadDES m 
=> Double

the mean delay (the reciprocal of the rate)

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Return a new stream with delays distibuted exponentially with the specified mean (the reciprocal of the rate).

randomErlangStream Source #

Arguments

:: MonadDES m 
=> Double

the scale (the reciprocal of the rate)

-> Int

the shape

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Return a new stream with delays having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters.

randomPoissonStream Source #

Arguments

:: MonadDES m 
=> Double

the mean delay

-> Stream m (Arrival Int)

the stream of random events with the delays generated

Return a new stream with delays having the Poisson distribution with the specified mean.

randomBinomialStream Source #

Arguments

:: MonadDES m 
=> Double

the probability

-> Int

the number of trials

-> Stream m (Arrival Int)

the stream of random events with the delays generated

Return a new stream with delays having the binomial distribution with the specified probability and trials.

randomGammaStream Source #

Arguments

:: MonadDES m 
=> Double

the shape

-> Double

the scale (a reciprocal of the rate)

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the Gamma distribution by the specified shape and scale.

randomBetaStream Source #

Arguments

:: MonadDES m 
=> Double

the shape (alpha)

-> Double

the shape (beta)

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the Beta distribution by the specified shape parameters (alpha and beta).

randomWeibullStream Source #

Arguments

:: MonadDES m 
=> Double

shape

-> Double

scale

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the Weibull distribution by the specified shape and scale.

randomDiscreteStream Source #

Arguments

:: MonadDES m 
=> DiscretePDF Double

the discrete probability density function

-> Stream m (Arrival Double)

the stream of random events with the delays generated

Return a new stream with random delays having the specified discrete distribution.