Wykładniczy podział między NFA i DFA w obecności związków


15

Ostatnio zadano interesujące pytanie, a następnie usunięto.

W przypadku zwykłego języka jego złożoność DFA jest wielkością minimalnej akceptacji DFA, a złożoność NFA jest wielkością minimalnej akceptacji NFA. Dobrze wiadomo, że istnieje wykładnicza separacja między tymi dwoma złożonościami, przynajmniej wtedy, gdy wielkość alfabetu jest nieograniczona. W istocie, pod język nad alfabetu składa się z wszystkich słów nie zawierających wszystkie symbole. Za pomocą twierdzenia Myhill-Nerode łatwo jest obliczyć złożoność DFA . Z drugiej strony złożoność NFA wynosi tylko (jeśli dozwolonych jest wiele stanów początkowych; w przeciwnym razie jest to ).LLn{1,,n}2nnn+1

Zainteresowane usunięty pytanie DFA obejmujące złożoność języka, który jest minimalny takie, że może być zapisany jako (niekoniecznie rozłącznych) unii języków DFA złożoności co najwyżej . Złożoność DFA obejmująca wynosi tylko .L C L nCLCLn2

Czy istnieje wykładniczy podział między złożonością NFA a złożonością DFA obejmującą złożoność?

Odpowiedzi:


8

Rozważmy język , gdzie # jest nowym symbolem. Złożoność M n NFA wynosi n . Pokażemy, że jego złożoność obejmująca DFA wynosi 2 n .Mn=ϵ+(Ln#)Ln#Mnn2n

Niech być DFA przyjmując część języka L ( A ) M n z funkcją przejścia q A . Nazywamy stanem s opłacalne jeśli istnieje jakiś wyraz w taki sposób, że q ( s , w ) jest stanem akceptacji. Dla dowolnych dwóch stanów braku awarii s , t , niech A s , t = { w ( 1 + + n ) : q AAL(A)MnqAswqA(s,w)s,tNie jest trudno sprawdzić, czy każde słowo w L ( A ) można zapisać jako w = w 1 # # w l gdzie w iA s i , t i dla niektórych realnych s i , t i .

As,t={w(1++n):qA(s,w)=t}.
wL(A)w=w1##wlwiAsi,tisi,ti

Załóżmy, że , gdzie każdy A i jest DFA. Niech P będzie siecią generowaną przez wszystkie języki A i s , t . Możemy postrzegać L ( A i ) jako język L P ( A i ) nad P , odstęp między dowolnymi dwoma symbolami odpowiadający # . W tym punkcie widzenia M nMn=i=1NL(Ai)AiPAs,tiL(Ai)LP(Ai)P#Mnodpowiada .P

Zadzwoń do universal, jeśli dla niektórych x P jest tak, że dla wszystkich y P istnieje z P takie, że x y z L P ( A i ) . Twierdzimy, że niektóre L P ( A i ) są uniwersalne. W przeciwnym razie każdy L P ( A i ) zawiera co najwyżej ( | PLP(Ai) xPyPzPxyzLP(Ai)LP(Ai)LP(Ai) słów o długości l . W sumie L P ( A i ) musi zawierać wszystkie | P | l słowa o długości l , stąd | P | lN ( | p | - 1 ) L , który jest wzbudzona przez wystarczająco dużą l .(|P|1)llLP(Ai)|P|ll|P|lN(|P|1)ll

Załóżmy, że jest uniwersalne, i napisz A = A i dla zwięzłości. Niech x P będzie odpowiednim prefiksem i niech x M n będzie jakimś odpowiadającym mu słowem. Zatem dla każdego y L n jest trochę z yM n takich, że x # y # z yL ( A i ) .LP(Ai)A=AixPxMnyLnzyMnx#y#zyL(Ai)

Dla podzbioru niech y S składa się z liter S zapisanych w kolejności. Zastrzeżenia patentowe, że słowa x # y S jest inequivalent w stosunku Myhill-Nerode z A . Istotnie, przypuśćmy S T i znaleźć jakiś A S T (bez straty ogólności). Następnie x # y T y { 1 , , n } - aS{1,,n}ySSx#ySASTaST natomiast x # y S y { 1 , , n } - a # z y T y { 1 , , n } - aM n . Dlatego A musi mieć co najmniej 2 n stanów.x#yTy{1,,n}a#zyTy{1,,n}aL(A)x#ySy{1,,n}a#zyTy{1,,n}aMnA2n

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.