probability-0.2.2: Probabilistic Functional ProgrammingSource codeContentsIndex
Numeric.Probability.Transition
Contents
Transitions
Spreading changes into transitions
Spreading transitions into transitions
Description
Deterministic and probabilistic generators
Synopsis
type Change a = a -> a
type T prob a = a -> T prob a
id :: Num prob => T prob a
map :: (Num prob, Ord a) => Change a -> T prob a -> T prob a
unfold :: (Num prob, Ord a) => T prob (T prob a) -> T prob a
compose :: (Num prob, Ord a) => [T prob a] -> T prob a
type SpreadC prob a = [Change a] -> T prob a
apply :: Num prob => Change a -> T prob a
maybe :: Num prob => prob -> Change a -> T prob a
lift :: Spread prob a -> SpreadC prob a
uniform :: Fractional prob => SpreadC prob a
linear :: Fractional prob => SpreadC prob a
normal :: Floating prob => SpreadC prob a
enum :: RealFloat prob => [Int] -> SpreadC prob a
relative :: RealFloat prob => [prob] -> SpreadC prob a
type SpreadT prob a = [T prob a] -> T prob a
liftT :: (Num prob, Ord a) => Spread prob (T prob a) -> SpreadT prob a
uniformT :: (Fractional prob, Ord a) => SpreadT prob a
linearT :: (Fractional prob, Ord a) => SpreadT prob a
normalT :: (Floating prob, Ord a) => SpreadT prob a
enumT :: (RealFloat prob, Ord a) => [Int] -> SpreadT prob a
relativeT :: (RealFloat prob, Ord a) => [prob] -> SpreadT prob a
Transitions
type Change a = a -> aSource
deterministic generator
type T prob a = a -> T prob aSource
probabilistic generator
id :: Num prob => T prob aSource
map :: (Num prob, Ord a) => Change a -> T prob a -> T prob aSource
map maps a change function to the result of a transformation (map is somehow a lifted form of map) The restricted type of f results from the fact that the argument to t cannot be changed to b in the result T type.
unfold :: (Num prob, Ord a) => T prob (T prob a) -> T prob aSource

unfold a distribution of transitions into one transition

NOTE: The argument transitions must be independent

compose :: (Num prob, Ord a) => [T prob a] -> T prob aSource
Composition of transitions similar to Numeric.Probability.Monad.compose but with intermediate duplicate elimination.
Spreading changes into transitions
type SpreadC prob a = [Change a] -> T prob aSource
functions to convert a list of changes into a transition
apply :: Num prob => Change a -> T prob aSource
maybe :: Num prob => prob -> Change a -> T prob aSource
lift :: Spread prob a -> SpreadC prob aSource
uniform :: Fractional prob => SpreadC prob aSource
linear :: Fractional prob => SpreadC prob aSource
normal :: Floating prob => SpreadC prob aSource
enum :: RealFloat prob => [Int] -> SpreadC prob aSource
relative :: RealFloat prob => [prob] -> SpreadC prob aSource
Spreading transitions into transitions
type SpreadT prob a = [T prob a] -> T prob aSource
functions to convert a list of transitions into a transition
liftT :: (Num prob, Ord a) => Spread prob (T prob a) -> SpreadT prob aSource
uniformT :: (Fractional prob, Ord a) => SpreadT prob aSource
linearT :: (Fractional prob, Ord a) => SpreadT prob aSource
normalT :: (Floating prob, Ord a) => SpreadT prob aSource
enumT :: (RealFloat prob, Ord a) => [Int] -> SpreadT prob aSource
relativeT :: (RealFloat prob, Ord a) => [prob] -> SpreadT prob aSource
Produced by Haddock version 2.4.2