Knowledge

Nondeterministic finite automaton

Source 📝

8173:Δ to determine the next state using the current state, and the symbol just read or the empty string. However, "the next state of an NFA depends not only on the current input event, but also on an arbitrary number of subsequent input events. Until these subsequent events occur it is not possible to determine which state the machine is in". If, when the automaton has finished reading, it is in an accepting state, the NFA is said to accept the string, otherwise it is said to reject the string. 3262:ε. A transition without consuming an input symbol is called an ε-transition and is represented in state diagrams by an arrow labeled "ε". ε-transitions provide a convenient way of modeling systems whose current states are not precisely known: i.e., if we are modeling a system and it is not clear whether the current state (after processing some input string) should be q or q', then we can add an ε-transition between these two states, thus putting the automaton in both states simultaneously. 31: 1992: 7925: 5126: 2038: 2022: 8260:−1 copies of the machine. Each will enter a separate state. If, upon consuming the last input symbol, at least one copy of the NFA is in the accepting state, the NFA will accept. (This, too, requires linear storage with respect to the number of NFA states, as there can be one machine for every NFA state.) 8340:
NFAs and DFAs are equivalent in that if a language is recognized by an NFA, it is also recognized by a DFA and vice versa. The establishment of such equivalence is important and useful. It is useful because constructing an NFA to recognize a given language is sometimes much easier than constructing
184:
in the name of an NFA. For each input symbol, the NFA transitions to a new state until all input symbols have been consumed. In each step, the automaton nondeterministically "chooses" one of the applicable transitions. If there exists at least one "lucky run", i.e. some sequence of choices leading to
8263:
Explicitly propagate tokens through the transition structure of the NFA and match whenever a token reaches the final state. This is sometimes useful when the NFA should encode additional context about the events that triggered the transition. (For an implementation that uses this technique to keep
188:
In the second way, the NFA consumes a string of input symbols, one by one. In each step, whenever two or more transitions are applicable, it "clones" itself into appropriately many copies, each one following a different transition. If no transition is applicable, the current copy is in a dead end,
6097: 3245:
This result shows that NFAs, despite their additional flexibility, are unable to recognize languages that cannot be recognized by some DFA. It is also important in practice for converting easier-to-construct NFAs into more efficiently executable DFAs. However, if the NFA has
7166: 1979:, which is not necessary. Sometimes, NFAs are defined with a set of initial states. There is an easy construction that translates an NFA with multiple initial states to an NFA with a single initial state, which provides a convenient notation. 5327: 1743: 3467: 2692: 7909: 3127: 4675: 2935: 4396: 1547: 8644:. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications (San Diego, CA, USA, October 16–20, 2005). OOPSLA '05. ACM, New York, NY, 345-364. 8218:
the results of the transition function applied to all current states to get the set of next states; if ε-moves are allowed, include all states reachable by such a move (ε-closure). Each step requires at most
8187:(DFA) can be found that accepts the same language. Therefore, it is possible to convert an existing NFA into a DFA for the purpose of implementing a (perhaps) simpler machine. This can be performed using the 5974: 7003: 6654: 6525: 394: 5982: 5043: 1482: 5776: 185:
an accepting state after completely consuming the input, it is accepted. Otherwise, i.e. if no choice sequence at all can consume all the input and lead to an accepting state, the input is rejected.
3016: 3943: 2830: 6721: 6171: 2180: 4199: 1013: 4456: 7042: 5893: 2749: 1607: 1788: 630: 7290: 5160:
be a NFA-ε, with a binary alphabet, that determines if the input contains an even number of 0s or an even number of 1s. Note that 0 occurrences is an even number of occurrences as well.
3333: 272: 7640: 7416: 7243: 876: 8227:
is the number of states of the NFA. On the consumption of the last input symbol, if one of the current states is a final state, the machine accepts the string. A string of length
7531: 7339: 768: 7037: 6551: 6408: 5166: 7747: 6757: 4331: 3610: 535: 7706: 6881: 4875: 4737: 4269: 1837: 6789: 5657: 5611: 3844: 1057: 7789: 6353: 3258:
Nondeterministic finite automaton with ε-moves (NFA-ε) is a further generalization to NFA. In this kind of automaton, the transition function is additionally defined on the
8341:
a DFA for that language. It is important because NFAs can be used to reduce the complexity of the mathematical work required to establish many important properties in the
6910: 6226: 4953: 4766: 7186: 4139: 3975: 3573: 2414: 498: 7482: 6253: 938: 8754: 3512: 2372: 2351: 1091: 438: 3792: 3654: 1627: 6817: 6305: 6433: 6373: 6325: 5347: 4704: 4485: 4227: 4010: 3880: 3757: 3393: 2307: 2200: 1165: 679: 349: 326: 7670: 7584: 7446: 6197: 4295: 3688: 5093: 3153: 2490:
since one state sequence satisfies the above definition; it does not matter that other sequences fail to do so. The picture can be interpreted in a couple of ways:
2274: 1944: 1276: 1125: 6848: 4042: 3717: 1396: 659: 8794: 7554: 6578: 5116: 4556: 3219:
can be reached after consuming the initial "1", this does not mean that the input "10" is accepted; rather, it means that an input string "1" would be accepted.
7359: 6277: 5816: 5796: 5677: 5561: 5158: 5066: 4976: 4915: 4895: 4833: 4813: 4793: 4533: 4505: 4113: 4093: 4070: 3737: 3634: 3534: 3364: 3217: 3197: 3177: 2571: 2539: 2516: 2488: 2454: 2434: 2330: 2247: 2094: 1964: 1917: 1897: 1877: 1857: 1421: 1367: 1340: 1316: 1296: 1245: 1225: 1205: 1185: 1145: 896: 811: 788: 699: 559: 461: 300: 3403: 2576: 3231:(DFA) can be seen as a special kind of NFA, in which for each state and symbol, the transition function has exactly one state. Thus, it is clear that every 5826:
To show NFA-ε is equivalent to NFA, first note that NFA is a special case of NFA-ε, so it remains to show for every NFA-ε, there exists an equivalent NFA.
8562: 8448:
A choice sequence may lead into a "dead end" where no transition is applicable for the current input symbol; in this case it is considered unsuccessful.
3021: 7794: 17: 8157:
Since NFAs are equivalent to nondeterministic finite automaton with ε-moves (NFA-ε), the above closures are proved using closure properties of NFA-ε.
1634: 4564: 2835: 2541:
at a given point in time, multiple arrows emanating from a node indicate cloning, a node without emanating arrows indicating the "death" of a clone.
8633:
Allan, C., Avgustinov, P., Christensen, A. S., Hendren, L., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., and Tibble, J. 2005.
4336: 1487: 3179:(all possible state sequences for that input are shown in the upper right picture), since there is no way to reach the only accepting state, 189:
and it "dies". If, after consuming the complete input, any of the copies is in an accept state, the input is accepted, else, it is rejected.
9406: 9114: 8191:, which may lead to an exponential rise in the number of necessary states. For a formal proof of the powerset construction, please see the 8655:
Meyer, A. R.; Stockmeyer, L. J. (1972-10-25). "The equivalence problem for regular expressions with squaring requires exponential space".
8787: 9301: 8367: 9340: 6092:{\displaystyle F'={\begin{cases}F\cup \{q_{0}\}&{\text{ if }}E(q_{0})\cap F\neq \{\}\\F&{\text{ otherwise }}\\\end{cases}}} 133:
is an algorithm for compiling a regular expression to an NFA that can efficiently perform pattern matching on strings. Conversely,
354: 9266: 8328: 6919: 6441: 4984: 3238:
Conversely, for each NFA, there is a DFA such that it recognizes the same formal language. The DFA can be constructed using the
1426: 180:
There are at least two ways to describe the behavior of an NFA, and both of them are equivalent. The first way makes use of the
9271: 9001: 8780: 5689: 7988:
can be reached by another ε-transition. Due to the ε-transitions, the composed NFA is properly nondeterministic even if both
2940: 3887: 9276: 8926: 8019: 6585: 2754: 8637: 6659: 9016: 2099: 4144: 3537: 9487: 9261: 8941: 8406: 5898: 944: 4404: 3250:
states, the resulting DFA may have up to 2 states, which sometimes makes the construction impractical for large NFAs.
137:
can be used to convert an NFA into a regular expression (whose size is generally exponential in the input automaton).
9296: 9168: 8763: 8743: 8575: 8540: 8510: 8478: 6108: 5832: 2700: 1558: 1247:, it is not required that every state sequence ends in an accepting state, it is sufficient if one does. Otherwise, 9203: 9109: 9094: 2470:
All possible state sequences for the input string "1011" are shown in the lower picture. The string is accepted by
1748: 572: 8970: 8377: 3281: 220: 169: 2545:
The feasibility to read the same picture in two ways also indicates the equivalence of both above explanations.
9383: 8362: 8184: 5564: 3228: 61: 41: 9138:
Any language in each category is generated by a grammar and by an automaton in the category in the same line.
8305: 8010:
were DFAs; vice versa, constructing a DFA for the union language (even of two DFAs) is much more complicated.
103: 7248: 9388: 9243: 8987: 8912: 7591: 7367: 7194: 1550: 816: 165: 153: 7487: 7295: 711: 9467: 9193: 9084: 8166: 3373: 8772: 8346: 7161:{\displaystyle \delta '^{*}(q_{0},w)\cap F'\neq \{\}\;\Leftarrow \;\delta ^{*}(q_{0},w)\cap F\neq \{\};} 6530: 91:, does not need to obey these restrictions. In particular, every DFA is also an NFA. Sometimes the term 9472: 9350: 9317: 9253: 8980: 8278:
for NFA, i.e., check whether the language of a given NFA is empty. To do this, we can simply perform a
8207:
Convert to the equivalent DFA. In some cases this may cause exponential blowup in the number of states.
6726: 4300: 3582: 3476: 507: 181: 130: 7675: 6853: 4838: 4709: 4232: 1800: 9482: 9378: 9322: 9223: 9177: 8905: 8170: 6765: 5616: 5570: 3797: 1018: 7752: 7008: 6002: 9518: 9477: 9281: 9213: 9057: 9052: 6886: 6378: 6202: 4920: 4742: 3344: 7711: 7171: 4118: 3948: 3552: 2384: 477: 9426: 8232: 7451: 6231: 903: 161: 145: 8293:, i.e., if there is a string that it does not accept. As a consequence, the same is true of the 3484: 2357: 2336: 1063: 410: 9068: 9006: 8931: 8324: 6554: 6330: 5350: 3762: 3639: 3398: 2203: 1612: 8176:
The set of all strings accepted by an NFA is the language the NFA accepts. This language is a
9431: 9373: 9233: 9161: 9011: 8959: 8342: 8192: 8188: 6358: 6310: 5332: 4680: 4461: 4212: 3982: 3852: 3742: 3378: 3239: 2280: 2185: 1150: 664: 334: 311: 134: 8165:
The machine starts in the specified initial state and reads in a string of symbols from its
7645: 7559: 7421: 6176: 4274: 3667: 9238: 9104: 9079: 8936: 8897: 5322:{\displaystyle M=(\{S_{0},S_{1},S_{2},S_{3},S_{4}\},\{0,1\},\delta ,S_{0},\{S_{1},S_{3}\})} 5071: 3132: 2253: 1922: 1254: 1103: 57: 8214:
of all states which the NFA might currently be in. On the consumption of an input symbol,
6824: 4018: 3693: 1372: 635: 8: 9436: 8560: 8499: 6794: 6282: 8496: 7536: 6560: 6413: 5098: 4538: 3462:{\displaystyle \delta :Q\times (\Sigma \cup \{\epsilon \})\rightarrow {\mathcal {P}}(Q)} 9365: 9332: 9089: 9031: 8975: 8372: 8279: 8211: 8023: 7344: 6262: 5801: 5781: 5684: 5662: 5546: 5143: 5051: 4961: 4900: 4880: 4818: 4798: 4778: 4518: 4490: 4098: 4078: 4055: 3722: 3619: 3519: 3349: 3202: 3182: 3162: 2687:{\displaystyle \langle r_{0},r_{1},r_{2},r_{3},r_{4}\rangle =\langle p,p,p,p,q\rangle } 2556: 2524: 2501: 2473: 2461: 2439: 2419: 2315: 2232: 2079: 1949: 1902: 1882: 1862: 1842: 1406: 1352: 1325: 1301: 1281: 1230: 1210: 1190: 1170: 1147:, the machine will transition from state to state according to the transition function 1130: 881: 796: 773: 684: 544: 446: 285: 149: 126: 35: 8682: 9497: 8824: 8759: 8739: 8702: 8698: 8571: 8536: 8530: 8506: 8474: 8468: 8422:
Rabin, M. O.; Scott, D. (April 1959). "Finite Automata and Their Decision Problems".
8402: 8297:, i.e., given two NFAs, is the language of one a subset of the language of the other. 8275: 8027: 3340: 279: 125:, who also showed their equivalence to DFAs. NFAs are used in the implementation of 8606: 4271:
denotes the set of all states the automaton may have reached when starting in state
106:, each NFA can be translated to an equivalent DFA; i.e., a DFA recognizing the same 9492: 9462: 9416: 9218: 9154: 9073: 9026: 8993: 8839: 8694: 8660: 8431: 8350: 8177: 5680: 2498:"lucky-run" explanation, each path in the picture denotes a sequence of choices of 2457: 708:
informal explanations, there are several equivalent formal definitions of a string
118: 111: 7904:{\textstyle \delta ^{*}(q_{0},w)=\bigcup _{r\in \delta ^{*}(q,v)}E(\delta (r,a)).} 3122:{\displaystyle \delta ^{*}(p,1011)=\delta (p,1)\cup \delta (q,1)=\{p,q\}\cup \{\}} 9345: 9286: 9198: 9036: 8951: 8918: 8834: 8807: 8803: 8670: 8641: 3232: 1343: 198: 107: 53: 45: 8657:
Proceedings of the 13th Annual Symposium on Switching and Automata Theory (SWAT)
7958:
to the start state (left colored circle) of an appropriate subautomaton —
4095:
of states of an NFA is defined as the set of states reachable from any state in
2521:
In terms of the "cloning" explanation, each vertical column shows all clones of
1738:{\displaystyle \delta ^{*}(r,xa)=\bigcup _{r'\in \delta ^{*}(r,x)}\delta (r',a)} 9398: 9291: 9047: 8829: 8811: 8634: 8151: 4670:{\textstyle \delta ^{*}(q,wa)=\bigcup _{r\in \delta ^{*}(q,w)}E(\delta (r,a)),} 2930:{\displaystyle \delta ^{*}(p,10)=\delta (p,0)\cup \delta (q,0)=\{p\}\cup \{\}} 1100:
In words, the first condition says that the machine starts in the start state
157: 9512: 9208: 9185: 9132: 8706: 5130: 1996: 4391:{\displaystyle \delta ^{*}:Q\times \Sigma ^{*}\rightarrow {\mathcal {P}}(Q)} 2037: 1542:{\displaystyle \delta ^{*}:Q\times \Sigma ^{*}\rightarrow {\mathcal {P}}(Q)} 9411: 9228: 8015: 7954:
in the language union, the composed automaton follows an ε-transition from
3369: 3259: 306: 2697:
Concerning the second formal definition, bottom-up computation shows that
2021: 9421: 9099: 9021: 8946: 8802: 8723:
M. O. Rabin and D. Scott, "Finite Automata and their Decision Problems",
8664: 7984:, may reach an accepting state (right colored circle); from there, state 1207:
causes the machine to halt in one of the accepting states. In order for
8435: 122: 30: 8466: 8215: 7928:
Composed NFA accepting the union of the languages of some given NFAs
3613: 2096:, with a binary alphabet, determines if the input ends with a 1. Let 538: 8282:
from the initial state and check if some final state can be reached.
1991: 8561:
John E. Hopcroft and Rajeev Motwani and Jeffrey D. Ullman (2003).
9457: 8497:
Alfred V. Aho and John E. Hopcroft and Jeffrey D. Ullman (1974).
8026:. They can also be used to prove that NFAs recognize exactly the 7916:
Since NFA is equivalent to DFA, NFA-ε is also equivalent to DFA.
197:
For a more elementary introduction of the formal definition, see
1127:. The second condition says that given each character of string 8317: 8286: 8018:
the following operations. These closure operations are used in
8556: 8554: 8552: 7924: 75:
reading an input symbol is required for each state transition.
9062: 5125: 3275: 3235:
that can be recognized by a DFA can be recognized by an NFA.
2553:
formal definitions, "1011" is accepted since when reading it
661:, and is defined as the set of all strings over the alphabet 214: 9131:
Each category of languages, except those marked by a , is a
4515:
Reading the empty string may drive the automaton from state
389:{\displaystyle Q\times \Sigma \rightarrow {\mathcal {P}}(Q)} 9441: 8755:
Introduction to Automata Theory, Languages, and Computation
8564:
Introduction to Automata Theory, Languages, and Computation
8549: 8470:
Introduction to Automata Theory, Languages, and Computation
6085: 9146: 8758:, Addison-Wesley Publishing, Reading Massachusetts, 1979. 8492: 8490: 6998:{\displaystyle \delta '^{*}(q_{0},w)=\delta ^{*}(q_{0},w)} 6520:{\displaystyle \delta '^{*}(q_{0},w)=\delta ^{*}(q_{0},w)} 5038:{\displaystyle \delta ^{*}(q_{0},w)\cap F\neq \emptyset ,} 1477:{\displaystyle \delta ^{*}(q_{0},w)\cap F\not =\emptyset } 164:. Besides the DFAs, other known special cases of NFAs are 5771:{\displaystyle (1^{*}01^{*}0)^{*}\cup (0^{*}10^{*}1)^{*}} 95:
is used in a narrower sense, referring to an NFA that is
8592: 8264:
track of object references have a look at Tracematches.)
4209:
Similar to NFA without ε-moves, the transition function
3659: 8487: 8399:
Introduction to Languages and the Theory of Computation
3011:{\displaystyle \delta ^{*}(p,101)=\delta (p,1)=\{p,q\}} 8462: 8460: 8458: 8456: 8454: 7797: 4567: 3938:{\displaystyle q_{i+1}\in \delta (q_{i},\varepsilon )} 3739:
by following ε-transitions in the transition function
7755: 7714: 7678: 7648: 7594: 7562: 7539: 7490: 7454: 7424: 7370: 7347: 7298: 7251: 7197: 7174: 7045: 7011: 6922: 6889: 6856: 6827: 6797: 6768: 6729: 6662: 6649:{\displaystyle \delta '^{*}(q_{0},w)\cap F'\neq \{\}} 6588: 6563: 6533: 6444: 6416: 6381: 6361: 6333: 6313: 6285: 6265: 6234: 6205: 6179: 6111: 5985: 5901: 5835: 5804: 5784: 5692: 5665: 5619: 5573: 5549: 5335: 5169: 5146: 5101: 5074: 5054: 4987: 4964: 4923: 4903: 4883: 4841: 4821: 4801: 4781: 4745: 4712: 4683: 4541: 4521: 4493: 4464: 4407: 4339: 4303: 4277: 4235: 4215: 4147: 4121: 4101: 4081: 4058: 4021: 3985: 3951: 3890: 3855: 3800: 3765: 3745: 3725: 3696: 3670: 3642: 3622: 3585: 3555: 3522: 3487: 3406: 3381: 3352: 3284: 3205: 3185: 3165: 3135: 3024: 2943: 2838: 2825:{\displaystyle \delta ^{*}(p,1)=\delta (p,1)=\{p,q\}} 2757: 2703: 2579: 2559: 2527: 2504: 2476: 2442: 2422: 2387: 2360: 2339: 2318: 2283: 2256: 2235: 2188: 2102: 2082: 1952: 1925: 1905: 1885: 1865: 1845: 1803: 1751: 1637: 1615: 1561: 1490: 1429: 1409: 1375: 1355: 1328: 1304: 1284: 1257: 1233: 1213: 1193: 1173: 1153: 1133: 1106: 1066: 1021: 947: 906: 884: 819: 799: 776: 714: 687: 667: 638: 575: 547: 510: 480: 449: 413: 357: 337: 314: 288: 223: 8635:
Adding trace matching with free variables to AspectJ
6716:{\displaystyle \delta ^{*}(q_{0},w)\cap F\neq \{\},} 4229:
of an NFA-ε can be extended to strings. Informally,
72:
determined by its source state and input symbol, and
8451: 6259:One has to distinguish the transition functions of 2175:{\displaystyle M=(\{p,q\},\{0,1\},\delta ,p,\{q\})} 1167:. The last condition says that the machine accepts 140:NFAs have been generalized in multiple ways, e.g., 8498: 7903: 7783: 7741: 7700: 7664: 7634: 7578: 7548: 7525: 7476: 7440: 7410: 7353: 7333: 7284: 7237: 7180: 7160: 7031: 6997: 6904: 6875: 6842: 6811: 6783: 6751: 6715: 6648: 6572: 6545: 6519: 6427: 6402: 6367: 6347: 6319: 6299: 6271: 6247: 6220: 6191: 6165: 6091: 5968: 5887: 5810: 5790: 5770: 5671: 5651: 5605: 5555: 5341: 5321: 5152: 5110: 5087: 5060: 5037: 4970: 4947: 4909: 4889: 4869: 4827: 4807: 4787: 4760: 4731: 4698: 4669: 4550: 4527: 4499: 4479: 4450: 4390: 4325: 4289: 4263: 4221: 4194:{\displaystyle E(P)=\bigcup \limits _{q\in P}E(q)} 4193: 4133: 4107: 4087: 4064: 4036: 4004: 3969: 3937: 3874: 3838: 3786: 3751: 3731: 3711: 3682: 3648: 3628: 3604: 3567: 3528: 3506: 3461: 3387: 3358: 3327: 3211: 3191: 3171: 3147: 3121: 3010: 2929: 2824: 2743: 2686: 2565: 2533: 2510: 2482: 2448: 2428: 2408: 2366: 2345: 2324: 2301: 2268: 2241: 2194: 2174: 2088: 1958: 1938: 1911: 1891: 1871: 1851: 1831: 1782: 1737: 1621: 1601: 1541: 1476: 1415: 1390: 1361: 1334: 1310: 1290: 1270: 1239: 1219: 1199: 1179: 1159: 1139: 1119: 1085: 1051: 1007: 932: 890: 870: 805: 782: 762: 693: 673: 653: 624: 553: 529: 492: 455: 432: 388: 343: 320: 294: 266: 5969:{\displaystyle M'=(Q,\Sigma ,\delta ',q_{0},F'),} 3719:denote the set of states that are reachable from 1008:{\displaystyle r_{i+1}\in \delta (r_{i},a_{i+1})} 9510: 4451:{\displaystyle \delta ^{*}(q,\varepsilon )=E(q)} 8654: 8467:John E. Hopcroft and Jeffrey D. Ullman (1979). 8289:-complete to test, given an NFA, whether it is 4204: 27:Type of finite-state machine in automata theory 8528: 8501:The Design and Analysis of Computer Algorithms 8034:Union (cf. picture); that is, if the language 6166:{\displaystyle \delta '(q,a)=\delta ^{*}(q,a)} 5888:{\displaystyle M=(Q,\Sigma ,\delta ,q_{0},F),} 2744:{\displaystyle \delta ^{*}(p,\epsilon )=\{p\}} 1839:is the set of all states reachable from state 1602:{\displaystyle \delta ^{*}(r,\epsilon )=\{r\}} 9162: 8788: 8748:(see section 1.2: Nondeterminism, pp. 47–63.) 8681:Álvarez, Carme; Jenner, Birgit (1993-01-04). 8680: 8604: 8524: 8522: 8069:can be constructed that accepts the language 5068:may drive the automaton from its start state 1783:{\displaystyle x\in \Sigma ^{*},a\in \Sigma } 625:{\displaystyle M=(Q,\Sigma ,\delta ,q_{0},F)} 142:nondeterministic finite automata with ε-moves 8590:FOLDOC Free Online Dictionary of Computing, 7276: 7263: 7152: 7149: 7100: 7097: 6707: 6704: 6643: 6640: 6065: 6062: 6024: 6011: 5646: 5620: 5600: 5574: 5313: 5287: 5262: 5250: 5244: 5179: 3434: 3428: 3159:In contrast, the string "10" is rejected by 3142: 3136: 3116: 3113: 3107: 3095: 3005: 2993: 2924: 2921: 2915: 2909: 2819: 2807: 2738: 2732: 2681: 2651: 2645: 2580: 2296: 2284: 2263: 2257: 2166: 2160: 2142: 2130: 2124: 2112: 1596: 1590: 9110:Counter-free (with aperiodic finite monoid) 8345:. For example, it is much easier to prove 8323:. In fact, this problem is complete (under 8014:The set of languages recognized by NFAs is 3328:{\displaystyle (Q,\Sigma ,\delta ,q_{0},F)} 267:{\displaystyle (Q,\Sigma ,\delta ,q_{0},F)} 9169: 9155: 8795: 8781: 8519: 8421: 7107: 7103: 2495: 705: 8736:Introduction to the Theory of Computation 8570:. Upper Saddle River/NJ: Addison Wesley. 8532:Introduction to the Theory of Computation 8368:Two-way nondeterministic finite automaton 4958:The automaton is said to accept a string 2003:. It is not deterministic since in state 9341:Comparison of regular-expression engines 8752:John E. Hopcroft and Jeffrey D. Ullman, 8308:of determining how many words of length 8203:There are many ways to implement a NFA: 7923: 5124: 2550: 2036: 2020: 1990: 632:, its recognized language is denoted by 175: 29: 8725:IBM Journal of Research and Development 8659:. USA: IEEE Computer Society: 125–129. 8424:IBM Journal of Research and Development 7341:contains the same state, which lies in 6228:using the extended transition function 4917:to any state in the epsilon closure of 4535:to any state of the epsilon closure of 4398:can be defined recursively as follows. 4115:following ε-transitions. Formally, for 3199:, by reading the final 0 symbol. While 1899:is accepted if some accepting state in 1251:if it is impossible at all to get from 14: 9511: 9002:Linear context-free rewriting language 8683:"A very hard log-space counting class" 8396: 7285:{\displaystyle F'\setminus \{q_{0}\},} 5818:can be defined without using ε-moves. 3265: 3129:; since that set is not disjoint from 1975:The above automaton definition uses a 564: 9302:Zhu–Takaoka string matching algorithm 9150: 8927:Linear context-free rewriting systems 8776: 8335: 7919: 7635:{\displaystyle \delta '^{*}(q_{0},w)} 7411:{\displaystyle \delta '^{*}(q_{0},w)} 7238:{\displaystyle \delta '^{*}(q_{0},w)} 5821: 3660:ε-closure of a state or set of states 3222: 2436:is nondeterministic. The language of 871:{\displaystyle r_{0},r_{1},...,r_{n}} 813:is accepted if a sequence of states, 141: 89:nondeterministic finite-state machine 8256:way decision, the NFA creates up to 7526:{\displaystyle \delta ^{*}(q_{0},w)} 7334:{\displaystyle \delta ^{*}(q_{0},w)} 6791:this follows from the definition of 2694:, which satisfies conditions 1 to 3. 1919:can be reached from the start state 763:{\displaystyle w=a_{1}a_{2}...a_{n}} 192: 9267:Boyer–Moore string-search algorithm 8605:Chris Calabro (February 27, 2005). 8022:, which constructs an NFA from any 4795:may drive the automaton from state 4164: 3253: 24: 9135:of the category directly above it. 8141:can be constructed that accepts Σ\ 6896: 6864: 6737: 6546:{\displaystyle w\neq \varepsilon } 6212: 5922: 5851: 5563:can be viewed as the union of two 5029: 4752: 4720: 4374: 4360: 4311: 3588: 3445: 3422: 3382: 3294: 2361: 2340: 1777: 1759: 1525: 1511: 1471: 668: 591: 513: 372: 364: 315: 233: 25: 18:Non-deterministic finite automaton 9530: 9356:Nondeterministic finite automaton 9297:Two-way string-matching algorithm 8274:One can solve in linear time the 8252:Create multiple copies. For each 8198: 8020:Thompson's construction algorithm 7260: 6752:{\displaystyle w\in \Sigma ^{*}:} 6582:Based on this, one can show that 6355:and their extensions to strings, 4877:; after that, reading the symbol 4326:{\displaystyle w\in \Sigma ^{*}.} 3794:if there is a sequence of states 3605:{\displaystyle {\mathcal {P}}(Q)} 530:{\displaystyle {\mathcal {P}}(Q)} 110:. Like DFAs, NFAs only recognize 81:nondeterministic finite automaton 8535:. Boston/MA: PWS Publishing Co. 8107:can be constructed that accepts 7791:, and the same state must be in 7701:{\displaystyle q_{0}\not \in F,} 6876:{\displaystyle v\in \Sigma ^{*}} 5829:Given an NFA with epsilon moves 4870:{\displaystyle \delta ^{*}(q,w)} 4835:in the recursively computed set 4732:{\displaystyle w\in \Sigma ^{*}} 4264:{\displaystyle \delta ^{*}(q,w)} 3155:, the string "1011" is accepted. 2573:may traverse the state sequence 1970: 1832:{\displaystyle \delta ^{*}(r,x)} 1369:and this language is denoted by 1318:, it is said that the automaton 117:NFAs were introduced in 1959 by 99:a DFA, but not in this article. 8674: 8669:For a modern presentation, see 8647: 8627: 8378:Nondeterministic Turing machine 6784:{\displaystyle w=\varepsilon ,} 6410:respectively. By construction, 5652:{\displaystyle \{S_{3},S_{4}\}} 5606:{\displaystyle \{S_{1},S_{2}\}} 3839:{\displaystyle q_{1},...,q_{k}} 3274:is represented formally by a 5- 1322:the string. The set of strings 1052:{\displaystyle i=0,\ldots ,n-1} 213:is represented formally by a 5- 9272:Boyer–Moore–Horspool algorithm 9262:Apostolico–Giancarlo algorithm 8598: 8584: 8505:. Reading/MA: Addison-Wesley. 8473:. Reading/MA: Addison-Wesley. 8442: 8415: 8390: 8363:Deterministic finite automaton 8185:deterministic finite automaton 8086:Intersection; similarly, from 7895: 7892: 7880: 7874: 7866: 7854: 7827: 7808: 7784:{\displaystyle E(q_{0})\cap F} 7772: 7759: 7629: 7610: 7520: 7501: 7405: 7386: 7328: 7309: 7232: 7213: 7175: 7137: 7118: 7104: 7080: 7061: 7032:{\displaystyle F\subseteq F',} 6992: 6973: 6957: 6938: 6692: 6673: 6623: 6604: 6514: 6495: 6479: 6460: 6160: 6148: 6132: 6120: 6050: 6037: 5960: 5913: 5879: 5842: 5759: 5732: 5720: 5693: 5329:where the transition relation 5316: 5176: 5017: 4998: 4939: 4927: 4864: 4852: 4661: 4658: 4646: 4640: 4632: 4620: 4593: 4578: 4445: 4439: 4430: 4418: 4385: 4379: 4369: 4258: 4246: 4188: 4182: 4157: 4151: 4031: 4025: 3932: 3913: 3781: 3775: 3706: 3700: 3599: 3593: 3456: 3450: 3440: 3437: 3419: 3322: 3285: 3229:deterministic finite automaton 3089: 3077: 3068: 3056: 3047: 3035: 2987: 2975: 2966: 2954: 2903: 2891: 2882: 2870: 2861: 2849: 2801: 2789: 2780: 2768: 2726: 2714: 2416:contains more than one state, 2403: 2391: 2182:where the transition function 2169: 2109: 1826: 1814: 1732: 1715: 1707: 1695: 1663: 1648: 1584: 1572: 1536: 1530: 1520: 1459: 1440: 1385: 1379: 1002: 970: 648: 642: 619: 582: 524: 518: 383: 377: 367: 261: 224: 170:self-verifying finite automata 62:deterministic finite automaton 13: 1: 8717: 8268: 8160: 7749:then there exists a state in 6905:{\displaystyle a\in \Sigma .} 6403:{\displaystyle \delta '^{*},} 6221:{\displaystyle a\in \Sigma ,} 4948:{\displaystyle \delta (r,a).} 4761:{\displaystyle a\in \Sigma .} 2549:Considering the first of the 704:Loosely corresponding to the 104:subset construction algorithm 9277:Knuth–Morris–Pratt algorithm 9204:Damerau–Levenshtein distance 8699:10.1016/0304-3975(93)90252-O 8687:Theoretical Computer Science 8401:. McGraw Hill. p. 108. 7980:— which, by following 7742:{\displaystyle q_{0}\in F',} 7181:{\displaystyle \Rightarrow } 5120: 4507:denotes the epsilon closure; 4205:Extended transition function 4134:{\displaystyle P\subseteq Q} 3970:{\displaystyle 1\leq i<k} 3568:{\displaystyle F\subseteq Q} 2409:{\displaystyle \delta (p,1)} 493:{\displaystyle F\subseteq Q} 204: 7: 9468:Compressed pattern matching 9194:Approximate string matching 9176: 8731::2 (1959) pp. 115–125. 8356: 8327:) for the complexity class 7477:{\displaystyle q_{0}\in F,} 7168:we still have to show the " 6248:{\displaystyle \delta ^{*}} 5095:to some accepting state in 933:{\displaystyle r_{0}=q_{0}} 166:unambiguous finite automata 68:each of its transitions is 10: 9535: 9473:Longest common subsequence 9384:Needleman–Wunsch algorithm 9254:String-searching algorithm 9017:Deterministic context-free 8942:Deterministic context-free 8127:Negation; similarly, from 5613:and the other with states 3507:{\displaystyle q_{0}\in Q} 2367:{\displaystyle \emptyset } 2346:{\displaystyle \emptyset } 2206:(cf. upper left picture): 2019: 1989: 1982: 1086:{\displaystyle r_{n}\in F} 433:{\displaystyle q_{0}\in Q} 9483:Sequential pattern mining 9450: 9397: 9364: 9331: 9323:Commentz-Walter algorithm 9311:Multiple string searching 9310: 9252: 9244:Wagner–Fischer algorithm 9184: 9128: 9090:Nondeterministic pushdown 8818: 8231:can be processed in time 8171:state transition function 8169:. The automaton uses the 7533:also contains a state in 6348:{\displaystyle \delta ',} 3787:{\displaystyle p\in E(q)} 3649:{\displaystyle \epsilon } 2035: 1622:{\displaystyle \epsilon } 9493:String rewriting systems 9478:Longest common substring 9389:Smith–Waterman algorithm 9214:Gestalt pattern matching 8383: 8041:is accepted by some NFA 5679:can be described by the 5163:In formal notation, let 2456:can be described by the 2076:The following automaton 2007:reading a 1 can lead to 1859:by consuming the string 1629:is the empty string, and 146:finite-state transducers 9427:Generalized suffix tree 9351:Thompson's construction 8653:Historically shown in: 8529:Michael Sipser (1997). 8325:parsimonious reductions 6368:{\displaystyle \delta } 6320:{\displaystyle \delta } 5349:can be defined by this 5342:{\displaystyle \delta } 4699:{\displaystyle q\in Q,} 4480:{\displaystyle q\in Q,} 4297:and reading the string 4222:{\displaystyle \delta } 4075:The ε-closure of a set 4005:{\displaystyle q_{k}=p} 3875:{\displaystyle q_{1}=q} 3752:{\displaystyle \delta } 3388:{\displaystyle \Sigma } 2302:{\displaystyle \{p,q\}} 2202:can be defined by this 2195:{\displaystyle \delta } 2045:on input string "1011". 1160:{\displaystyle \delta } 674:{\displaystyle \Sigma } 344:{\displaystyle \delta } 321:{\displaystyle \Sigma } 131:Thompson's construction 48:has at least 16 states. 36:(0|1) 1 (0|1) 9379:Hirschberg's algorithm 9095:Deterministic pushdown 8971:Recursively enumerable 8353:using NFAs than DFAs. 8316:is intractable; it is 8304:and an integer n, the 8300:Given as input an NFA 8011: 7950:. For an input string 7905: 7785: 7743: 7702: 7666: 7665:{\displaystyle q_{0},} 7636: 7580: 7579:{\displaystyle q_{0}.} 7550: 7527: 7478: 7442: 7441:{\displaystyle q_{0},} 7412: 7355: 7335: 7286: 7239: 7182: 7162: 7033: 6999: 6906: 6877: 6844: 6813: 6785: 6753: 6717: 6650: 6574: 6547: 6521: 6435:has no ε-transitions. 6429: 6404: 6369: 6349: 6321: 6301: 6273: 6249: 6222: 6193: 6192:{\displaystyle q\in Q} 6167: 6093: 5970: 5889: 5812: 5792: 5772: 5673: 5653: 5607: 5557: 5351:state transition table 5343: 5323: 5154: 5137: 5112: 5089: 5062: 5039: 4972: 4949: 4911: 4891: 4871: 4829: 4809: 4789: 4762: 4733: 4700: 4671: 4552: 4529: 4501: 4481: 4452: 4392: 4327: 4291: 4290:{\displaystyle q\in Q} 4265: 4223: 4195: 4135: 4109: 4089: 4066: 4038: 4006: 3971: 3939: 3876: 3840: 3788: 3753: 3733: 3713: 3684: 3683:{\displaystyle q\in Q} 3656:denotes empty string. 3650: 3630: 3606: 3569: 3530: 3508: 3463: 3389: 3360: 3329: 3213: 3193: 3173: 3149: 3123: 3012: 2931: 2826: 2745: 2688: 2567: 2535: 2512: 2484: 2450: 2430: 2410: 2368: 2347: 2326: 2303: 2270: 2243: 2204:state transition table 2196: 2176: 2090: 2069: 2030: 2016: 1960: 1940: 1913: 1893: 1873: 1853: 1833: 1784: 1739: 1623: 1603: 1543: 1478: 1417: 1392: 1363: 1336: 1312: 1292: 1272: 1241: 1221: 1201: 1181: 1161: 1141: 1121: 1087: 1053: 1009: 934: 892: 872: 807: 784: 764: 695: 675: 655: 626: 555: 531: 494: 457: 434: 390: 345: 331:a transition function 322: 296: 268: 162:probabilistic automata 49: 9234:Levenshtein automaton 9224:Jaro–Winkler distance 8738:. PWS, Boston. 1997. 8397:Martin, John (2010). 8343:theory of computation 8193:Powerset construction 8189:powerset construction 7927: 7906: 7786: 7744: 7703: 7667: 7637: 7581: 7551: 7528: 7479: 7443: 7413: 7356: 7336: 7287: 7240: 7183: 7163: 7034: 7000: 6907: 6878: 6845: 6814: 6786: 6754: 6718: 6651: 6575: 6548: 6522: 6430: 6405: 6370: 6350: 6322: 6302: 6274: 6250: 6223: 6194: 6168: 6094: 6079: otherwise  5971: 5890: 5813: 5793: 5773: 5674: 5654: 5608: 5558: 5344: 5324: 5155: 5128: 5113: 5090: 5088:{\displaystyle q_{0}} 5063: 5040: 4973: 4950: 4912: 4892: 4872: 4830: 4810: 4790: 4763: 4734: 4701: 4672: 4553: 4530: 4502: 4482: 4453: 4393: 4328: 4292: 4266: 4224: 4196: 4136: 4110: 4090: 4067: 4039: 4007: 3972: 3940: 3877: 3841: 3789: 3754: 3734: 3714: 3685: 3651: 3631: 3607: 3570: 3531: 3509: 3464: 3390: 3361: 3330: 3240:powerset construction 3214: 3194: 3174: 3150: 3148:{\displaystyle \{q\}} 3124: 3013: 2932: 2827: 2746: 2689: 2568: 2536: 2513: 2485: 2451: 2431: 2411: 2369: 2348: 2327: 2304: 2271: 2269:{\displaystyle \{p\}} 2244: 2197: 2177: 2091: 2041:All possible runs of 2040: 2025:All possible runs of 2024: 1994: 1961: 1941: 1939:{\displaystyle q_{0}} 1914: 1894: 1874: 1854: 1834: 1785: 1740: 1624: 1604: 1544: 1479: 1418: 1393: 1364: 1337: 1313: 1293: 1273: 1271:{\displaystyle q_{0}} 1242: 1222: 1202: 1187:if the last input of 1182: 1162: 1142: 1122: 1120:{\displaystyle q_{0}} 1088: 1054: 1010: 935: 893: 873: 808: 785: 765: 696: 681:that are accepted by 676: 656: 627: 556: 532: 495: 458: 435: 391: 346: 323: 297: 269: 176:Informal introduction 33: 9282:Rabin–Karp algorithm 9239:Levenshtein distance 9080:Tree stack automaton 8665:10.1109/SWAT.1972.29 8593:Finite-State Machine 8223:computations, where 7795: 7753: 7712: 7676: 7646: 7592: 7560: 7537: 7488: 7452: 7422: 7368: 7345: 7296: 7249: 7245:contains a state in 7195: 7172: 7043: 7009: 6920: 6887: 6854: 6843:{\displaystyle w=va} 6825: 6795: 6766: 6727: 6660: 6586: 6561: 6531: 6442: 6414: 6379: 6359: 6331: 6311: 6283: 6263: 6232: 6203: 6177: 6109: 5983: 5899: 5833: 5802: 5782: 5690: 5663: 5617: 5571: 5547: 5333: 5167: 5144: 5099: 5072: 5052: 5048:that is, if reading 4985: 4962: 4921: 4901: 4881: 4839: 4819: 4799: 4779: 4743: 4710: 4681: 4565: 4539: 4519: 4491: 4462: 4405: 4337: 4301: 4275: 4233: 4213: 4145: 4119: 4099: 4079: 4056: 4037:{\displaystyle E(q)} 4019: 3983: 3949: 3888: 3853: 3798: 3763: 3743: 3723: 3712:{\displaystyle E(q)} 3694: 3668: 3640: 3620: 3583: 3553: 3520: 3485: 3404: 3379: 3350: 3282: 3203: 3183: 3163: 3133: 3022: 2941: 2836: 2755: 2701: 2577: 2557: 2525: 2502: 2474: 2440: 2420: 2385: 2358: 2337: 2316: 2281: 2254: 2233: 2186: 2100: 2080: 2029:on input string "10" 1977:single initial state 1950: 1923: 1903: 1883: 1863: 1843: 1801: 1749: 1635: 1613: 1559: 1488: 1427: 1407: 1391:{\displaystyle L(M)} 1373: 1353: 1326: 1302: 1282: 1255: 1231: 1211: 1191: 1171: 1151: 1131: 1104: 1064: 1019: 945: 904: 882: 817: 797: 774: 712: 685: 665: 654:{\displaystyle L(M)} 636: 573: 545: 508: 478: 447: 411: 355: 335: 312: 286: 221: 154:alternating automata 58:finite-state machine 9437:Ternary search tree 8988:range concatenation 8913:range concatenation 8607:"NFA to DFA blowup" 6812:{\displaystyle F'.} 6438:One can prove that 6300:{\displaystyle M',} 5659:. The language of 4775:Reading the string 2068:accepting state(s). 565:Recognized language 127:regular expressions 9366:Sequence alignment 9333:Regular expression 8640:2009-09-18 at the 8436:10.1147/rd.32.0114 8373:Pushdown automaton 8347:closure properties 8336:Application of NFA 8280:depth-first search 8212:set data structure 8024:regular expression 8012: 7920:Closure properties 7901: 7870: 7781: 7739: 7698: 7662: 7632: 7576: 7549:{\displaystyle F,} 7546: 7523: 7474: 7438: 7408: 7351: 7331: 7282: 7235: 7178: 7158: 7029: 6995: 6902: 6873: 6840: 6809: 6781: 6749: 6713: 6646: 6573:{\displaystyle w.} 6570: 6543: 6517: 6428:{\displaystyle M'} 6425: 6400: 6365: 6345: 6317: 6297: 6269: 6245: 6218: 6189: 6163: 6089: 6084: 5966: 5885: 5822:Equivalence to NFA 5808: 5798:using ε-moves but 5788: 5768: 5685:regular expression 5669: 5649: 5603: 5567:: one with states 5553: 5339: 5319: 5150: 5138: 5111:{\displaystyle F.} 5108: 5085: 5058: 5035: 4968: 4945: 4907: 4897:may drive it from 4887: 4867: 4825: 4805: 4785: 4758: 4729: 4696: 4667: 4636: 4551:{\displaystyle q.} 4548: 4525: 4497: 4477: 4448: 4388: 4323: 4287: 4261: 4219: 4191: 4178: 4131: 4105: 4085: 4062: 4034: 4002: 3967: 3935: 3872: 3836: 3784: 3749: 3729: 3709: 3680: 3646: 3626: 3602: 3565: 3526: 3504: 3459: 3385: 3356: 3325: 3223:Equivalence to DFA 3209: 3189: 3169: 3145: 3119: 3008: 2927: 2822: 2741: 2684: 2563: 2531: 2508: 2480: 2462:regular expression 2446: 2426: 2406: 2364: 2343: 2322: 2299: 2266: 2239: 2192: 2172: 2086: 2070: 2031: 2017: 1956: 1936: 1909: 1889: 1869: 1849: 1829: 1780: 1735: 1711: 1619: 1599: 1539: 1474: 1413: 1388: 1359: 1332: 1308: 1288: 1268: 1237: 1227:to be accepted by 1217: 1197: 1177: 1157: 1137: 1117: 1083: 1049: 1005: 930: 888: 868: 803: 780: 770:being accepted by 760: 691: 671: 651: 622: 551: 527: 490: 453: 430: 386: 341: 318: 292: 264: 135:Kleene's algorithm 50: 9506: 9505: 9498:String operations 9144: 9143: 9123: 9122: 9085:Embedded pushdown 8981:Context-sensitive 8906:Context-sensitive 8840:Abstract machines 8825:Chomsky hierarchy 8351:regular languages 8295:inclusion problem 8276:emptiness problem 8028:regular languages 7833: 7354:{\displaystyle F} 6656:if, and only if, 6557:on the length of 6272:{\displaystyle M} 6080: 6032: 5811:{\displaystyle M} 5791:{\displaystyle M} 5672:{\displaystyle M} 5556:{\displaystyle M} 5542: 5541: 5153:{\displaystyle M} 5061:{\displaystyle w} 4971:{\displaystyle w} 4910:{\displaystyle r} 4890:{\displaystyle a} 4828:{\displaystyle r} 4808:{\displaystyle q} 4788:{\displaystyle w} 4599: 4528:{\displaystyle q} 4500:{\displaystyle E} 4458:, for each state 4163: 4108:{\displaystyle P} 4088:{\displaystyle P} 4065:{\displaystyle q} 3732:{\displaystyle q} 3629:{\displaystyle Q} 3536:distinguished as 3529:{\displaystyle F} 3359:{\displaystyle Q} 3266:Formal definition 3212:{\displaystyle q} 3192:{\displaystyle q} 3172:{\displaystyle M} 2566:{\displaystyle M} 2534:{\displaystyle M} 2511:{\displaystyle M} 2483:{\displaystyle M} 2449:{\displaystyle M} 2429:{\displaystyle M} 2377: 2376: 2325:{\displaystyle q} 2242:{\displaystyle p} 2089:{\displaystyle M} 2074: 2073: 1959:{\displaystyle w} 1912:{\displaystyle F} 1892:{\displaystyle w} 1872:{\displaystyle x} 1852:{\displaystyle r} 1669: 1416:{\displaystyle w} 1362:{\displaystyle M} 1335:{\displaystyle M} 1311:{\displaystyle w} 1291:{\displaystyle F} 1240:{\displaystyle M} 1220:{\displaystyle w} 1200:{\displaystyle w} 1180:{\displaystyle w} 1140:{\displaystyle w} 891:{\displaystyle Q} 806:{\displaystyle w} 783:{\displaystyle M} 694:{\displaystyle M} 554:{\displaystyle Q} 463:distinguished as 456:{\displaystyle F} 295:{\displaystyle Q} 193:Formal definition 150:pushdown automata 112:regular languages 16:(Redirected from 9526: 9463:Pattern matching 9417:Suffix automaton 9219:Hamming distance 9171: 9164: 9157: 9148: 9147: 9139: 9136: 9100:Visibly pushdown 9074:Thread automaton 9022:Visibly pushdown 8990: 8947:Visibly pushdown 8915: 8902:(no common name) 8821: 8820: 8808:formal languages 8797: 8790: 8783: 8774: 8773: 8768:(See chapter 2.) 8734:Michael Sipser, 8711: 8710: 8678: 8672: 8668: 8651: 8645: 8631: 8625: 8624: 8622: 8620: 8611: 8602: 8596: 8588: 8582: 8581: 8569: 8558: 8547: 8546: 8526: 8517: 8516: 8504: 8494: 8485: 8484: 8464: 8449: 8446: 8440: 8439: 8419: 8413: 8412: 8394: 8312:are accepted by 8306:counting problem 8183:For every NFA a 8178:regular language 8009: 7998: 7979: 7968: 7949: 7938: 7910: 7908: 7907: 7902: 7869: 7853: 7852: 7820: 7819: 7807: 7806: 7790: 7788: 7787: 7782: 7771: 7770: 7748: 7746: 7745: 7740: 7735: 7724: 7723: 7707: 7705: 7704: 7699: 7688: 7687: 7671: 7669: 7668: 7663: 7658: 7657: 7641: 7639: 7638: 7633: 7622: 7621: 7609: 7608: 7607: 7585: 7583: 7582: 7577: 7572: 7571: 7555: 7553: 7552: 7547: 7532: 7530: 7529: 7524: 7513: 7512: 7500: 7499: 7483: 7481: 7480: 7475: 7464: 7463: 7447: 7445: 7444: 7439: 7434: 7433: 7417: 7415: 7414: 7409: 7398: 7397: 7385: 7384: 7383: 7360: 7358: 7357: 7352: 7340: 7338: 7337: 7332: 7321: 7320: 7308: 7307: 7291: 7289: 7288: 7283: 7275: 7274: 7259: 7244: 7242: 7241: 7236: 7225: 7224: 7212: 7211: 7210: 7187: 7185: 7184: 7179: 7167: 7165: 7164: 7159: 7130: 7129: 7117: 7116: 7093: 7073: 7072: 7060: 7059: 7058: 7038: 7036: 7035: 7030: 7025: 7004: 7002: 7001: 6996: 6985: 6984: 6972: 6971: 6950: 6949: 6937: 6936: 6935: 6911: 6909: 6908: 6903: 6882: 6880: 6879: 6874: 6872: 6871: 6849: 6847: 6846: 6841: 6818: 6816: 6815: 6810: 6805: 6790: 6788: 6787: 6782: 6758: 6756: 6755: 6750: 6745: 6744: 6723:for each string 6722: 6720: 6719: 6714: 6685: 6684: 6672: 6671: 6655: 6653: 6652: 6647: 6636: 6616: 6615: 6603: 6602: 6601: 6579: 6577: 6576: 6571: 6552: 6550: 6549: 6544: 6527:for each string 6526: 6524: 6523: 6518: 6507: 6506: 6494: 6493: 6472: 6471: 6459: 6458: 6457: 6434: 6432: 6431: 6426: 6424: 6409: 6407: 6406: 6401: 6396: 6395: 6394: 6374: 6372: 6371: 6366: 6354: 6352: 6351: 6346: 6341: 6326: 6324: 6323: 6318: 6306: 6304: 6303: 6298: 6293: 6278: 6276: 6275: 6270: 6254: 6252: 6251: 6246: 6244: 6243: 6227: 6225: 6224: 6219: 6199:and each symbol 6198: 6196: 6195: 6190: 6172: 6170: 6169: 6164: 6147: 6146: 6119: 6098: 6096: 6095: 6090: 6088: 6087: 6081: 6078: 6049: 6048: 6033: 6030: 6023: 6022: 5993: 5975: 5973: 5972: 5967: 5959: 5948: 5947: 5935: 5909: 5894: 5892: 5891: 5886: 5872: 5871: 5817: 5815: 5814: 5809: 5797: 5795: 5794: 5789: 5777: 5775: 5774: 5769: 5767: 5766: 5754: 5753: 5744: 5743: 5728: 5727: 5715: 5714: 5705: 5704: 5681:regular language 5678: 5676: 5675: 5670: 5658: 5656: 5655: 5650: 5645: 5644: 5632: 5631: 5612: 5610: 5609: 5604: 5599: 5598: 5586: 5585: 5562: 5560: 5559: 5554: 5356: 5355: 5348: 5346: 5345: 5340: 5328: 5326: 5325: 5320: 5312: 5311: 5299: 5298: 5283: 5282: 5243: 5242: 5230: 5229: 5217: 5216: 5204: 5203: 5191: 5190: 5159: 5157: 5156: 5151: 5117: 5115: 5114: 5109: 5094: 5092: 5091: 5086: 5084: 5083: 5067: 5065: 5064: 5059: 5044: 5042: 5041: 5036: 5010: 5009: 4997: 4996: 4977: 4975: 4974: 4969: 4954: 4952: 4951: 4946: 4916: 4914: 4913: 4908: 4896: 4894: 4893: 4888: 4876: 4874: 4873: 4868: 4851: 4850: 4834: 4832: 4831: 4826: 4814: 4812: 4811: 4806: 4794: 4792: 4791: 4786: 4767: 4765: 4764: 4759: 4739:and each symbol 4738: 4736: 4735: 4730: 4728: 4727: 4705: 4703: 4702: 4697: 4676: 4674: 4673: 4668: 4635: 4619: 4618: 4577: 4576: 4557: 4555: 4554: 4549: 4534: 4532: 4531: 4526: 4506: 4504: 4503: 4498: 4486: 4484: 4483: 4478: 4457: 4455: 4454: 4449: 4417: 4416: 4397: 4395: 4394: 4389: 4378: 4377: 4368: 4367: 4349: 4348: 4332: 4330: 4329: 4324: 4319: 4318: 4296: 4294: 4293: 4288: 4270: 4268: 4267: 4262: 4245: 4244: 4228: 4226: 4225: 4220: 4200: 4198: 4197: 4192: 4177: 4140: 4138: 4137: 4132: 4114: 4112: 4111: 4106: 4094: 4092: 4091: 4086: 4071: 4069: 4068: 4063: 4044:is known as the 4043: 4041: 4040: 4035: 4011: 4009: 4008: 4003: 3995: 3994: 3976: 3974: 3973: 3968: 3944: 3942: 3941: 3936: 3925: 3924: 3906: 3905: 3881: 3879: 3878: 3873: 3865: 3864: 3845: 3843: 3842: 3837: 3835: 3834: 3810: 3809: 3793: 3791: 3790: 3785: 3758: 3756: 3755: 3750: 3738: 3736: 3735: 3730: 3718: 3716: 3715: 3710: 3689: 3687: 3686: 3681: 3655: 3653: 3652: 3647: 3635: 3633: 3632: 3627: 3611: 3609: 3608: 3603: 3592: 3591: 3574: 3572: 3571: 3566: 3535: 3533: 3532: 3527: 3516:a set of states 3513: 3511: 3510: 3505: 3497: 3496: 3468: 3466: 3465: 3460: 3449: 3448: 3394: 3392: 3391: 3386: 3368:a finite set of 3365: 3363: 3362: 3357: 3335:, consisting of 3334: 3332: 3331: 3326: 3315: 3314: 3254:NFA with ε-moves 3218: 3216: 3215: 3210: 3198: 3196: 3195: 3190: 3178: 3176: 3175: 3170: 3154: 3152: 3151: 3146: 3128: 3126: 3125: 3120: 3034: 3033: 3017: 3015: 3014: 3009: 2953: 2952: 2936: 2934: 2933: 2928: 2848: 2847: 2831: 2829: 2828: 2823: 2767: 2766: 2750: 2748: 2747: 2742: 2713: 2712: 2693: 2691: 2690: 2685: 2644: 2643: 2631: 2630: 2618: 2617: 2605: 2604: 2592: 2591: 2572: 2570: 2569: 2564: 2540: 2538: 2537: 2532: 2517: 2515: 2514: 2509: 2494:In terms of the 2489: 2487: 2486: 2481: 2466: 2458:regular language 2455: 2453: 2452: 2447: 2435: 2433: 2432: 2427: 2415: 2413: 2412: 2407: 2373: 2371: 2370: 2365: 2352: 2350: 2349: 2344: 2331: 2329: 2328: 2323: 2308: 2306: 2305: 2300: 2275: 2273: 2272: 2267: 2248: 2246: 2245: 2240: 2211: 2210: 2201: 2199: 2198: 2193: 2181: 2179: 2178: 2173: 2095: 2093: 2092: 2087: 2065: 2058: 1987: 1986: 1965: 1963: 1962: 1957: 1945: 1943: 1942: 1937: 1935: 1934: 1918: 1916: 1915: 1910: 1898: 1896: 1895: 1890: 1878: 1876: 1875: 1870: 1858: 1856: 1855: 1850: 1838: 1836: 1835: 1830: 1813: 1812: 1789: 1787: 1786: 1781: 1767: 1766: 1744: 1742: 1741: 1736: 1725: 1710: 1694: 1693: 1681: 1647: 1646: 1628: 1626: 1625: 1620: 1608: 1606: 1605: 1600: 1571: 1570: 1548: 1546: 1545: 1540: 1529: 1528: 1519: 1518: 1500: 1499: 1483: 1481: 1480: 1475: 1452: 1451: 1439: 1438: 1422: 1420: 1419: 1414: 1397: 1395: 1394: 1389: 1368: 1366: 1365: 1360: 1341: 1339: 1338: 1333: 1317: 1315: 1314: 1309: 1297: 1295: 1294: 1289: 1278:to a state from 1277: 1275: 1274: 1269: 1267: 1266: 1246: 1244: 1243: 1238: 1226: 1224: 1223: 1218: 1206: 1204: 1203: 1198: 1186: 1184: 1183: 1178: 1166: 1164: 1163: 1158: 1146: 1144: 1143: 1138: 1126: 1124: 1123: 1118: 1116: 1115: 1092: 1090: 1089: 1084: 1076: 1075: 1058: 1056: 1055: 1050: 1014: 1012: 1011: 1006: 1001: 1000: 982: 981: 963: 962: 939: 937: 936: 931: 929: 928: 916: 915: 897: 895: 894: 889: 877: 875: 874: 869: 867: 866: 842: 841: 829: 828: 812: 810: 809: 804: 789: 787: 786: 781: 769: 767: 766: 761: 759: 758: 740: 739: 730: 729: 700: 698: 697: 692: 680: 678: 677: 672: 660: 658: 657: 652: 631: 629: 628: 623: 612: 611: 560: 558: 557: 552: 536: 534: 533: 528: 517: 516: 499: 497: 496: 491: 462: 460: 459: 454: 443:a set of states 439: 437: 436: 431: 423: 422: 395: 393: 392: 387: 376: 375: 350: 348: 347: 342: 327: 325: 324: 319: 305:a finite set of 301: 299: 298: 293: 274:, consisting of 273: 271: 270: 265: 254: 253: 119:Michael O. Rabin 21: 9534: 9533: 9529: 9528: 9527: 9525: 9524: 9523: 9519:Finite automata 9509: 9508: 9507: 9502: 9446: 9393: 9360: 9346:Regular grammar 9327: 9306: 9287:Raita algorithm 9248: 9199:Bitap algorithm 9180: 9175: 9145: 9140: 9137: 9130: 9124: 9119: 9041: 8985: 8964: 8910: 8891: 8814: 8812:formal grammars 8804:Automata theory 8801: 8720: 8715: 8714: 8679: 8675: 8652: 8648: 8642:Wayback Machine 8632: 8628: 8618: 8616: 8614:cseweb.ucsd.edu 8609: 8603: 8599: 8589: 8585: 8578: 8567: 8559: 8550: 8543: 8527: 8520: 8513: 8495: 8488: 8481: 8465: 8452: 8447: 8443: 8420: 8416: 8409: 8395: 8391: 8386: 8359: 8338: 8271: 8201: 8163: 8147: 8140: 8133: 8120: 8113: 8106: 8099: 8092: 8082: 8075: 8068: 8061: 8054: 8047: 8040: 8000: 7989: 7970: 7959: 7940: 7929: 7922: 7848: 7844: 7837: 7815: 7811: 7802: 7798: 7796: 7793: 7792: 7766: 7762: 7754: 7751: 7750: 7728: 7719: 7715: 7713: 7710: 7709: 7683: 7679: 7677: 7674: 7673: 7653: 7649: 7647: 7644: 7643: 7617: 7613: 7603: 7599: 7595: 7593: 7590: 7589: 7567: 7563: 7561: 7558: 7557: 7538: 7535: 7534: 7508: 7504: 7495: 7491: 7489: 7486: 7485: 7459: 7455: 7453: 7450: 7449: 7429: 7425: 7423: 7420: 7419: 7393: 7389: 7379: 7375: 7371: 7369: 7366: 7365: 7346: 7343: 7342: 7316: 7312: 7303: 7299: 7297: 7294: 7293: 7270: 7266: 7252: 7250: 7247: 7246: 7220: 7216: 7206: 7202: 7198: 7196: 7193: 7192: 7173: 7170: 7169: 7125: 7121: 7112: 7108: 7086: 7068: 7064: 7054: 7050: 7046: 7044: 7041: 7040: 7018: 7010: 7007: 7006: 6980: 6976: 6967: 6963: 6945: 6941: 6931: 6927: 6923: 6921: 6918: 6917: 6888: 6885: 6884: 6867: 6863: 6855: 6852: 6851: 6826: 6823: 6822: 6821:Otherwise, let 6798: 6796: 6793: 6792: 6767: 6764: 6763: 6740: 6736: 6728: 6725: 6724: 6680: 6676: 6667: 6663: 6661: 6658: 6657: 6629: 6611: 6607: 6597: 6593: 6589: 6587: 6584: 6583: 6562: 6559: 6558: 6532: 6529: 6528: 6502: 6498: 6489: 6485: 6467: 6463: 6453: 6449: 6445: 6443: 6440: 6439: 6417: 6415: 6412: 6411: 6390: 6386: 6382: 6380: 6377: 6376: 6360: 6357: 6356: 6334: 6332: 6329: 6328: 6312: 6309: 6308: 6286: 6284: 6281: 6280: 6264: 6261: 6260: 6239: 6235: 6233: 6230: 6229: 6204: 6201: 6200: 6178: 6175: 6174: 6173:for each state 6142: 6138: 6112: 6110: 6107: 6106: 6083: 6082: 6077: 6075: 6069: 6068: 6044: 6040: 6029: 6027: 6018: 6014: 5998: 5997: 5986: 5984: 5981: 5980: 5952: 5943: 5939: 5928: 5902: 5900: 5897: 5896: 5867: 5863: 5834: 5831: 5830: 5824: 5803: 5800: 5799: 5783: 5780: 5779: 5762: 5758: 5749: 5745: 5739: 5735: 5723: 5719: 5710: 5706: 5700: 5696: 5691: 5688: 5687: 5664: 5661: 5660: 5640: 5636: 5627: 5623: 5618: 5615: 5614: 5594: 5590: 5581: 5577: 5572: 5569: 5568: 5548: 5545: 5544: 5534: 5524: 5515: 5501: 5491: 5482: 5468: 5458: 5449: 5435: 5425: 5416: 5405: 5398: 5383: 5364: 5361: 5334: 5331: 5330: 5307: 5303: 5294: 5290: 5278: 5274: 5238: 5234: 5225: 5221: 5212: 5208: 5199: 5195: 5186: 5182: 5168: 5165: 5164: 5145: 5142: 5141: 5123: 5100: 5097: 5096: 5079: 5075: 5073: 5070: 5069: 5053: 5050: 5049: 5005: 5001: 4992: 4988: 4986: 4983: 4982: 4963: 4960: 4959: 4922: 4919: 4918: 4902: 4899: 4898: 4882: 4879: 4878: 4846: 4842: 4840: 4837: 4836: 4820: 4817: 4816: 4800: 4797: 4796: 4780: 4777: 4776: 4744: 4741: 4740: 4723: 4719: 4711: 4708: 4707: 4682: 4679: 4678: 4677:for each state 4614: 4610: 4603: 4572: 4568: 4566: 4563: 4562: 4540: 4537: 4536: 4520: 4517: 4516: 4492: 4489: 4488: 4463: 4460: 4459: 4412: 4408: 4406: 4403: 4402: 4373: 4372: 4363: 4359: 4344: 4340: 4338: 4335: 4334: 4314: 4310: 4302: 4299: 4298: 4276: 4273: 4272: 4240: 4236: 4234: 4231: 4230: 4214: 4211: 4210: 4207: 4167: 4146: 4143: 4142: 4120: 4117: 4116: 4100: 4097: 4096: 4080: 4077: 4076: 4057: 4054: 4053: 4046:epsilon closure 4020: 4017: 4016: 3990: 3986: 3984: 3981: 3980: 3950: 3947: 3946: 3920: 3916: 3895: 3891: 3889: 3886: 3885: 3860: 3856: 3854: 3851: 3850: 3830: 3826: 3805: 3801: 3799: 3796: 3795: 3764: 3761: 3760: 3744: 3741: 3740: 3724: 3721: 3720: 3695: 3692: 3691: 3669: 3666: 3665: 3662: 3641: 3638: 3637: 3621: 3618: 3617: 3587: 3586: 3584: 3581: 3580: 3554: 3551: 3550: 3521: 3518: 3517: 3492: 3488: 3486: 3483: 3482: 3444: 3443: 3405: 3402: 3401: 3380: 3377: 3376: 3351: 3348: 3347: 3310: 3306: 3283: 3280: 3279: 3268: 3256: 3233:formal language 3225: 3204: 3201: 3200: 3184: 3181: 3180: 3164: 3161: 3160: 3134: 3131: 3130: 3029: 3025: 3023: 3020: 3019: 2948: 2944: 2942: 2939: 2938: 2843: 2839: 2837: 2834: 2833: 2762: 2758: 2756: 2753: 2752: 2708: 2704: 2702: 2699: 2698: 2639: 2635: 2626: 2622: 2613: 2609: 2600: 2596: 2587: 2583: 2578: 2575: 2574: 2558: 2555: 2554: 2526: 2523: 2522: 2503: 2500: 2499: 2475: 2472: 2471: 2464: 2441: 2438: 2437: 2421: 2418: 2417: 2386: 2383: 2382: 2359: 2356: 2355: 2338: 2335: 2334: 2317: 2314: 2313: 2282: 2279: 2278: 2255: 2252: 2251: 2234: 2231: 2230: 2219: 2216: 2187: 2184: 2183: 2101: 2098: 2097: 2081: 2078: 2077: 2063: 2056: 2046: 1985: 1973: 1951: 1948: 1947: 1930: 1926: 1924: 1921: 1920: 1904: 1901: 1900: 1884: 1881: 1880: 1864: 1861: 1860: 1844: 1841: 1840: 1808: 1804: 1802: 1799: 1798: 1762: 1758: 1750: 1747: 1746: 1718: 1689: 1685: 1674: 1673: 1642: 1638: 1636: 1633: 1632: 1614: 1611: 1610: 1566: 1562: 1560: 1557: 1556: 1524: 1523: 1514: 1510: 1495: 1491: 1489: 1486: 1485: 1447: 1443: 1434: 1430: 1428: 1425: 1424: 1423:is accepted if 1408: 1405: 1404: 1403:Alternatively, 1374: 1371: 1370: 1354: 1351: 1350: 1342:accepts is the 1327: 1324: 1323: 1303: 1300: 1299: 1283: 1280: 1279: 1262: 1258: 1256: 1253: 1252: 1232: 1229: 1228: 1212: 1209: 1208: 1192: 1189: 1188: 1172: 1169: 1168: 1152: 1149: 1148: 1132: 1129: 1128: 1111: 1107: 1105: 1102: 1101: 1071: 1067: 1065: 1062: 1061: 1020: 1017: 1016: 990: 986: 977: 973: 952: 948: 946: 943: 942: 924: 920: 911: 907: 905: 902: 901: 883: 880: 879: 862: 858: 837: 833: 824: 820: 818: 815: 814: 798: 795: 794: 775: 772: 771: 754: 750: 735: 731: 725: 721: 713: 710: 709: 686: 683: 682: 666: 663: 662: 637: 634: 633: 607: 603: 574: 571: 570: 567: 546: 543: 542: 512: 511: 509: 506: 505: 479: 476: 475: 448: 445: 444: 418: 414: 412: 409: 408: 371: 370: 356: 353: 352: 336: 333: 332: 313: 310: 309: 287: 284: 283: 249: 245: 222: 219: 218: 207: 199:automata theory 195: 178: 108:formal language 54:automata theory 39: 28: 23: 22: 15: 12: 11: 5: 9532: 9522: 9521: 9504: 9503: 9501: 9500: 9495: 9490: 9485: 9480: 9475: 9470: 9465: 9460: 9454: 9452: 9448: 9447: 9445: 9444: 9439: 9434: 9429: 9424: 9419: 9414: 9409: 9403: 9401: 9399:Data structure 9395: 9394: 9392: 9391: 9386: 9381: 9376: 9370: 9368: 9362: 9361: 9359: 9358: 9353: 9348: 9343: 9337: 9335: 9329: 9328: 9326: 9325: 9320: 9314: 9312: 9308: 9307: 9305: 9304: 9299: 9294: 9292:Trigram search 9289: 9284: 9279: 9274: 9269: 9264: 9258: 9256: 9250: 9249: 9247: 9246: 9241: 9236: 9231: 9226: 9221: 9216: 9211: 9206: 9201: 9196: 9190: 9188: 9182: 9181: 9174: 9173: 9166: 9159: 9151: 9142: 9141: 9129: 9126: 9125: 9121: 9120: 9118: 9117: 9115:Acyclic finite 9112: 9107: 9102: 9097: 9092: 9087: 9082: 9076: 9071: 9066: 9065:Turing Machine 9060: 9058:Linear-bounded 9055: 9050: 9048:Turing machine 9044: 9042: 9040: 9039: 9034: 9029: 9024: 9019: 9014: 9009: 9007:Tree-adjoining 9004: 8999: 8996: 8991: 8983: 8978: 8973: 8967: 8965: 8963: 8962: 8957: 8954: 8949: 8944: 8939: 8934: 8932:Tree-adjoining 8929: 8924: 8921: 8916: 8908: 8903: 8900: 8894: 8892: 8890: 8889: 8886: 8883: 8880: 8877: 8874: 8871: 8868: 8865: 8862: 8859: 8856: 8853: 8850: 8846: 8843: 8842: 8837: 8832: 8827: 8819: 8816: 8815: 8800: 8799: 8792: 8785: 8777: 8771: 8770: 8750: 8732: 8719: 8716: 8713: 8712: 8673: 8646: 8626: 8597: 8583: 8576: 8548: 8541: 8518: 8511: 8486: 8479: 8450: 8441: 8430:(2): 114–125. 8414: 8408:978-0071289429 8407: 8388: 8387: 8385: 8382: 8381: 8380: 8375: 8370: 8365: 8358: 8355: 8337: 8334: 8333: 8332: 8298: 8283: 8270: 8267: 8266: 8265: 8261: 8250: 8208: 8200: 8199:Implementation 8197: 8162: 8159: 8155: 8154: 8152:Kleene closure 8149: 8145: 8138: 8131: 8125: 8122: 8118: 8111: 8104: 8097: 8090: 8084: 8080: 8073: 8066: 8062:, then an NFA 8059: 8052: 8045: 8038: 7921: 7918: 7914: 7913: 7912: 7911: 7900: 7897: 7894: 7891: 7888: 7885: 7882: 7879: 7876: 7873: 7868: 7865: 7862: 7859: 7856: 7851: 7847: 7843: 7840: 7836: 7832: 7829: 7826: 7823: 7818: 7814: 7810: 7805: 7801: 7780: 7777: 7774: 7769: 7765: 7761: 7758: 7738: 7734: 7731: 7727: 7722: 7718: 7697: 7694: 7691: 7686: 7682: 7661: 7656: 7652: 7631: 7628: 7625: 7620: 7616: 7612: 7606: 7602: 7598: 7586: 7575: 7570: 7566: 7545: 7542: 7522: 7519: 7516: 7511: 7507: 7503: 7498: 7494: 7473: 7470: 7467: 7462: 7458: 7437: 7432: 7428: 7407: 7404: 7401: 7396: 7392: 7388: 7382: 7378: 7374: 7362: 7350: 7330: 7327: 7324: 7319: 7315: 7311: 7306: 7302: 7281: 7278: 7273: 7269: 7265: 7262: 7258: 7255: 7234: 7231: 7228: 7223: 7219: 7215: 7209: 7205: 7201: 7177: 7157: 7154: 7151: 7148: 7145: 7142: 7139: 7136: 7133: 7128: 7124: 7120: 7115: 7111: 7106: 7102: 7099: 7096: 7092: 7089: 7085: 7082: 7079: 7076: 7071: 7067: 7063: 7057: 7053: 7049: 7028: 7024: 7021: 7017: 7014: 6994: 6991: 6988: 6983: 6979: 6975: 6970: 6966: 6962: 6959: 6956: 6953: 6948: 6944: 6940: 6934: 6930: 6926: 6913: 6912: 6901: 6898: 6895: 6892: 6870: 6866: 6862: 6859: 6839: 6836: 6833: 6830: 6819: 6808: 6804: 6801: 6780: 6777: 6774: 6771: 6748: 6743: 6739: 6735: 6732: 6712: 6709: 6706: 6703: 6700: 6697: 6694: 6691: 6688: 6683: 6679: 6675: 6670: 6666: 6645: 6642: 6639: 6635: 6632: 6628: 6625: 6622: 6619: 6614: 6610: 6606: 6600: 6596: 6592: 6569: 6566: 6542: 6539: 6536: 6516: 6513: 6510: 6505: 6501: 6497: 6492: 6488: 6484: 6481: 6478: 6475: 6470: 6466: 6462: 6456: 6452: 6448: 6423: 6420: 6399: 6393: 6389: 6385: 6364: 6344: 6340: 6337: 6316: 6296: 6292: 6289: 6268: 6257: 6256: 6255:defined above. 6242: 6238: 6217: 6214: 6211: 6208: 6188: 6185: 6182: 6162: 6159: 6156: 6153: 6150: 6145: 6141: 6137: 6134: 6131: 6128: 6125: 6122: 6118: 6115: 6100: 6099: 6086: 6076: 6074: 6071: 6070: 6067: 6064: 6061: 6058: 6055: 6052: 6047: 6043: 6039: 6036: 6031: if  6028: 6026: 6021: 6017: 6013: 6010: 6007: 6004: 6003: 6001: 5996: 5992: 5989: 5965: 5962: 5958: 5955: 5951: 5946: 5942: 5938: 5934: 5931: 5927: 5924: 5921: 5918: 5915: 5912: 5908: 5905: 5895:define an NFA 5884: 5881: 5878: 5875: 5870: 5866: 5862: 5859: 5856: 5853: 5850: 5847: 5844: 5841: 5838: 5823: 5820: 5807: 5787: 5765: 5761: 5757: 5752: 5748: 5742: 5738: 5734: 5731: 5726: 5722: 5718: 5713: 5709: 5703: 5699: 5695: 5683:given by this 5668: 5648: 5643: 5639: 5635: 5630: 5626: 5622: 5602: 5597: 5593: 5589: 5584: 5580: 5576: 5552: 5540: 5539: 5536: 5532: 5526: 5522: 5516: 5513: 5507: 5506: 5503: 5499: 5493: 5489: 5483: 5480: 5474: 5473: 5470: 5466: 5460: 5456: 5450: 5447: 5441: 5440: 5437: 5433: 5427: 5423: 5417: 5414: 5408: 5407: 5403: 5396: 5390: 5387: 5384: 5381: 5375: 5374: 5371: 5368: 5365: 5362: 5359: 5338: 5318: 5315: 5310: 5306: 5302: 5297: 5293: 5289: 5286: 5281: 5277: 5273: 5270: 5267: 5264: 5261: 5258: 5255: 5252: 5249: 5246: 5241: 5237: 5233: 5228: 5224: 5220: 5215: 5211: 5207: 5202: 5198: 5194: 5189: 5185: 5181: 5178: 5175: 5172: 5149: 5122: 5119: 5107: 5104: 5082: 5078: 5057: 5046: 5045: 5034: 5031: 5028: 5025: 5022: 5019: 5016: 5013: 5008: 5004: 5000: 4995: 4991: 4967: 4956: 4955: 4944: 4941: 4938: 4935: 4932: 4929: 4926: 4906: 4886: 4866: 4863: 4860: 4857: 4854: 4849: 4845: 4824: 4804: 4784: 4769: 4768: 4757: 4754: 4751: 4748: 4726: 4722: 4718: 4715: 4695: 4692: 4689: 4686: 4666: 4663: 4660: 4657: 4654: 4651: 4648: 4645: 4642: 4639: 4634: 4631: 4628: 4625: 4622: 4617: 4613: 4609: 4606: 4602: 4598: 4595: 4592: 4589: 4586: 4583: 4580: 4575: 4571: 4559: 4558: 4547: 4544: 4524: 4509: 4508: 4496: 4476: 4473: 4470: 4467: 4447: 4444: 4441: 4438: 4435: 4432: 4429: 4426: 4423: 4420: 4415: 4411: 4387: 4384: 4381: 4376: 4371: 4366: 4362: 4358: 4355: 4352: 4347: 4343: 4322: 4317: 4313: 4309: 4306: 4286: 4283: 4280: 4260: 4257: 4254: 4251: 4248: 4243: 4239: 4218: 4206: 4203: 4190: 4187: 4184: 4181: 4176: 4173: 4170: 4166: 4162: 4159: 4156: 4153: 4150: 4130: 4127: 4124: 4104: 4084: 4061: 4033: 4030: 4027: 4024: 4014: 4013: 4001: 3998: 3993: 3989: 3978: 3966: 3963: 3960: 3957: 3954: 3934: 3931: 3928: 3923: 3919: 3915: 3912: 3909: 3904: 3901: 3898: 3894: 3883: 3871: 3868: 3863: 3859: 3833: 3829: 3825: 3822: 3819: 3816: 3813: 3808: 3804: 3783: 3780: 3777: 3774: 3771: 3768: 3748: 3728: 3708: 3705: 3702: 3699: 3679: 3676: 3673: 3661: 3658: 3645: 3625: 3601: 3598: 3595: 3590: 3577: 3576: 3564: 3561: 3558: 3525: 3514: 3503: 3500: 3495: 3491: 3469: 3458: 3455: 3452: 3447: 3442: 3439: 3436: 3433: 3430: 3427: 3424: 3421: 3418: 3415: 3412: 3409: 3395: 3384: 3366: 3355: 3324: 3321: 3318: 3313: 3309: 3305: 3302: 3299: 3296: 3293: 3290: 3287: 3267: 3264: 3255: 3252: 3224: 3221: 3208: 3188: 3168: 3157: 3156: 3144: 3141: 3138: 3118: 3115: 3112: 3109: 3106: 3103: 3100: 3097: 3094: 3091: 3088: 3085: 3082: 3079: 3076: 3073: 3070: 3067: 3064: 3061: 3058: 3055: 3052: 3049: 3046: 3043: 3040: 3037: 3032: 3028: 3007: 3004: 3001: 2998: 2995: 2992: 2989: 2986: 2983: 2980: 2977: 2974: 2971: 2968: 2965: 2962: 2959: 2956: 2951: 2947: 2926: 2923: 2920: 2917: 2914: 2911: 2908: 2905: 2902: 2899: 2896: 2893: 2890: 2887: 2884: 2881: 2878: 2875: 2872: 2869: 2866: 2863: 2860: 2857: 2854: 2851: 2846: 2842: 2821: 2818: 2815: 2812: 2809: 2806: 2803: 2800: 2797: 2794: 2791: 2788: 2785: 2782: 2779: 2776: 2773: 2770: 2765: 2761: 2740: 2737: 2734: 2731: 2728: 2725: 2722: 2719: 2716: 2711: 2707: 2695: 2683: 2680: 2677: 2674: 2671: 2668: 2665: 2662: 2659: 2656: 2653: 2650: 2647: 2642: 2638: 2634: 2629: 2625: 2621: 2616: 2612: 2608: 2603: 2599: 2595: 2590: 2586: 2582: 2562: 2543: 2542: 2530: 2519: 2507: 2479: 2445: 2425: 2405: 2402: 2399: 2396: 2393: 2390: 2381:Since the set 2379: 2378: 2375: 2374: 2363: 2353: 2342: 2332: 2321: 2310: 2309: 2298: 2295: 2292: 2289: 2286: 2276: 2265: 2262: 2259: 2249: 2238: 2227: 2226: 2223: 2220: 2217: 2214: 2191: 2171: 2168: 2165: 2162: 2159: 2156: 2153: 2150: 2147: 2144: 2141: 2138: 2135: 2132: 2129: 2126: 2123: 2120: 2117: 2114: 2111: 2108: 2105: 2085: 2072: 2071: 2050:input symbol, 2033: 2032: 2018: 1984: 1981: 1972: 1969: 1968: 1967: 1955: 1933: 1929: 1908: 1888: 1868: 1848: 1828: 1825: 1822: 1819: 1816: 1811: 1807: 1794: 1793: 1792: 1791: 1779: 1776: 1773: 1770: 1765: 1761: 1757: 1754: 1734: 1731: 1728: 1724: 1721: 1717: 1714: 1709: 1706: 1703: 1700: 1697: 1692: 1688: 1684: 1680: 1677: 1672: 1668: 1665: 1662: 1659: 1656: 1653: 1650: 1645: 1641: 1630: 1618: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1569: 1565: 1538: 1535: 1532: 1527: 1522: 1517: 1513: 1509: 1506: 1503: 1498: 1494: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1450: 1446: 1442: 1437: 1433: 1412: 1400: 1399: 1387: 1384: 1381: 1378: 1358: 1331: 1307: 1287: 1265: 1261: 1236: 1216: 1196: 1176: 1156: 1136: 1114: 1110: 1097: 1096: 1095: 1094: 1082: 1079: 1074: 1070: 1059: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1004: 999: 996: 993: 989: 985: 980: 976: 972: 969: 966: 961: 958: 955: 951: 940: 927: 923: 919: 914: 910: 887: 865: 861: 857: 854: 851: 848: 845: 840: 836: 832: 827: 823: 802: 779: 757: 753: 749: 746: 743: 738: 734: 728: 724: 720: 717: 690: 670: 650: 647: 644: 641: 621: 618: 615: 610: 606: 602: 599: 596: 593: 590: 587: 584: 581: 578: 566: 563: 550: 526: 523: 520: 515: 502: 501: 489: 486: 483: 452: 441: 429: 426: 421: 417: 397: 385: 382: 379: 374: 369: 366: 363: 360: 340: 329: 317: 303: 291: 263: 260: 257: 252: 248: 244: 241: 238: 235: 232: 229: 226: 206: 203: 194: 191: 182:nondeterminism 177: 174: 77: 76: 73: 26: 9: 6: 4: 3: 2: 9531: 9520: 9517: 9516: 9514: 9499: 9496: 9494: 9491: 9489: 9486: 9484: 9481: 9479: 9476: 9474: 9471: 9469: 9466: 9464: 9461: 9459: 9456: 9455: 9453: 9449: 9443: 9440: 9438: 9435: 9433: 9430: 9428: 9425: 9423: 9420: 9418: 9415: 9413: 9410: 9408: 9405: 9404: 9402: 9400: 9396: 9390: 9387: 9385: 9382: 9380: 9377: 9375: 9372: 9371: 9369: 9367: 9363: 9357: 9354: 9352: 9349: 9347: 9344: 9342: 9339: 9338: 9336: 9334: 9330: 9324: 9321: 9319: 9316: 9315: 9313: 9309: 9303: 9300: 9298: 9295: 9293: 9290: 9288: 9285: 9283: 9280: 9278: 9275: 9273: 9270: 9268: 9265: 9263: 9260: 9259: 9257: 9255: 9251: 9245: 9242: 9240: 9237: 9235: 9232: 9230: 9227: 9225: 9222: 9220: 9217: 9215: 9212: 9210: 9209:Edit distance 9207: 9205: 9202: 9200: 9197: 9195: 9192: 9191: 9189: 9187: 9186:String metric 9183: 9179: 9172: 9167: 9165: 9160: 9158: 9153: 9152: 9149: 9134: 9133:proper subset 9127: 9116: 9113: 9111: 9108: 9106: 9103: 9101: 9098: 9096: 9093: 9091: 9088: 9086: 9083: 9081: 9077: 9075: 9072: 9070: 9067: 9064: 9061: 9059: 9056: 9054: 9051: 9049: 9046: 9045: 9043: 9038: 9035: 9033: 9030: 9028: 9025: 9023: 9020: 9018: 9015: 9013: 9010: 9008: 9005: 9003: 9000: 8997: 8995: 8992: 8989: 8984: 8982: 8979: 8977: 8974: 8972: 8969: 8968: 8966: 8961: 8960:Non-recursive 8958: 8955: 8953: 8950: 8948: 8945: 8943: 8940: 8938: 8935: 8933: 8930: 8928: 8925: 8922: 8920: 8917: 8914: 8909: 8907: 8904: 8901: 8899: 8896: 8895: 8893: 8887: 8884: 8881: 8878: 8875: 8872: 8869: 8866: 8863: 8860: 8857: 8854: 8851: 8848: 8847: 8845: 8844: 8841: 8838: 8836: 8833: 8831: 8828: 8826: 8823: 8822: 8817: 8813: 8809: 8805: 8798: 8793: 8791: 8786: 8784: 8779: 8778: 8775: 8769: 8765: 8764:0-201-02988-X 8761: 8757: 8756: 8751: 8749: 8745: 8744:0-534-94728-X 8741: 8737: 8733: 8730: 8726: 8722: 8721: 8708: 8704: 8700: 8696: 8692: 8688: 8684: 8677: 8671: 8666: 8662: 8658: 8650: 8643: 8639: 8636: 8630: 8615: 8608: 8601: 8595: 8594: 8587: 8579: 8577:0-201-44124-1 8573: 8566: 8565: 8557: 8555: 8553: 8544: 8542:0-534-94728-X 8538: 8534: 8533: 8525: 8523: 8514: 8512:0-201-00029-6 8508: 8503: 8502: 8493: 8491: 8482: 8480:0-201-02988-X 8476: 8472: 8471: 8463: 8461: 8459: 8457: 8455: 8445: 8437: 8433: 8429: 8425: 8418: 8410: 8404: 8400: 8393: 8389: 8379: 8376: 8374: 8371: 8369: 8366: 8364: 8361: 8360: 8354: 8352: 8348: 8344: 8330: 8326: 8322: 8320: 8315: 8311: 8307: 8303: 8299: 8296: 8292: 8288: 8284: 8281: 8277: 8273: 8272: 8262: 8259: 8255: 8251: 8248: 8244: 8241:), and space 8240: 8236: 8235: 8230: 8226: 8222: 8217: 8213: 8209: 8206: 8205: 8204: 8196: 8194: 8190: 8186: 8181: 8179: 8174: 8172: 8168: 8158: 8153: 8150: 8144: 8137: 8130: 8126: 8124:Concatenation 8123: 8117: 8110: 8103: 8096: 8089: 8085: 8079: 8072: 8065: 8058: 8051: 8044: 8037: 8033: 8032: 8031: 8029: 8025: 8021: 8017: 8007: 8003: 7996: 7992: 7987: 7983: 7977: 7973: 7966: 7962: 7957: 7953: 7947: 7943: 7936: 7932: 7926: 7917: 7898: 7889: 7886: 7883: 7877: 7871: 7863: 7860: 7857: 7849: 7845: 7841: 7838: 7834: 7830: 7824: 7821: 7816: 7812: 7803: 7799: 7778: 7775: 7767: 7763: 7756: 7736: 7732: 7729: 7725: 7720: 7716: 7695: 7692: 7689: 7684: 7680: 7659: 7654: 7650: 7626: 7623: 7618: 7614: 7604: 7600: 7596: 7587: 7573: 7568: 7564: 7543: 7540: 7517: 7514: 7509: 7505: 7496: 7492: 7471: 7468: 7465: 7460: 7456: 7435: 7430: 7426: 7402: 7399: 7394: 7390: 7380: 7376: 7372: 7363: 7348: 7325: 7322: 7317: 7313: 7304: 7300: 7279: 7271: 7267: 7256: 7253: 7229: 7226: 7221: 7217: 7207: 7203: 7199: 7190: 7189: 7188:" direction. 7155: 7146: 7143: 7140: 7134: 7131: 7126: 7122: 7113: 7109: 7094: 7090: 7087: 7083: 7077: 7074: 7069: 7065: 7055: 7051: 7047: 7026: 7022: 7019: 7015: 7012: 6989: 6986: 6981: 6977: 6968: 6964: 6960: 6954: 6951: 6946: 6942: 6932: 6928: 6924: 6915: 6914: 6899: 6893: 6890: 6868: 6860: 6857: 6837: 6834: 6831: 6828: 6820: 6806: 6802: 6799: 6778: 6775: 6772: 6769: 6761: 6760: 6759: 6746: 6741: 6733: 6730: 6710: 6701: 6698: 6695: 6689: 6686: 6681: 6677: 6668: 6664: 6637: 6633: 6630: 6626: 6620: 6617: 6612: 6608: 6598: 6594: 6590: 6580: 6567: 6564: 6556: 6540: 6537: 6534: 6511: 6508: 6503: 6499: 6490: 6486: 6482: 6476: 6473: 6468: 6464: 6454: 6450: 6446: 6436: 6421: 6418: 6397: 6391: 6387: 6383: 6362: 6342: 6338: 6335: 6314: 6294: 6290: 6287: 6266: 6240: 6236: 6215: 6209: 6206: 6186: 6183: 6180: 6157: 6154: 6151: 6143: 6139: 6135: 6129: 6126: 6123: 6116: 6113: 6105: 6104: 6103: 6072: 6059: 6056: 6053: 6045: 6041: 6034: 6019: 6015: 6008: 6005: 5999: 5994: 5990: 5987: 5979: 5978: 5977: 5963: 5956: 5953: 5949: 5944: 5940: 5936: 5932: 5929: 5925: 5919: 5916: 5910: 5906: 5903: 5882: 5876: 5873: 5868: 5864: 5860: 5857: 5854: 5848: 5845: 5839: 5836: 5827: 5819: 5805: 5785: 5763: 5755: 5750: 5746: 5740: 5736: 5729: 5724: 5716: 5711: 5707: 5701: 5697: 5686: 5682: 5666: 5641: 5637: 5633: 5628: 5624: 5595: 5591: 5587: 5582: 5578: 5566: 5550: 5537: 5531: 5527: 5521: 5517: 5512: 5509: 5508: 5504: 5498: 5494: 5488: 5484: 5479: 5476: 5475: 5471: 5465: 5461: 5455: 5451: 5446: 5443: 5442: 5438: 5432: 5428: 5422: 5418: 5413: 5410: 5409: 5402: 5395: 5391: 5388: 5385: 5380: 5377: 5376: 5372: 5369: 5366: 5358: 5357: 5354: 5352: 5336: 5308: 5304: 5300: 5295: 5291: 5284: 5279: 5275: 5271: 5268: 5265: 5259: 5256: 5253: 5247: 5239: 5235: 5231: 5226: 5222: 5218: 5213: 5209: 5205: 5200: 5196: 5192: 5187: 5183: 5173: 5170: 5161: 5147: 5136: 5132: 5131:state diagram 5127: 5118: 5105: 5102: 5080: 5076: 5055: 5032: 5026: 5023: 5020: 5014: 5011: 5006: 5002: 4993: 4989: 4981: 4980: 4979: 4965: 4942: 4936: 4933: 4930: 4924: 4904: 4884: 4861: 4858: 4855: 4847: 4843: 4822: 4815:to any state 4802: 4782: 4774: 4771: 4770: 4755: 4749: 4746: 4724: 4716: 4713: 4693: 4690: 4687: 4684: 4664: 4655: 4652: 4649: 4643: 4637: 4629: 4626: 4623: 4615: 4611: 4607: 4604: 4600: 4596: 4590: 4587: 4584: 4581: 4573: 4569: 4561: 4560: 4545: 4542: 4522: 4514: 4511: 4510: 4494: 4474: 4471: 4468: 4465: 4442: 4436: 4433: 4427: 4424: 4421: 4413: 4409: 4401: 4400: 4399: 4382: 4364: 4356: 4353: 4350: 4345: 4341: 4333:The function 4320: 4315: 4307: 4304: 4284: 4281: 4278: 4255: 4252: 4249: 4241: 4237: 4216: 4202: 4185: 4179: 4174: 4171: 4168: 4160: 4154: 4148: 4128: 4125: 4122: 4102: 4082: 4073: 4059: 4051: 4047: 4028: 4022: 3999: 3996: 3991: 3987: 3979: 3964: 3961: 3958: 3955: 3952: 3929: 3926: 3921: 3917: 3910: 3907: 3902: 3899: 3896: 3892: 3884: 3869: 3866: 3861: 3857: 3849: 3848: 3847: 3831: 3827: 3823: 3820: 3817: 3814: 3811: 3806: 3802: 3778: 3772: 3769: 3766: 3746: 3726: 3703: 3697: 3677: 3674: 3671: 3657: 3643: 3623: 3615: 3596: 3562: 3559: 3556: 3549: 3548: 3544: 3540: 3523: 3515: 3501: 3498: 3493: 3489: 3480: 3479: 3474: 3470: 3453: 3431: 3425: 3416: 3413: 3410: 3407: 3400: 3397:a transition 3396: 3375: 3371: 3370:input symbols 3367: 3353: 3346: 3342: 3338: 3337: 3336: 3319: 3316: 3311: 3307: 3303: 3300: 3297: 3291: 3288: 3277: 3273: 3263: 3261: 3251: 3249: 3243: 3241: 3236: 3234: 3230: 3220: 3206: 3186: 3166: 3139: 3110: 3104: 3101: 3098: 3092: 3086: 3083: 3080: 3074: 3071: 3065: 3062: 3059: 3053: 3050: 3044: 3041: 3038: 3030: 3026: 3002: 2999: 2996: 2990: 2984: 2981: 2978: 2972: 2969: 2963: 2960: 2957: 2949: 2945: 2918: 2912: 2906: 2900: 2897: 2894: 2888: 2885: 2879: 2876: 2873: 2867: 2864: 2858: 2855: 2852: 2844: 2840: 2816: 2813: 2810: 2804: 2798: 2795: 2792: 2786: 2783: 2777: 2774: 2771: 2763: 2759: 2735: 2729: 2723: 2720: 2717: 2709: 2705: 2696: 2678: 2675: 2672: 2669: 2666: 2663: 2660: 2657: 2654: 2648: 2640: 2636: 2632: 2627: 2623: 2619: 2614: 2610: 2606: 2601: 2597: 2593: 2588: 2584: 2560: 2552: 2548: 2547: 2546: 2528: 2520: 2505: 2497: 2493: 2492: 2491: 2477: 2468: 2463: 2460:given by the 2459: 2443: 2423: 2400: 2397: 2394: 2388: 2354: 2333: 2319: 2312: 2311: 2293: 2290: 2287: 2277: 2260: 2250: 2236: 2229: 2228: 2224: 2221: 2213: 2212: 2209: 2208: 2207: 2205: 2189: 2163: 2157: 2154: 2151: 2148: 2145: 2139: 2136: 2133: 2127: 2121: 2118: 2115: 2106: 2103: 2083: 2067: 2061:start state, 2060: 2053: 2049: 2044: 2039: 2034: 2028: 2023: 2014: 2010: 2006: 2002: 1998: 1997:state diagram 1993: 1988: 1980: 1978: 1971:Initial state 1953: 1946:by consuming 1931: 1927: 1906: 1886: 1879:. The string 1866: 1846: 1823: 1820: 1817: 1809: 1805: 1796: 1795: 1774: 1771: 1768: 1763: 1755: 1752: 1729: 1726: 1722: 1719: 1712: 1704: 1701: 1698: 1690: 1686: 1682: 1678: 1675: 1670: 1666: 1660: 1657: 1654: 1651: 1643: 1639: 1631: 1616: 1593: 1587: 1581: 1578: 1575: 1567: 1563: 1555: 1554: 1552: 1533: 1515: 1507: 1504: 1501: 1496: 1492: 1468: 1465: 1462: 1456: 1453: 1448: 1444: 1435: 1431: 1410: 1402: 1401: 1382: 1376: 1356: 1348: 1345: 1329: 1321: 1305: 1298:by following 1285: 1263: 1259: 1250: 1234: 1214: 1194: 1174: 1154: 1134: 1112: 1108: 1099: 1098: 1080: 1077: 1072: 1068: 1060: 1046: 1043: 1040: 1037: 1034: 1031: 1028: 1025: 1022: 997: 994: 991: 987: 983: 978: 974: 967: 964: 959: 956: 953: 949: 941: 925: 921: 917: 912: 908: 900: 899: 885: 863: 859: 855: 852: 849: 846: 843: 838: 834: 830: 825: 821: 800: 793: 792: 791: 777: 755: 751: 747: 744: 741: 736: 732: 726: 722: 718: 715: 707: 702: 688: 645: 639: 616: 613: 608: 604: 600: 597: 594: 588: 585: 579: 576: 569:Given an NFA 562: 548: 540: 521: 487: 484: 481: 474: 470: 466: 450: 442: 427: 424: 419: 415: 406: 402: 398: 380: 361: 358: 338: 330: 308: 307:input symbols 304: 289: 281: 277: 276: 275: 258: 255: 250: 246: 242: 239: 236: 230: 227: 216: 212: 202: 200: 190: 186: 183: 173: 171: 167: 163: 159: 155: 151: 147: 143: 138: 136: 132: 128: 124: 120: 115: 113: 109: 105: 100: 98: 94: 90: 86: 82: 74: 71: 67: 66: 65: 63: 59: 55: 47: 43: 37: 32: 19: 9412:Suffix array 9355: 9318:Aho–Corasick 9229:Lee distance 9069:Nested stack 9012:Context-free 8937:Context-free 8898:Unrestricted 8767: 8753: 8747: 8735: 8728: 8724: 8690: 8686: 8676: 8656: 8649: 8629: 8617:. Retrieved 8613: 8600: 8591: 8586: 8563: 8531: 8500: 8469: 8444: 8427: 8423: 8417: 8398: 8392: 8339: 8318: 8313: 8309: 8301: 8294: 8290: 8257: 8253: 8246: 8242: 8238: 8233: 8228: 8224: 8220: 8202: 8182: 8175: 8164: 8156: 8142: 8135: 8128: 8115: 8108: 8101: 8094: 8087: 8077: 8070: 8063: 8056: 8049: 8042: 8035: 8016:closed under 8013: 8005: 8001: 7994: 7990: 7985: 7981: 7975: 7971: 7964: 7960: 7955: 7951: 7945: 7941: 7934: 7930: 7915: 6581: 6437: 6258: 6101: 5828: 5825: 5778:. We define 5543: 5529: 5519: 5510: 5496: 5486: 5477: 5463: 5453: 5444: 5430: 5420: 5411: 5400: 5393: 5378: 5162: 5139: 5134: 5047: 4957: 4772: 4706:each string 4512: 4208: 4074: 4049: 4045: 4015: 3664:For a state 3663: 3612:denotes the 3578: 3546: 3542: 3538: 3477: 3472: 3271: 3269: 3260:empty string 3257: 3247: 3244: 3237: 3226: 3158: 3018:, and hence 2544: 2469: 2380: 2075: 2062: 2055: 2051: 2047: 2042: 2026: 2012: 2008: 2004: 2000: 1976: 1974: 1346: 1319: 1248: 878:, exists in 703: 568: 537:denotes the 503: 472: 468: 464: 404: 400: 210: 208: 196: 187: 179: 139: 116: 101: 96: 92: 88: 84: 80: 78: 69: 60:is called a 51: 9422:Suffix tree 9078:restricted 8693:(1): 3–30. 4773:Informally: 4513:Informally: 3372:called the 1551:recursively 1549:is defined 898:such that: 8718:References 8269:Complexity 8161:Properties 4487:and where 3846:such that 2052:node label 2048:Arc label: 1797:In words, 1347:recognized 282:of states 168:(UFA) and 158:ω-automata 123:Dana Scott 102:Using the 64:(DFA), if 9032:Star-free 8986:Positive 8976:Decidable 8911:Positive 8835:Languages 8707:0304-3975 8291:universal 8195:article. 7878:δ 7850:∗ 7846:δ 7842:∈ 7835:⋃ 7804:∗ 7800:δ 7776:∩ 7726:∈ 7642:contains 7605:∗ 7597:δ 7497:∗ 7493:δ 7466:∈ 7418:contains 7381:∗ 7373:δ 7305:∗ 7301:δ 7261:∖ 7208:∗ 7200:δ 7176:⇒ 7147:≠ 7141:∩ 7114:∗ 7110:δ 7105:⇐ 7095:≠ 7084:∩ 7056:∗ 7048:δ 7016:⊆ 6969:∗ 6965:δ 6933:∗ 6925:δ 6897:Σ 6894:∈ 6869:∗ 6865:Σ 6861:∈ 6776:ε 6742:∗ 6738:Σ 6734:∈ 6702:≠ 6696:∩ 6669:∗ 6665:δ 6638:≠ 6627:∩ 6599:∗ 6591:δ 6555:induction 6541:ε 6538:≠ 6491:∗ 6487:δ 6455:∗ 6447:δ 6392:∗ 6384:δ 6363:δ 6336:δ 6315:δ 6241:∗ 6237:δ 6213:Σ 6210:∈ 6184:∈ 6144:∗ 6140:δ 6114:δ 6060:≠ 6054:∩ 6009:∪ 5930:δ 5923:Σ 5858:δ 5852:Σ 5764:∗ 5751:∗ 5741:∗ 5730:∪ 5725:∗ 5712:∗ 5702:∗ 5337:δ 5269:δ 5030:∅ 5027:≠ 5021:∩ 4994:∗ 4990:δ 4925:δ 4848:∗ 4844:δ 4753:Σ 4750:∈ 4725:∗ 4721:Σ 4717:∈ 4688:∈ 4644:δ 4616:∗ 4612:δ 4608:∈ 4601:⋃ 4574:∗ 4570:δ 4469:∈ 4428:ε 4414:∗ 4410:δ 4370:→ 4365:∗ 4361:Σ 4357:× 4346:∗ 4342:δ 4316:∗ 4312:Σ 4308:∈ 4282:∈ 4242:∗ 4238:δ 4217:δ 4172:∈ 4165:⋃ 4141:, define 4126:⊆ 4050:ε-closure 3956:≤ 3945:for each 3930:ε 3911:δ 3908:∈ 3770:∈ 3747:δ 3675:∈ 3644:ϵ 3614:power set 3560:⊆ 3539:accepting 3499:∈ 3441:→ 3432:ϵ 3426:∪ 3423:Σ 3417:× 3408:δ 3383:Σ 3339:a finite 3301:δ 3295:Σ 3111:∪ 3075:δ 3072:∪ 3054:δ 3031:∗ 3027:δ 2973:δ 2950:∗ 2946:δ 2919:∪ 2889:δ 2886:∪ 2868:δ 2845:∗ 2841:δ 2787:δ 2764:∗ 2760:δ 2724:ϵ 2710:∗ 2706:δ 2682:⟩ 2652:⟨ 2646:⟩ 2581:⟨ 2389:δ 2362:∅ 2341:∅ 2190:δ 2149:δ 2054:: state, 1810:∗ 1806:δ 1778:Σ 1775:∈ 1764:∗ 1760:Σ 1756:∈ 1713:δ 1691:∗ 1687:δ 1683:∈ 1671:⋃ 1644:∗ 1640:δ 1617:ϵ 1582:ϵ 1568:∗ 1564:δ 1521:→ 1516:∗ 1512:Σ 1508:× 1497:∗ 1493:δ 1472:∅ 1463:∩ 1436:∗ 1432:δ 1155:δ 1078:∈ 1044:− 1035:… 968:δ 965:∈ 669:Σ 598:δ 592:Σ 539:power set 485:⊆ 465:accepting 425:∈ 368:→ 365:Σ 362:× 339:δ 316:Σ 278:a finite 240:δ 234:Σ 205:Automaton 44:for that 9513:Category 8830:Grammars 8638:Archived 8357:See also 8167:alphabet 8055:by some 7733:′ 7690:∉ 7601:′ 7377:′ 7257:′ 7204:′ 7091:′ 7052:′ 7039:we have 7023:′ 6929:′ 6803:′ 6634:′ 6595:′ 6451:′ 6422:′ 6388:′ 6339:′ 6291:′ 6117:′ 5991:′ 5957:′ 5933:′ 5907:′ 4048:, (also 3759:, i.e., 3481:) state 3399:function 3374:alphabet 2937:, hence 2832:, hence 2751:, hence 1745:for all 1723:′ 1679:′ 1484:, where 1469:≠ 1344:language 407:) state 351: : 172:(SVFA). 70:uniquely 46:language 34:NFA for 9488:Sorting 9458:Parsing 9178:Strings 9053:Decider 9027:Regular 8994:Indexed 8952:Regular 8919:Indexed 8619:6 March 8210:Keep a 8134:an NFA 8100:an NFA 5121:Example 3473:initial 2465:(0|1)*1 1983:Example 1320:rejects 401:initial 9105:Finite 9037:Finite 8882:Type-3 8873:Type-2 8855:Type-1 8849:Type-0 8762:  8742:  8705:  8574:  8539:  8509:  8477:  8405:  8287:PSPACE 8285:It is 7484:then 5976:where 3690:, let 3579:Here, 3547:states 3345:states 2011:or to 1609:where 1015:, for 504:Here, 473:states 160:, and 87:), or 9451:Other 9407:DAFSA 9374:BLAST 9063:PTIME 8610:(PDF) 8568:(PDF) 8384:Notes 8329:SpanL 8321:-hard 8216:unite 7556:viz. 7292:then 6916:From 6850:with 6553:, by 6307:viz. 5363:State 5360:Input 4052:) of 3977:, and 3543:final 3478:start 3276:tuple 3272:NFA-ε 2551:above 2496:above 2218:State 2215:Input 2057:green 706:above 469:final 440:, and 405:start 215:tuple 9442:Trie 9432:Rope 8810:and 8760:ISBN 8740:ISBN 8703:ISSN 8621:2023 8572:ISBN 8537:ISBN 8507:ISBN 8475:ISBN 8403:ISBN 8093:and 8048:and 7999:and 7939:and 7708:but 7672:and 7448:and 7005:and 6883:and 6375:and 6327:and 6279:and 6102:and 5565:DFAs 5140:Let 5133:for 5129:The 4978:if 3962:< 3636:and 3541:(or 3475:(or 3045:1011 1999:for 1995:The 1553:by: 1249:i.e. 467:(or 403:(or 121:and 56:, a 8695:doi 8691:107 8661:doi 8432:doi 8349:of 7969:or 7588:If 7364:If 7191:If 6762:If 5538:{} 5505:{} 5472:{} 5439:{} 5389:{} 5386:{} 3616:of 3471:an 3343:of 3341:set 3270:An 2964:101 2064:red 1349:by 541:of 399:an 280:set 211:NFA 209:An 97:not 93:NFA 85:NFA 52:In 42:DFA 9515:: 8806:: 8766:. 8746:. 8727:, 8701:. 8689:. 8685:. 8612:. 8551:^ 8521:^ 8489:^ 8453:^ 8426:. 8319:#P 8249:). 8239:ns 8180:. 8030:. 5747:10 5708:01 5535:} 5525:} 5502:} 5492:} 5469:} 5459:} 5436:} 5426:} 5406:} 5399:, 5373:ε 5370:1 5367:0 5353:: 4201:. 4072:. 3545:) 3278:, 3242:. 3227:A 2859:10 2467:. 2225:1 2222:0 790:: 701:. 561:. 471:) 217:, 201:. 156:, 152:, 148:, 144:, 129:: 114:. 79:A 40:A 9170:e 9163:t 9156:v 8998:— 8956:— 8923:— 8888:— 8885:— 8879:— 8876:— 8870:— 8867:— 8864:— 8861:— 8858:— 8852:— 8796:e 8789:t 8782:v 8729:3 8709:. 8697:: 8667:. 8663:: 8623:. 8580:. 8545:. 8515:. 8483:. 8438:. 8434:: 8428:3 8411:. 8331:. 8314:A 8310:n 8302:A 8258:n 8254:n 8247:s 8245:( 8243:O 8237:( 8234:O 8229:n 8225:s 8221:s 8148:. 8146:1 8143:L 8139:n 8136:A 8132:1 8129:A 8121:. 8119:2 8116:L 8114:∩ 8112:1 8109:L 8105:i 8102:A 8098:2 8095:A 8091:1 8088:A 8083:. 8081:2 8078:L 8076:∪ 8074:1 8071:L 8067:u 8064:A 8060:2 8057:A 8053:2 8050:L 8046:1 8043:A 8039:1 8036:L 8008:) 8006:t 8004:( 8002:N 7997:) 7995:s 7993:( 7991:N 7986:f 7982:w 7978:) 7976:t 7974:( 7972:N 7967:) 7965:s 7963:( 7961:N 7956:q 7952:w 7948:) 7946:t 7944:( 7942:N 7937:) 7935:s 7933:( 7931:N 7899:. 7896:) 7893:) 7890:a 7887:, 7884:r 7881:( 7875:( 7872:E 7867:) 7864:v 7861:, 7858:q 7855:( 7839:r 7831:= 7828:) 7825:w 7822:, 7817:0 7813:q 7809:( 7779:F 7773:) 7768:0 7764:q 7760:( 7757:E 7737:, 7730:F 7721:0 7717:q 7696:, 7693:F 7685:0 7681:q 7660:, 7655:0 7651:q 7630:) 7627:w 7624:, 7619:0 7615:q 7611:( 7574:. 7569:0 7565:q 7544:, 7541:F 7521:) 7518:w 7515:, 7510:0 7506:q 7502:( 7472:, 7469:F 7461:0 7457:q 7436:, 7431:0 7427:q 7406:) 7403:w 7400:, 7395:0 7391:q 7387:( 7361:. 7349:F 7329:) 7326:w 7323:, 7318:0 7314:q 7310:( 7280:, 7277:} 7272:0 7268:q 7264:{ 7254:F 7233:) 7230:w 7227:, 7222:0 7218:q 7214:( 7156:; 7153:} 7150:{ 7144:F 7138:) 7135:w 7132:, 7127:0 7123:q 7119:( 7101:} 7098:{ 7088:F 7081:) 7078:w 7075:, 7070:0 7066:q 7062:( 7027:, 7020:F 7013:F 6993:) 6990:w 6987:, 6982:0 6978:q 6974:( 6961:= 6958:) 6955:w 6952:, 6947:0 6943:q 6939:( 6900:. 6891:a 6858:v 6838:a 6835:v 6832:= 6829:w 6807:. 6800:F 6779:, 6773:= 6770:w 6747:: 6731:w 6711:, 6708:} 6705:{ 6699:F 6693:) 6690:w 6687:, 6682:0 6678:q 6674:( 6644:} 6641:{ 6631:F 6624:) 6621:w 6618:, 6613:0 6609:q 6605:( 6568:. 6565:w 6535:w 6515:) 6512:w 6509:, 6504:0 6500:q 6496:( 6483:= 6480:) 6477:w 6474:, 6469:0 6465:q 6461:( 6419:M 6398:, 6343:, 6295:, 6288:M 6267:M 6216:, 6207:a 6187:Q 6181:q 6161:) 6158:a 6155:, 6152:q 6149:( 6136:= 6133:) 6130:a 6127:, 6124:q 6121:( 6073:F 6066:} 6063:{ 6057:F 6051:) 6046:0 6042:q 6038:( 6035:E 6025:} 6020:0 6016:q 6012:{ 6006:F 6000:{ 5995:= 5988:F 5964:, 5961:) 5954:F 5950:, 5945:0 5941:q 5937:, 5926:, 5920:, 5917:Q 5914:( 5911:= 5904:M 5883:, 5880:) 5877:F 5874:, 5869:0 5865:q 5861:, 5855:, 5849:, 5846:Q 5843:( 5840:= 5837:M 5806:M 5786:M 5760:) 5756:1 5737:0 5733:( 5721:) 5717:0 5698:1 5694:( 5667:M 5647:} 5642:4 5638:S 5634:, 5629:3 5625:S 5621:{ 5601:} 5596:2 5592:S 5588:, 5583:1 5579:S 5575:{ 5551:M 5533:3 5530:S 5528:{ 5523:4 5520:S 5518:{ 5514:4 5511:S 5500:4 5497:S 5495:{ 5490:3 5487:S 5485:{ 5481:3 5478:S 5467:2 5464:S 5462:{ 5457:1 5454:S 5452:{ 5448:2 5445:S 5434:1 5431:S 5429:{ 5424:2 5421:S 5419:{ 5415:1 5412:S 5404:3 5401:S 5397:1 5394:S 5392:{ 5382:0 5379:S 5317:) 5314:} 5309:3 5305:S 5301:, 5296:1 5292:S 5288:{ 5285:, 5280:0 5276:S 5272:, 5266:, 5263:} 5260:1 5257:, 5254:0 5251:{ 5248:, 5245:} 5240:4 5236:S 5232:, 5227:3 5223:S 5219:, 5214:2 5210:S 5206:, 5201:1 5197:S 5193:, 5188:0 5184:S 5180:{ 5177:( 5174:= 5171:M 5148:M 5135:M 5106:. 5103:F 5081:0 5077:q 5056:w 5033:, 5024:F 5018:) 5015:w 5012:, 5007:0 5003:q 4999:( 4966:w 4943:. 4940:) 4937:a 4934:, 4931:r 4928:( 4905:r 4885:a 4865:) 4862:w 4859:, 4856:q 4853:( 4823:r 4803:q 4783:w 4756:. 4747:a 4714:w 4694:, 4691:Q 4685:q 4665:, 4662:) 4659:) 4656:a 4653:, 4650:r 4647:( 4641:( 4638:E 4633:) 4630:w 4627:, 4624:q 4621:( 4605:r 4597:= 4594:) 4591:a 4588:w 4585:, 4582:q 4579:( 4546:. 4543:q 4523:q 4495:E 4475:, 4472:Q 4466:q 4446:) 4443:q 4440:( 4437:E 4434:= 4431:) 4425:, 4422:q 4419:( 4386:) 4383:Q 4380:( 4375:P 4354:Q 4351:: 4321:. 4305:w 4285:Q 4279:q 4259:) 4256:w 4253:, 4250:q 4247:( 4189:) 4186:q 4183:( 4180:E 4175:P 4169:q 4161:= 4158:) 4155:P 4152:( 4149:E 4129:Q 4123:P 4103:P 4083:P 4060:q 4032:) 4029:q 4026:( 4023:E 4012:. 4000:p 3997:= 3992:k 3988:q 3965:k 3959:i 3953:1 3933:) 3927:, 3922:i 3918:q 3914:( 3903:1 3900:+ 3897:i 3893:q 3882:, 3870:q 3867:= 3862:1 3858:q 3832:k 3828:q 3824:, 3821:. 3818:. 3815:. 3812:, 3807:1 3803:q 3782:) 3779:q 3776:( 3773:E 3767:p 3727:q 3707:) 3704:q 3701:( 3698:E 3678:Q 3672:q 3624:Q 3600:) 3597:Q 3594:( 3589:P 3575:. 3563:Q 3557:F 3524:F 3502:Q 3494:0 3490:q 3457:) 3454:Q 3451:( 3446:P 3438:) 3435:} 3429:{ 3420:( 3414:Q 3411:: 3354:Q 3323:) 3320:F 3317:, 3312:0 3308:q 3304:, 3298:, 3292:, 3289:Q 3286:( 3248:n 3207:q 3187:q 3167:M 3143:} 3140:q 3137:{ 3117:} 3114:{ 3108:} 3105:q 3102:, 3099:p 3096:{ 3093:= 3090:) 3087:1 3084:, 3081:q 3078:( 3069:) 3066:1 3063:, 3060:p 3057:( 3051:= 3048:) 3042:, 3039:p 3036:( 3006:} 3003:q 3000:, 2997:p 2994:{ 2991:= 2988:) 2985:1 2982:, 2979:p 2976:( 2970:= 2967:) 2961:, 2958:p 2955:( 2925:} 2922:{ 2916:} 2913:p 2910:{ 2907:= 2904:) 2901:0 2898:, 2895:q 2892:( 2883:) 2880:0 2877:, 2874:p 2871:( 2865:= 2862:) 2856:, 2853:p 2850:( 2820:} 2817:q 2814:, 2811:p 2808:{ 2805:= 2802:) 2799:1 2796:, 2793:p 2790:( 2784:= 2781:) 2778:1 2775:, 2772:p 2769:( 2739:} 2736:p 2733:{ 2730:= 2727:) 2721:, 2718:p 2715:( 2679:q 2676:, 2673:p 2670:, 2667:p 2664:, 2661:p 2658:, 2655:p 2649:= 2641:4 2637:r 2633:, 2628:3 2624:r 2620:, 2615:2 2611:r 2607:, 2602:1 2598:r 2594:, 2589:0 2585:r 2561:M 2529:M 2518:. 2506:M 2478:M 2444:M 2424:M 2404:) 2401:1 2398:, 2395:p 2392:( 2320:q 2297:} 2294:q 2291:, 2288:p 2285:{ 2264:} 2261:p 2258:{ 2237:p 2170:) 2167:} 2164:q 2161:{ 2158:, 2155:p 2152:, 2146:, 2143:} 2140:1 2137:, 2134:0 2131:{ 2128:, 2125:} 2122:q 2119:, 2116:p 2113:{ 2110:( 2107:= 2104:M 2084:M 2066:: 2059:: 2043:M 2027:M 2015:. 2013:q 2009:p 2005:p 2001:M 1966:. 1954:w 1932:0 1928:q 1907:F 1887:w 1867:x 1847:r 1827:) 1824:x 1821:, 1818:r 1815:( 1790:. 1772:a 1769:, 1753:x 1733:) 1730:a 1727:, 1720:r 1716:( 1708:) 1705:x 1702:, 1699:r 1696:( 1676:r 1667:= 1664:) 1661:a 1658:x 1655:, 1652:r 1649:( 1597:} 1594:r 1591:{ 1588:= 1585:) 1579:, 1576:r 1573:( 1537:) 1534:Q 1531:( 1526:P 1505:Q 1502:: 1466:F 1460:) 1457:w 1454:, 1449:0 1445:q 1441:( 1411:w 1398:. 1386:) 1383:M 1380:( 1377:L 1357:M 1330:M 1306:w 1286:F 1264:0 1260:q 1235:M 1215:w 1195:w 1175:w 1135:w 1113:0 1109:q 1093:. 1081:F 1073:n 1069:r 1047:1 1041:n 1038:, 1032:, 1029:0 1026:= 1023:i 1003:) 998:1 995:+ 992:i 988:a 984:, 979:i 975:r 971:( 960:1 957:+ 954:i 950:r 926:0 922:q 918:= 913:0 909:r 886:Q 864:n 860:r 856:, 853:. 850:. 847:. 844:, 839:1 835:r 831:, 826:0 822:r 801:w 778:M 756:n 752:a 748:. 745:. 742:. 737:2 733:a 727:1 723:a 719:= 716:w 689:M 649:) 646:M 643:( 640:L 620:) 617:F 614:, 609:0 605:q 601:, 595:, 589:, 586:Q 583:( 580:= 577:M 549:Q 525:) 522:Q 519:( 514:P 500:. 488:Q 482:F 451:F 428:Q 420:0 416:q 396:, 384:) 381:Q 378:( 373:P 359:Q 328:, 302:, 290:Q 262:) 259:F 256:, 251:0 247:q 243:, 237:, 231:, 228:Q 225:( 83:( 38:. 20:)

Index

Non-deterministic finite automaton

(0|1) 1 (0|1)
DFA
language
automata theory
finite-state machine
deterministic finite automaton
subset construction algorithm
formal language
regular languages
Michael O. Rabin
Dana Scott
regular expressions
Thompson's construction
Kleene's algorithm
nondeterministic finite automata with ε-moves
finite-state transducers
pushdown automata
alternating automata
ω-automata
probabilistic automata
unambiguous finite automata
self-verifying finite automata
nondeterminism
automata theory
tuple
set
input symbols
power set

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.