W przypadku ustalonego skończonego alfabetu język formalny L ponad Σ jest regularny, jeśli istnieje deterministyczny automat skończony (DFA) ponad Σ który akceptuje dokładnie .
Interesują mnie języki, które są „prawie” regularne w tym sensie, że mogą być rozpoznawane przez rodziny automatów wielkości, które rosną tylko wielomianowo wraz z długością słowa.
Formalnie powiem, że język formalny jest rozpoznawany przez rodzinę DFA ( A n ), jeśli dla każdego słowa w ∈ Σ ∗ , pozwalając n = | w | , w jest w L iff A n akceptuje w (bez względu na to, czy inne A i akceptują to, czy nie), i pozwól mi zdefiniować p-regularne języki jako języki rozpoznawane przez obliczaną przez PTIME rodzinę DFA ( A n ) wielkości wielomianowej, a mianowicie istnieje wielomian taki, że | A n | ≤ P ( n ) dla wszystkich n . (Ta nazwa, „p-regular”, jest czymś, co wymyśliłam, moim pytaniem jest wiedzieć, czy istnieje już inna nazwa dla tego. Pamiętaj, że to jest nie to samo, co p-regularne języki w sensie automatów permutacyjnych .)
Ta klasa języków p-regular obejmuje oczywiście języki zwykłe (po prostu weź dla wszystkich n , gdzie A jest pewnym DFA rozpoznającym język regularny); ale jest to ścisły nadzór: na przykład dobrze wiadomo, że { a n b n ∣ n ∈ N } jest pozbawiony kontekstu, ale nie jest regularny, ale jest p-regularny ( A n musi tylko policzyć n wystąpienia a oraz n wystąpienia b ). Ponieważ jednak wymagam, aby automaty były wielowymiarowymi DFA, niektóre języki formalne (właściwie niektóre języki bezkontekstowe) nie są p-regularne: na przykład język palindromów nie jest p-regularny, ponieważ intuicyjnie, po przeczytaniu pierwszej połowy słowa, musisz mieć tyle różnych stanów, ile jest możliwych słów, ponieważ musisz dokładnie dopasować tę pierwszą połowę do drugiej.
Tak więc klasa p-regularnych języków jest ścisłym nadzorem zwykłych języków, nieporównywalnym z językami bezkontekstowymi. W rzeczywistości wydaje się, że można nawet uzyskać hierarchię języków, rozróżniając języki p-regularne w oparciu o najmniejszy stopień wielomianu dla którego są one P nieregularne. Nietrudno jest skonstruować przykłady pokazujące, że hierarchia ta jest ścisła; chociaż nie rozumiem jeszcze dobrze interakcji między tym a alternatywną definicją hierarchii, która również ograniczyłaby złożoność obliczania .
Moje pytanie brzmi: czy ta klasa, którą nazywam p-regular, i powiązana z nią hierarchia, była wcześniej badana? Jeśli tak, gdzie i pod jaką nazwą?
(Możliwy link dotyczy algorytmu terenowego lub strumieniowego lub algorytmów online. W terminologii algorytmów strumieniowych dla problemów z rozpoznawaniem języka interesuje mnie klasa (lub hierarchia) języków, które mogą mieć deterministyczne, jednoprzebiegowe algorytmy rozpoznawania, używając wielomianowej liczby stanów (czyli logarytmicznej wielkości pamięci), ale nie znalazłem definicji tej klasy w tym artykule ani w powiązanych artykułach. Zauważ jednak, że w moim sformułowaniu problemu długość słowa jest znana z góry , co jest mniej naturalne w kontekście transmisji strumieniowej: w transmisji strumieniowej można to zobaczyć jako nieskończony automat, specjalny symbol „końca słowa” i ograniczenie, że liczba stanów osiągalnych po odczytaniu znaków jest wielomianowa w. Myślę, że to rozróżnienie robi różnicę, możliwy przykład: język słów binarnych, których wartość jest podzielna przez ich długość, co jest łatwe dla stałej długości, ale (przypuszczam) nie może być reprezentowane przez nieskończony automat w poprzednim znaczeniu, ponieważ nie ma identyfikacji można wykonać, jeśli długość nie jest wcześniej znana.)
(Motywacją dla tej klasy p-regular jest to, że niektóre problemy, takie jak prawdopodobieństwo członkostwa w języku dla słów probabilistycznych, wydają się być PTIME nie tylko, gdy język jest regularny, ale także, gdy jest on regularny, i próbuję aby dokładnie scharakteryzować, w jakich okolicznościach problemy te są możliwe do rozwiązania).
Odpowiedzi:
wydaje się, że nie zbadano zbyt wiele pytania (jedną z możliwości jest próba znalezienia związku z „pobliską” klasą złożoności, np. P / poli itp.); chociaż tutaj jest co najmniej jeden odnośnik, który go dotyczy:
Operacje językowe z wyrażeniami regularnymi o wielkości wielomianowej Gruber / Holzer
jak sugeruje AS, mogą istnieć inne, bardziej naturalne sposoby badania czegoś takiego jak postawione pytanie. tutaj jest inny nieco podobny sposób badania wzrostu zwykłego języka na podstawie liczby słów o rozmiarze które mają luźny związek z pytaniem, np.n
Znajdowanie tempa wzrostu języka regularnego lub bezkontekstowego w czasie wielomianowym (Gawrychowski, Krieger, Rampersad, Shallit)
źródło