Constructing factor oracles

L.G.W.A. Cleophas, G. Zwaan, B.W. Watson

Research output: Book/ReportReportAcademic

138 Downloads (Pure)


Abstract. A factor oracle is a data structure for weak factor recognition. It is an automaton built on a string p of length m that is acyclic, recognizes at least all factors of p, has m + 1 states which are all final, and has m to 2m - 1 transitions. In this paper, we give two alternative algorithms for its construction and prove the constructed automata to be equivalent to the automata constructed by the algorithms in [1]. Although these new O(m^2) algorithms are practically inefficient compared to the O(m) algorithm given in [1], they give more insight into factor oracles. Our first algorithm constructs a factor oracle based on the suffixes of p in a way that is more intuitive. Some of the crucial properties of factor oracles, which in [1] need several lemmas to be proven, are immediately obvious. Another important property however becomes less obvious. A second algorithm gives a clear insight in the relationship between the trie or dawg recognizing the factors of p and the factor oracle recognizing a superset thereof. We conjecture that an O(m) version of this trie-based algorithm exists.
Original languageEnglish
Place of PublicationEindhoven
PublisherTechnische Universiteit Eindhoven
Number of pages18
Publication statusPublished - 2004

Publication series

NameComputer science reports
ISSN (Print)0926-4515


Dive into the research topics of 'Constructing factor oracles'. Together they form a unique fingerprint.

Cite this