Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

< Back to Article

Fig 1.

Original DFA state transition digraph for regular expressions (ab.*cd, ef.*gh).

The numerical circle represents states in DFA, and the state with double circles represents it is an accepted state. The direct edges with a symbol represents transitions in DFA, and the dashed direct edges represents transitions transfer to a common state with symbols that have not been shown.

More »

Fig 1 Expand

Table 1.

State transition table for regular expressions (ab.*cd, ef.*gh).

More »

Table 1 Expand

Fig 2.

Example of obtaining a refined partition from coarse partitions.

U,V and W represent different partitions for the set E. The bar with different colors represents a subset obtained by the corresponding partition, and the W partition is generated by the intersection of U and V.

More »

Fig 2 Expand

Fig 3.

Algorithm for building backward depth information.

More »

Fig 3 Expand

Fig 4.

Backward depth information for accepted state “19” in Table 1.

The number above the dashed line represents the backward depth, and the states in the same dashed box are in one block. The symbol near the transition is the character consumed in building the shortest path from the state transition graph, and is one part of the backward depth information.

More »

Fig 4 Expand

Table 2.

Backward depth information for automata with the regular expressions (ab.*cd, ef.*gh).

More »

Table 2 Expand

Fig 5.

Coarse partition algorithm based on backward depth information.

More »

Fig 5 Expand

Fig 6.

Refinement algorithm based on hash table.

More »

Fig 6 Expand

Table 3.

Hash table refinement based on the coarse partition of accepted state 19.

More »

Table 3 Expand

Fig 7.

Minimal DFA using the algorithm based on backward depth information for regular expressions (ab.*cd, ef.*gh).

The states 4, 9, 12 and 14 are disappeared for the reason that these have been merged into different states, respectively. The minimal DFA is equivalent with original DFA functionally, and is isomorphic with the final block within Table 3.

More »

Fig 7 Expand

Fig 8.

Experimental results for automata with different topological complexities.

The horizontal axis represents the number of states in the original DFAs, and the vertical axis indicates the time consumed in microseconds.(a) DFA with an underlying graph consisting of a dictionary, (b) DFA with an underlying graph consisting of a tree, (c) DFA with 1% wildcards and dot-star terms, and (d) DFA with 3% wildcards and dot-star terms.

More »

Fig 8 Expand