Patent ID: 8566258

Claim:
A Markov-sequence generator adapted to generate and output data defining a sequence of items, at least one sub-sequence of said sequence having a Markov property, the Markovian-sequence generator comprising: at least one hardware processor; an inputting unit, implemented by the at least one hardware processor, adapted to receive a control input defining a set of one or more control criteria specifying desired properties of the sequence, which is to be generated; and a selection unit, implemented by the at least one hardware processor, adapted, for each location in the Markovian sub-sequence, to select an item for inclusion in the Markovian sub-sequence at said location, the selection unit comprising: a probability-determining unit adapted to provide probability data defining the probability that a given candidate item will follow in the sequence from a determined sub-sequence of one or more preceding items in said sequence, the probability-determining unit being configured to access a training database to obtain said probability data, said training database storing one or more predetermined training sequences and the probability data being defined by said predetermined training sequences; a Markov-chain management unit adapted to control the selection of items such that the given candidate item in the Markovian sub-sequence follows from the determined subsequence according to the probability defined by said probability data; and an outputting unit adapted to output finalized data indicative of selected items as said Markovian sub-sequence, wherein the selection unit is adapted to search the one or more predetermined training sequences for one or more predetermined training sequences having the Markovian property that include said item at said given location and that match the set of one or more control criteria defining a computable requirement satisfied by at least one item in the one or more predetermined training sequences having the Markovian property located at a location in the sequence subsequent to, and not immediately adjacent to the location for which finalized data has been output by the selection unit.