markov-chain-0.0.3: Markov Chains for generating random sequences with a user definable behaviour.

PortabilityHaskell 98
Stabilitystable
Maintainerhaskell@henning-thielemann.de

Data.MarkovChain

Description

Markov chains can be used to recompose a list of elements respecting the fact that the probability of a certain element depends on preceding elements in the list.

Synopsis

Documentation

runSource

Arguments

:: (Ord a, RandomGen g) 
=> Int

size of prediction context

-> [a]

training sequence, the one to walk through randomly

-> Int

index to start the random walk within the training sequence

-> g

random generator state

-> [a] 

Creates a chain of elements respecting to the probabilities of possible successors. The list is considered being cyclic in order to have successors for the last elements.

Example:

 take 100 $ run 2 "The sad cat sat on the mat. " 0 (Random.mkStdGen 123)

runMultiSource

Arguments

:: (Ord a, RandomGen g) 
=> Int

size of prediction context

-> [[a]]

training sequences, the order is relevant

-> Int

index of starting training sequence

-> g

random generator state

-> [[a]]