## Instruction Computation in Subset Construction (1996)

Venue: | Automata Implementation |

Citations: | 6 - 0 self |

### BibTeX

@INPROCEEDINGS{Johnson96instructioncomputation,

author = {J. Howard Johnson and Derick Wood},

title = {Instruction Computation in Subset Construction},

booktitle = {Automata Implementation},

year = {1996},

pages = {pages},

publisher = {Springer Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

Subset construction is the method of converting a nondeterministic finite-state machine into a deterministic one. The process of determinization is an important one in any implementation of finite-state machines since nondeterministic machines are often easier to describe than their deterministic equivalents and the conversion of regular expressions to finite-state machines usually produces nondeterministic machines. We discuss one aspect of subset construction; namely, the computation of the instructions of the equivalent deterministic machine. Although the discussion is to some extent independent of any specific assumptions, we draw some conclusions within the context of INR and Grail, both packages for the manipulation of finite-state machines. The aim of the discussion is to present the problem and suggest some possible solutions; we do not intend to and cannot be definitive since much remains unknown. z This research was supported by grants from the Natural Sciences and Engineeri...

### Citations

8985 |
Introduction to algorithms
- Cormen, Leiserson, et al.
- 2001
(Show Context)
Citation Context ...ect the root item and replace it with the next entry in its run. Of course, the next entry may not be the smallest item in the heap; therefore, we need to "trickle it down" to an appropriate=-= location [1, 2, 11]-=-. The important idea is that the heap structure is fixed; we only select and replace items. If we have k runs with a total of N items, we can k-merge them in O(N log k) time. How is replacement--selec... |

4100 |
Introduction to Automata Theory, Languages and Computation
- Hopcroft, Ullman
- 1979
(Show Context)
Citation Context ...heresdenotes the null or empty string. We can transform a machine with null-input instructions into an equivalent machine without them using a standard algorithm; see the texts of Hopcroft and Ullman =-=[3]-=- and Wood [10]. This construction produces a machine that has size at most quadratic in the size of the original machine. We can avoid the explicit construction of this intermediate machine by computi... |

767 |
Data Structures and Algorithms
- Aho, Hopcroft, et al.
- 1983
(Show Context)
Citation Context ...ound in the standard method of implementing external sorting. In external sorting we use a k-way merge of k sorted runs, as they are called. To implement a k-way merge we use a tournament [5] or heap =-=[1, 5, 11]-=- of size k such that each entry in the heap is the next item in one of the runs. We use a minimum heap in which the root item has the smallest value in the heap and is the next item in sorted order to... |

384 |
The art of computer programming, Vol. 3: sorting and searching
- Knuth
- 1973
(Show Context)
Citation Context ... technique found in the standard method of implementing external sorting. In external sorting we use a k-way merge of k sorted runs, as they are called. To implement a k-way merge we use a tournament =-=[5]-=- or heap [1, 5, 11] of size k such that each entry in the heap is the next item in one of the runs. We use a minimum heap in which the root item has the smallest value in the heap and is the next item... |

127 |
Regular expression search algorithm
- Thompson
- 1968
(Show Context)
Citation Context .... But compiling a nondeterministic finite-state machine is more costly since the compiled code must incorporate backtracking to handle the nondeterminism. An elegant compilation was given by Thompson =-=[9]-=-; it has never been matched. An alternative and standard approach is to convert a nondeterministic finite-state machine into an equivalent deterministic finite-state machine using subset construction.... |

79 |
Theory of Computation
- Wood
- 1987
(Show Context)
Citation Context ...g subset construction. (An intermediate approach is to do subset construction on the fly for those state sets reached by the input string. We do not discuss this idea any further in this paper.) Wood =-=[10]-=- gave the following algorithm for subset construction (it is clearly not intended for direct implementation): Algorithm Subset Construction On entry: A nondeterministic finite-state machine, M = (Q; \... |

36 |
Data Structures, Algorithms, and Performance
- Wood
- 1993
(Show Context)
Citation Context ...ound in the standard method of implementing external sorting. In external sorting we use a k-way merge of k sorted runs, as they are called. To implement a k-way merge we use a tournament [5] or heap =-=[1, 5, 11]-=- of size k such that each entry in the heap is the next item in one of the runs. We use a minimum heap in which the root item has the smallest value in the heap and is the next item in sorted order to... |

15 | Efficient Approaches to Subset Construction
- Leslie
- 1995
(Show Context)
Citation Context ...cted size of the resulting deterministic finite-state machines. We follow the first direction here; we explore the second direction in a companion paper [7] based on the preliminary results of Leslie =-=[6]-=-. This abstract raises more questions than it solves since it deals with applied algorithms and applied data structuring. Nevertheless, we believe that our suggestions are of interest in that they may... |

4 | INR: A program for computing finite automata
- Johnson
- 1986
(Show Context)
Citation Context ... but a lower bound is \Omega\Gamma/1 + #ffi) time. Since #ffis#\Sigma \Delta #Q 2 , the run time could be excessive; however, Algorithm II suggests a more efficient implementation is possible. In INR =-=[4]-=- and Grail [8], we represent ffi as a sorted sequence of instructions, where we use the standard lexicographic order of tuples to sort them. In addition we represent states and symbols by nonnegative ... |

4 |
Grail: Engineering automata in C++, version 2.5
- Raymond, Wood
- 1996
(Show Context)
Citation Context ...ound is \Omega\Gamma/1 + #ffi) time. Since #ffis#\Sigma \Delta #Q 2 , the run time could be excessive; however, Algorithm II suggests a more efficient implementation is possible. In INR [4] and Grail =-=[8]-=-, we represent ffi as a sorted sequence of instructions, where we use the standard lexicographic order of tuples to sort them. In addition we represent states and symbols by nonnegative integers; henc... |

1 |
The expected performance of subset construction
- Leslie, Raymond, et al.
- 1996
(Show Context)
Citation Context ...blow up is pathological and to analyze the expected size of the resulting deterministic finite-state machines. We follow the first direction here; we explore the second direction in a companion paper =-=[7]-=- based on the preliminary results of Leslie [6]. This abstract raises more questions than it solves since it deals with applied algorithms and applied data structuring. Nevertheless, we believe that o... |