In this paper we present two transformations on automata, called stretching and jamming. These transformations will, under certain conditions, reduce the size of the transition table, and under other conditions reduce the string processing time. Given a finite automaton, we can stretch it by transforming 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 transformed into a single transition, thereby removing redundant intermediate states. We will present formal definitions of stretching and jamming and we will calculate theoretical bounds, when stretching/jamming is effective in terms of memory consumption.
[1]
R. H. Mak,et al.
Eindhoven University of Technology MASTER BPM in the cloud
,
.
[2]
Derrick G. Kourie,et al.
Stretching and jamming of automata
,
2003
.
[3]
Alfred V. Aho,et al.
Compilers: Principles, Techniques, and Tools
,
1986,
Addison-Wesley series in computer science / World student series edition.
[4]
M. W. Shields.
An Introduction to Automata Theory
,
1988
.
[5]
Jeffrey D. Ullman,et al.
Introduction to Automata Theory, Languages and Computation
,
1979
.
[6]
A. Karimi,et al.
Master‟s thesis
,
2011
.