Improving automata efficiency by stretching and jamming

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

    Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

    3 Citaten (Scopus)

    Samenvatting

    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
    Originele taal-2Engels
    TitelProceedings of the Prague Stringology Conference 2010 (PSC'10, Prague, Czech Republic, August 30-September 1, 2010)
    RedacteurenJ. Holub, J. Zdarek
    Plaats van productiePrague
    UitgeverijCzech Technical University in Prague
    Pagina's9-24
    ISBN van geprinte versie978-80-01-04597-8
    StatusGepubliceerd - 2010

    Vingerafdruk

    Duik in de onderzoeksthema's van 'Improving automata efficiency by stretching and jamming'. Samen vormen ze een unieke vingerafdruk.

    Citeer dit