Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Factor oracle

A factor oracle is a finite-state automaton that can efficiently search for factors (substrings) in a body of text. Older techniques, such as suffix trees, were time-efficient but required significant amounts of memory. Factor oracles, by contrast, can be constructed in linear time and space in an incremental fashion.

We don't have any images related to Factor oracle yet.
We don't have any YouTube videos related to Factor oracle yet.
We don't have any PDF documents related to Factor oracle yet.
We don't have any Books related to Factor oracle yet.
We don't have any archived web articles related to Factor oracle yet.

Overview

Older techniques for matching strings include: suffix arrays, suffix trees, suffix automata or directed acyclic word graphs, and factor automata (Allauzen, Crochemore, Raffinot, 1999). In 1999, Allauzen, Crochemore, and Raffinot, presented the factor oracle algorithm as a memory efficient improvement upon these older techniques for string matching and compression. Starting in the mid-2000s, factor oracles have found application in computer music, as well.2

Implementations

The Computer Audition Laboratory provides a Matlab implementation of the factor oracle algorithm.

See also

References

  1. Allauzen C., Crochemore M., Raffinot M., Factor oracle: a new structure for pattern matching; Proceedings of SOFSEM’99; Theory and Practice of Informatics. http://www.lsi.upc.edu/~marias/teaching/bom.pdf

  2. Assayag G., Dubnov S., Using Factor Oracles for Machine Improvisation. Soft Computing - A Fusion of Foundations, Methodologies and Applications. 2004-09-01. Springer Berlin / Heidelberg