ShannonFinger:
Filter:
MathLib/Classes (extension) | Collections > Unordered | Libraries > MathLib > Markov & Fuzzy

ShannonFinger
ExtensionExtension

shannon implementation of a markov set

Description

The basic shannon implementation of a markov set is to simply leave the data as it is and to iterate over it by doing random jumps and looking for the next matching item. The item that follows that one is the next item of the chain. As this requires searching the data, which can be of very irregular efficiency, this current implementation uses an identity dictionary to find the indices of items in constant time. Higher order is slightly more costly, but still this is a major speed increase.

This implementation allows to vary the order at each step and it is very fast in reading. In difference to MarkovSet and MarkovSetN it can only read data as a chain, not as single nodes. Also it does not compress data, as the standard implementation does.

Part of MathLib, a diverse library of mathematical functions.

Instance Methods

.next

Return the next node for the input obj, using nth order (default = 1).

.put

Put object in the data at index i.

.wrapPut

wrapPut object in the data at index i.

.parse

Read length items of stream.

.asStream

Return a stream that reads from this set. order can be any object that returns a stream on .asStream, returning integers.

Examples

setting the data

using the set with the message -next

generating a stream

Authors

Julian Rohrhuber, et al, 2003.