Biorąc pod uwagę język , zdefiniuj zestaw długości jako zestaw długości słów w :
Które zestawy liczb całkowitych mogą być zestawem długości zwykłego języka?
Biorąc pod uwagę język , zdefiniuj zestaw długości jako zestaw długości słów w :
Które zestawy liczb całkowitych mogą być zestawem długości zwykłego języka?
Odpowiedzi:
Po pierwsze, obserwacja, która nie jest kluczowa, ale wygodna: zbiór zestawów liczb całkowitych, które są dla jakiegoś regularnego języka na niepustym alfabecie , nie zależy od wyboru alfabetu. Aby to zobaczyć, rozważ automat skończony rozpoznający ; długości słów w to długości ścieżek na automacie widziane jako nieoznaczony wykres od stanu początkowego do dowolnego stanu akceptacji. W szczególności możesz ponownie przypisać każdą strzałkę do i uzyskać zwykły język o tej samej długości ustawionej na alfabecie . I odwrotnie, jeśli jest zwykłym językiem nad jednoczęściowym alfabetem, można go trywialnie wstrzyknąć do większego alfabetu, a wynik jest nadal zwykłym językiem.
Dlatego szukamy możliwych zestawów długości słów nad alfabetem singleton. W alfabecie singletonowym językiem jest ustawiona długość zapisana w unary: . Takie języki nazywane są językami jednoargumentowymi.
Niech będzie język regularny, i rozważyć deterministyczny automat skończony (DFA), który rozpoznaje . Zbiór długości słów jest zbiorem długości ścieżek w DFA widzianym jako ukierunkowany wykres, który rozpoczyna się w stanie początkowym i kończy w jednym ze stanów akceptacji. DFA na jednoelementowym alfabecie jest dość oswojone (NFA byłyby bardziej szalone): jest to lista skończona lub lista okrężna. Jeśli lista jest skończona, ponumeruj stany od do zgodnie z kolejnością na liście; jeśli jest okrągły, numeruj stany od do po nagłówku listy, a od do wzdłuż pętli.
Niech będzie zbiorem wskaźników stanów akceptacji do , a będzie zbiorem wskaźników stanów akceptacji od do . Następnie
I odwrotnie, niech i będą dwiema liczbami całkowitymi, a i będą dwoma skończonymi zestawami liczb całkowitych, tak że i . Następnie zbiór jest językiem zwykłym: jest to język rozpoznawany przez DFA opisany powyżej. Wyrażenie regularne, które opisuje ten język jest F | G ( r ) * .
Podsumowując w języku angielskim, zestawy długości zwykłych języków są zestawami liczb całkowitych, które są okresowe¹ powyżej pewnej wartości .
¹ Aby utrzymać się na ustalonym pojęciu , okresowe oznacza funkcję charakterystyczną zestawu (która jest funkcją którą podnosimy do funkcji ) ma charakter okresowy. Okresowe powyżej określonej wartości oznacza, że funkcja ograniczona do może zostać przedłużony do funkcji okresowej.
Dowolny podzbiór skończony może być zestawem długości zwykłego języka L , ponieważ możesz wziąć jednoargumentowy alfabet { 0 } i zdefiniować L jako { 0 ℓ 1 , … , 0 ℓ n } (obejmuje to pusty język i { ε } ).
Teraz dla zestawów nieskończonych. Dam krótką analizę, choć ostateczna odpowiedź może nie być wystarczająco jednoznaczna. Nie będę się rozwijał, chyba że mnie o to poprosisz, ponieważ uważam, że jest to intuicyjne i ponieważ nie mam teraz dużo czasu.
Niech będą wyrażeniami regularnymi generującymi odpowiednio języki L 1 i L 2 . Łatwo to zauważyć
W ten sposób, możliwe zestawy liczb, które mogą mieć długość-zestaw regularnych języku są te, które są skończone podzbiory lub które mogą być budowane poprzez skończonych podzbiorów S 1 , S 2 z N i przy użyciu poprzedniej formuły skończonej kilka razy.
W tym przypadku korzystamy z tego, że języki regularne są budowane z definicji, stosując reguły konstruowania wyrażeń regularnych skończoną liczbę razy. Zauważ, że możemy zacząć od dowolnego skończonego podzbioru , chociaż w wyrażeniach regularnych zaczynamy od słów o długości 0 i 1 tylko jako podstawowy przypadek. Jest to łatwo uzasadnione faktem, że wszystkie (skończone) słowa są (skończonymi) konkatenacjami symboli alfabetu.
Zgodnie z lematem pompowania dla języków zwykłych istnieje takie, że ciąg x o długości co najmniej równej n można zapisać w następującej formie: x = u v w Jeżeli spełnione są następujące trzy warunki: | u v | < n | v | > 0 u v k w ∈ L.
To daje nam jeden test na zestawy: zestaw nie może być zestawem długości języka regularnego, chyba że wszystkie jego elementy mogą być wyrażone jako dowolny dowolny zestaw liczb całkowitych nie większych niż stała , plus pewna wielokrotność nieokreślonej wartości m (długość z v ) plus pewna dowolna skończona wartość.
Innymi słowy, wygląda na to, że możliwymi zestawami długości języków dla zwykłych języków jest zamknięcie w odniesieniu do unii zestawów (jak omówione w EDIT i EDIT2, dzięki komentatorom) zestawów opisanych w następujący sposób: Dla ustalonych a , b ∈ N i wszystkich skończonych zbiorów S , przez pompujący lemat dla zwykłych języków (dzięki Gillesowi za wskazanie głupiego błędu w mojej oryginalnej wersji, w którym definiowałem zestaw N ).
EDYCJA: Trochę więcej dyskusji. Z pewnością wszystkie skończone zestawy liczb całkowitych są zestawami długości. Również połączenie dwóch zestawów długości musi być również zestawem długości, podobnie jak dopełnienie dowolnego zestawu długości (stąd przecięcie, stąd różnica). Powodem tego jest to, że zwykłe języki są zamknięte w ramach tych operacji. Dlatego powyższa odpowiedź jest (prawdopodobnie) niepełna; w rzeczywistości jakakolwiek kombinacja takich zbiorów jest również zbiorem długości jakiegoś regularnego języka (zauważ, że zrezygnowałem z wymogu przecięcia, uzupełnienia, różnicy itp., ponieważ są one objęte tym, że zwykłe języki są zamknięte pod tymi właściwościami, ponieważ omówione w EDIT3; myślę, że w rzeczywistości konieczny jest tylko związek, nawet jeśli inni mają rację, co może nie mieć miejsca).
EDYCJA 3: W świetle komentarza Janomy zapomnijmy o właściwościach zamykających zestawów długości języka, które omawiam podczas pierwszego EDYCJI. Ponieważ zwykłe języki mają te właściwości zamykania, a ponieważ każdy zwykły język ma DFA, wynika z tego, że pompujący lemat dla zwykłych języków dotyczy wszystkich związków, skrzyżowań, uzupełnień i różnic zwykłych języków, i zostawimy to na tym ; nie muszę nawet brać pod uwagę żadnego z nich, z wyjątkiem związku, który nadal uważam za konieczny do poprawienia mojego oryginału (zmodyfikowanego dzięki wkładowi Gillesa). Tak więc moja ostateczna odpowiedź brzmi: to, co mówię w oryginalnej wersji, a także zamknięcie zestawów długości języka w odniesieniu do zbioru unii.