Sequitur algorithm
- Sequitur redirects here. For the Latin phrase, see Non sequitur. For the cutting implement, see Secateur.
Sequitur (or Nevill-Manning algorithm) is an recursive algorithm that infers a hierarchical structure from a sequence of discrete symbols developed by Craig Nevill-Manning and Ian H. Witten in 1997.[1] The algorithm operates in linear space and time. It can be used in data compression software applications.
Method summary
The algorithm works by scanning a sequence of terminal symbols, building a list of all the symbol pairs which it has read. Whenever a second occurrence of a pair is discovered, the two occurrences are replaced in the sequence by an invented nonterminal symbol, the list of symbol pairs is adjusted to match the new sequence, and scanning continues. Once the scanning has been completed, the transformed sequence can be interpreted as the top-level rule in a grammar for the original sequence. The rule definitions for the nonterminal symbols which it contains can be found in the list of symbol pairs. Those rule definitions may themselves contain additional nonterminal symbols whose rule definitions can also be read from elsewhere in the list of symbol pairs.
References
- ^ Nevill-Manning, C.G. (1997). "Identifying Hierarchical Structure in Sequences: A linear-time algorithm". Arxiv preprint cs.AI/9709102. Retrieved 2008-04-10.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help)
External links