Sequitur algorithm
- Sequitur redirects here. For the Latin phrase, see Non sequitur. For the cutting implement, see Secateur.
Sequitur is an algorithm that creates a grammar from the sequence of discrete symbols used to represent a problem. This algorithm 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.
External links