Knowledge

Powerset construction

Source 📝

503: 482: 467: 47:. It is important in theory because it establishes that NFAs, despite their additional flexibility, are unable to recognize any language 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 580:
uses the powerset construction, twice. It converts the input DFA into an NFA for the reverse language, by reversing all its arrows and exchanging the roles of initial and accepting states, converts the NFA back into a DFA using the powerset construction, and then repeats its process. Its worst-case
266:
Compute the ε-closure of the entire automaton as a preprocessing step, producing an equivalent NFA without ε-moves, then apply the regular powerset construction. This version, also discussed by Hopcroft and Ullman, is straightforward to implement, but impractical for automata with large numbers of
473:
The initial state of the DFA constructed from this NFA is the set of all NFA states that are reachable from state 1 by ε-moves; that is, it is the set {1,2,3}. A transition from {1,2,3} by input symbol 0 must follow either the arrow from state 1 to state 2, or the arrow from state 3 to state 4.
78:
of the input. In contrast, to simulate an NFA, one needs to keep track of a set of states: all of the states that the automaton could reach after seeing the same prefix of the input, according to the nondeterministic choices made by the automaton. If, after a certain prefix of the input, a set
95:. Therefore, the sets of reachable NFA states play the same role in the NFA simulation as single DFA states play in the DFA simulation, and in fact the sets of NFA states appearing in this simulation may be re-interpreted as being states of a DFA. 454:
If NFAs are defined to allow for multiple initial states, the initial state of the corresponding DFA is the set of all initial states of the NFA, or (if the NFA also has ε-moves) the set of all states reachable from initial states by ε-moves.
435: 247:. However, many states of the resulting DFA may be useless as they may be unreachable from the initial state. An alternative version of the construction creates only the states that are actually reachable. 340: 262:
of states: the set of all states reachable from some given state using only ε-moves. Van Noord recognizes three possible ways of incorporating this closure computation in the powerset construction:
712: 103:
The powerset construction applies most directly to an NFA that does not allow state transformations without consuming input symbols (aka: "ε-moves"). Such an automaton may be defined as a
488:
As can be seen in this example, there are five states reachable from the start state of the DFA; the remaining 11 sets in the powerset of the set of NFA states are not reachable.
581:
complexity is exponential, unlike some other known DFA minimization algorithms, but in many examples it performs more quickly than its worst-case complexity would suggest.
74:
To simulate the operation of a DFA on a given input string, one needs to keep track of a single state at any time: the state that the automaton will reach after seeing a
884:
Moore, Frank R. (1971). "On the bounds for state-set size in the proofs of equivalence between deterministic, nondeterministic, and two-way finite automata".
952: 463:
The NFA below has four states; state 1 is initial, and states 3 and 4 are accepting. Its alphabet consists of the two symbols 0 and 1, and it has ε-moves.
51:
states, the resulting DFA may have up to 2 states, an exponentially larger number, which sometimes makes the construction impractical for large NFAs.
538:
time complexity. A simple example requiring nearly this many states is the language of strings over the alphabet {0,1} in which there are at least
920: 992: 757: 352: 848: 725: 687: 36: 40: 58:(or subset construction) to distinguish it from similar constructions for other types of automata, was first published by 526:-state NFAs such that every subset of states is reachable from the initial subset, so that the converted DFA has exactly 277: 258: 268: 255:
For an NFA with ε-moves (also called an ε-NFA), the construction must be modified to deal with these by computing the
478:({1,2,3},0) = {2,4}, and by the same reasoning the full DFA constructed from the NFA is as shown below. 1011: 584: 535: 20: 502: 777: 481: 466: 901: 807: 789: 588: 988: 844: 753: 747: 721: 683: 644: 235:
In the simplest version of the powerset construction, the set of all states of the DFA is the
982: 838: 717: 679: 672: 154:
is the set of accepting states. The corresponding DFA has states corresponding to subsets of
958: 893: 799: 636: 620: 596: 577: 497: 59: 932: 169:, the (one-element) set of initial states. The transition function of the DFA maps a state 928: 44: 24: 927:. Polytechnic Press of Polytechnic Inst. of Brooklyn, Brooklyn, N.Y. pp. 529–561. 707: 667: 600: 923:(1963). "Canonical regular expressions and minimal state graphs for definite events". 1005: 905: 703: 141:
is the transition function (mapping a state and an input symbol to a set of states),
946: 811: 624: 63: 648: 962: 897: 803: 474:
Additionally, neither state 2 nor state 4 have outgoing ε-moves. Therefore,
236: 75: 865:
Lupanov, Oleg B. (1963). "A comparison of two types of finite sources".
603:
with 2 states, uses the powerset construction as part of its machinery.
794: 640: 228:
of the DFA is an accepting state if and only if at least one member of
480: 465: 840:
Complexity Theory and Cryptology: An Introduction to Cryptocomplexity
843:. Texts in Theoretical Computer Science. Springer. pp. 21–22. 430:{\displaystyle \{q'~|~\exists q\in Q',q\to _{\varepsilon }^{*}q'\}} 501: 104: 957:. Washington, DC, US: IEEE Computer Society. pp. 319–327. 749:
Verification of reactive systems: formal methods and algorithms
506:
NFA with 5 states (left) whose DFA (right) requires 16 states.
441:
that is considered by the algorithm, and add its elements to
713:
Introduction to Automata Theory, Languages, and Computation
346:
that is considered by the algorithm (and cache the result).
87:
the set of reachable states is a deterministic function of
83:
of states can be reached, then after the next input symbol
510:
Because the DFA states consist of sets of NFA states, an
546:
th from last of which is 1. It can be represented by an
925:
Proc. Sympos. Math. Theory of Automata (New York, 1962)
627:(1959). "Finite automata and their decision problems". 349:
During the powerset computation, compute the ε-closure
274:
During the powerset computation, compute the ε-closure
355: 280: 778:"Treatment of epsilon moves in subset construction" 335:{\displaystyle \{q'~|~q\to _{\varepsilon }^{*}q'\}} 716:. Reading Massachusetts: Addison-Wesley. pp.  671: 514:-state NFA may be converted to a DFA with at most 429: 334: 216:, the set of all states that can be reached by an 562:-character suffix of the input; cf. picture for 16:Method for making finite automata deterministic 987:. Cambridge University Press. pp. 43–49. 824: 710:(1979). "The equivalence of DFA's and NFA's". 8: 953:Symposium on Foundations of Computer Science 424: 356: 329: 281: 949:(1988). "On the complexity of ω-automata". 741: 739: 737: 578:Brzozowski's algorithm for DFA minimization 771: 769: 793: 674:Introduction to the Theory of Computation 410: 405: 370: 354: 315: 310: 295: 279: 984:Automata theory with modern applications 662: 660: 658: 629:IBM Journal of Research and Development 612: 54:The construction, sometimes called the 35:is a standard method for converting a 587:, which converts a non-deterministic 243:, the set of all possible subsets of 7: 378: 232:is an accepting state of the NFA. 158:. The initial state of the DFA is 14: 56:Rabin–Scott powerset construction 37:nondeterministic finite automaton 43:(DFA) which recognizes the same 981:Anderson, James Andrew (2006). 951:Proceedings of the 29th Annual 886:IEEE Transactions on Computers 752:. Springer. pp. 210–212. 402: 371: 307: 296: 267:ε-moves, as commonly arise in 41:deterministic finite automaton 1: 137:is the set of input symbols, 825:Hopcroft & Ullman (1979) 595:states into a deterministic 554:-state NFA, but it requires 220:-transition from a state in 776:Van Noord, Gertjan (2000). 269:natural language processing 1028: 495: 173:(representing a subset of 150:is the initial state, and 782:Computational Linguistics 746:Schneider, Klaus (2004). 558:DFA states, one for each 437:of each subset of states 670:(1997). "Theorem 1.19". 599:or into a deterministic 963:10.1109/SFCS.1988.21948 898:10.1109/T-C.1971.223108 804:10.1162/089120100561638 450:Multiple initial states 507: 485: 470: 431: 336: 177:) and an input symbol 133:is the set of states, 505: 484: 469: 432: 337: 29:powerset construction 21:theory of computation 867:Problemy Kibernetiki 837:Rothe, Jörg (2006). 585:Safra's construction 353: 278: 415: 320: 33:subset construction 708:Ullman, Jeffrey D. 641:10.1147/rd.32.0114 518:states. For every 508: 486: 471: 427: 401: 332: 306: 994:978-0-521-84887-9 921:Brzozowski, J. A. 892:(10): 1211–1214. 827:, pp. 26–27. 759:978-3-540-00296-3 704:Hopcroft, John E. 530:states, giving Θ( 377: 369: 302: 294: 1019: 998: 968: 966: 943: 937: 936: 917: 911: 909: 881: 875: 874: 862: 856: 854: 834: 828: 822: 816: 815: 797: 773: 764: 763: 743: 732: 731: 700: 694: 693: 677: 664: 653: 652: 617: 597:Muller automaton 594: 568: 561: 557: 553: 545: 542:characters, the 541: 533: 529: 525: 521: 517: 513: 498:State complexity 477: 444: 440: 436: 434: 433: 428: 423: 414: 409: 394: 375: 374: 367: 366: 345: 341: 339: 338: 333: 328: 319: 314: 300: 299: 292: 291: 251:NFA with ε-moves 246: 242: 231: 227: 223: 219: 215: 180: 176: 172: 168: 157: 153: 149: 140: 136: 132: 128: 94: 90: 86: 82: 60:Michael O. Rabin 1027: 1026: 1022: 1021: 1020: 1018: 1017: 1016: 1012:Finite automata 1002: 1001: 995: 980: 977: 975:Further reading 972: 971: 945: 944: 940: 919: 918: 914: 883: 882: 878: 864: 863: 859: 851: 836: 835: 831: 823: 819: 775: 774: 767: 760: 745: 744: 735: 728: 702: 701: 697: 690: 668:Sipser, Michael 666: 665: 656: 619: 618: 614: 609: 601:Rabin automaton 592: 589:Büchi automaton 575: 563: 559: 555: 547: 543: 539: 531: 527: 523: 519: 515: 511: 500: 494: 475: 461: 452: 442: 438: 416: 387: 359: 351: 350: 343: 321: 284: 276: 275: 253: 244: 240: 229: 225: 221: 217: 182: 178: 174: 170: 166: 159: 155: 151: 148: 142: 138: 134: 130: 122: 107: 101: 92: 88: 84: 80: 72: 45:formal language 25:automata theory 17: 12: 11: 5: 1025: 1023: 1015: 1014: 1004: 1003: 1000: 999: 993: 976: 973: 970: 969: 938: 912: 876: 857: 849: 829: 817: 795:cmp-lg/9804003 765: 758: 733: 726: 695: 688: 654: 635:(2): 114–125. 611: 610: 608: 605: 574: 571: 522:, there exist 496:Main article: 493: 490: 460: 457: 451: 448: 447: 446: 426: 422: 419: 413: 408: 404: 400: 397: 393: 390: 386: 383: 380: 373: 365: 362: 358: 347: 342:of each state 331: 327: 324: 318: 313: 309: 305: 298: 290: 287: 283: 272: 252: 249: 164: 146: 120: 100: 97: 71: 68: 15: 13: 10: 9: 6: 4: 3: 2: 1024: 1013: 1010: 1009: 1007: 996: 990: 986: 985: 979: 978: 974: 964: 960: 956: 954: 948: 942: 939: 934: 930: 926: 922: 916: 913: 907: 903: 899: 895: 891: 887: 880: 877: 872: 868: 861: 858: 852: 850:9783540285205 846: 842: 841: 833: 830: 826: 821: 818: 813: 809: 805: 801: 796: 791: 787: 783: 779: 772: 770: 766: 761: 755: 751: 750: 742: 740: 738: 734: 729: 727:0-201-02988-X 723: 719: 715: 714: 709: 705: 699: 696: 691: 689:0-534-94728-X 685: 681: 676: 675: 669: 663: 661: 659: 655: 650: 646: 642: 638: 634: 630: 626: 622: 616: 613: 606: 604: 602: 598: 590: 586: 582: 579: 572: 570: 566: 551: 537: 504: 499: 491: 489: 483: 479: 468: 464: 458: 456: 449: 420: 417: 411: 406: 398: 395: 391: 388: 384: 381: 363: 360: 348: 325: 322: 316: 311: 303: 288: 285: 273: 270: 265: 264: 263: 261: 260: 250: 248: 238: 233: 213: 209: 205: 201: 197: 193: 189: 185: 163: 145: 126: 119: 115: 111: 106: 98: 96: 77: 69: 67: 65: 61: 57: 52: 50: 46: 42: 39:(NFA) into a 38: 34: 30: 26: 22: 983: 950: 941: 924: 915: 889: 885: 879: 870: 866: 860: 839: 832: 820: 788:(1): 61–76. 785: 781: 748: 711: 698: 673: 632: 628: 621:Rabin, M. O. 615: 583: 576: 573:Applications 564: 549: 509: 487: 472: 462: 453: 271:application. 256: 254: 234: 211: 207: 203: 199: 195: 194:) = ∪{ 191: 187: 183: 161: 143: 124: 117: 113: 109: 102: 99:Construction 73: 55: 53: 48: 32: 28: 18: 678:. pp.  181:to the set 129:, in which 955:(FOCS '88) 873:: 321–326. 607:References 536:worst-case 492:Complexity 224:. A state 64:Dana Scott 947:Safra, S. 906:206618275 649:0018-8646 625:Scott, D. 412:∗ 407:ε 403:→ 385:∈ 379:∃ 317:∗ 312:ε 308:→ 206:) | 70:Intuition 66:in 1959. 1006:Category 421:′ 392:′ 364:′ 326:′ 289:′ 237:powerset 933:0175719 812:5622079 459:Example 259:closure 105:5-tuple 19:In the 991:  931:  904:  847:  810:  756:  724:  686:  647:  376:  368:  301:  293:  76:prefix 27:, the 902:S2CID 808:S2CID 790:arXiv 718:22–23 680:55–56 591:with 112:, Σ, 989:ISBN 890:C-20 845:ISBN 754:ISBN 722:ISBN 684:ISBN 645:ISSN 552:+ 1) 91:and 62:and 23:and 959:doi 894:doi 800:doi 637:doi 239:of 31:or 1008:: 929:MR 900:. 888:. 869:. 806:. 798:. 786:26 784:. 780:. 768:^ 736:^ 720:. 706:; 682:. 657:^ 643:. 631:. 623:; 569:. 567:=4 534:) 443:Q' 439:Q' 257:ε- 210:∈ 123:, 116:, 997:. 967:. 965:. 961:: 935:. 910:. 908:. 896:: 871:9 855:. 853:. 814:. 802:: 792:: 762:. 730:. 692:. 651:. 639:: 633:3 593:n 565:n 560:n 556:2 550:n 548:( 544:n 540:n 532:2 528:2 524:n 520:n 516:2 512:n 476:T 445:. 425:} 418:q 399:q 396:, 389:Q 382:q 372:| 361:q 357:{ 344:q 330:} 323:q 304:q 297:| 286:q 282:{ 245:Q 241:Q 230:S 226:S 222:S 218:x 214:} 212:S 208:q 204:x 202:, 200:q 198:( 196:T 192:x 190:, 188:S 186:( 184:T 179:x 175:Q 171:S 167:} 165:0 162:q 160:{ 156:Q 152:F 147:0 144:q 139:T 135:Σ 131:Q 127:) 125:F 121:0 118:q 114:T 110:Q 108:( 93:x 89:S 85:x 81:S 49:n

Index

theory of computation
automata theory
nondeterministic finite automaton
deterministic finite automaton
formal language
Michael O. Rabin
Dana Scott
prefix
5-tuple
powerset
closure
natural language processing


State complexity

worst-case
Brzozowski's algorithm for DFA minimization
Safra's construction
Büchi automaton
Muller automaton
Rabin automaton
Rabin, M. O.
Scott, D.
doi
10.1147/rd.32.0114
ISSN
0018-8646

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