Improving automata efficiency by stretching and jamming

N. Beijer, de, L.G.W.A. Cleophas, D.G. Kourie, B.W. Watson

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

    3 Citations (Scopus)


    In recent years, the range of alphabet sizes typically used in applications of finite automata has grown considerably, now ranging from DNA alphabets—whose symbols are representable using 2 bits—to Unicode alphabets—whose symbol representation may take up to 32 bits. As automata traditionally use symbol encodings taking 8 bits, the different alphabet and symbol sizes bring up the question whether they may be exploited to either decrease memory use for the automata’s transition tables or to decrease string processing time. In [3], stretching and jamming were introduced as transformations on finite automata. Given a finite automaton, we can stretch it by splitting each single transition into two or more sequential transitions, thereby introducing additional intermediate states. Jamming is the inverse transformation, in which two or more successive transitions are joined into a single transition, thereby removing redundant intermediate states. In this paper, we only consider a restricted form of stretching and jamming, in which a fixed factor is used to stretch (jam) transitions (transition paths) in a given automaton, and in which transition symbols are assumed to be encoded as bit strings. We consider improved versions of the algorithms that were presented in [3] for this particular form of stretching and jamming. The algorithms were implemented in c++ and used to benchmark the transformations. The results of this benchmarking indicate that, under certain conditions, stretching may be beneficial to memory use to the detriment of processing time, while jamming may be beneficial to processing time to the detriment of memory use. The latter seems potentially useful in the case of DNA processing, while the former may be for Unicode processing. Keywords: finite automata; transformation; split transition; join transition; transition table size; string processing time
    Original languageEnglish
    Title of host publicationProceedings of the Prague Stringology Conference 2010 (PSC'10, Prague, Czech Republic, August 30-September 1, 2010)
    EditorsJ. Holub, J. Zdarek
    Place of PublicationPrague
    PublisherCzech Technical University in Prague
    ISBN (Print)978-80-01-04597-8
    Publication statusPublished - 2010


    Dive into the research topics of 'Improving automata efficiency by stretching and jamming'. Together they form a unique fingerprint.

    Cite this