Constructing factor oracles

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

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

2 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 [ACR01]. Although these new O(m2) algorithms are practically inefficient compared to the O(m) algorithm given in [ACR01], 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 [ACR01] 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
Title of host publicationProceedings Eighth Prague Stringology Conference (Prague, Czech Republic, September 22-24, 2003)
EditorsB. Melichar
Place of PublicationPrague
PublisherCzech Technical University in Prague
Pages37-50
Publication statusPublished - 2003

Fingerprint

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

Cite this