[PD] An abstraction : markov finite state machine

Orm Finnendahl finnendahl at folkwang-hochschule.de
Tue Aug 15 20:06:48 CEST 2006


Hi,

if you are interested in markov chains, maybe you like this:

icem-www.folkwang-hochschule.de/~finnendahl/download/markov_pd.tgz

It works quite different as it is implemented as a binary search
tree. It automatically stores and updates the probabilities as it
receives events (or "states" if you want). The advantage of this
approach is that you don't have to predefine the number of
states. Whatever state it receives will get stored accordingly,
generating the tree dynamically and updating the probabilities.

In addition it stores the events for different orders (up to order 16)
and you can switch the order while it generates events.

The object was used for interaction between the computer and a
performer, where the computer learned from the performer in real time
and could respond based on the probabilities of the sequence it was
fed with.

It's been a while since I last used it, so the code hasn't been
maintained recently, but it seems, some people on the list are
interested in markov processes. Let me know, if you can make use of
the object and I will try to maintain it and maybe update the
documentation. 

It's linux only yet, but I just learned the compile flags for
OSX. That raises hope and makes me courageous enough to take the
challenge to learn how to compile it for Windows.

--
Orm

Am 15. August 2006, 00:57 Uhr (-0400) schrieb Alexandre Quessy:
> Hi all,
> 
> I just rewrote an abstraction for creating markov chains using a
> matrix storing the probabilties to get every other states in the
> finite state machine. Probabilities are caclulated on the sum of every
> float of every row. A row corresponds to a state (actually, its
> probabilities to obtain every state next). See wikipedia.org for
> mathematics behind it.
> 
> It is available at http://alexandre.quessy.net/?q=node/43 only at the 
> moment.
> 
> This kind of system can be used for weighted random between several
> effects in an installation, or to build melodies of chord changes, for
> instance. It uses zexy and iemmatrix. Ah, it is GPL, let say.
> 
> Cheers,
> -- 
> Alexandre Quessy
> http://alexandre.quessy.net
> 
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list




More information about the Pd-list mailing list