Jakie są możliwe zestawy długości słów w zwykłym języku?


Odpowiedzi:


14

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śliSLS(L)LALLa{a}L 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.LS(L)={nNanL}

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.L.L.L.0h0hhh+r

automaty w kształcie listy

Niech fa będzie zbiorem wskaźników stanów akceptacji do h , a sol będzie zbiorem wskaźników stanów akceptacji od h do h+r . Następnie

L.S.(L.)=fa{kr+xxsol,kN.}

I odwrotnie, niech h i r będą dwiema liczbami całkowitymi, a fa i sol będą dwoma skończonymi zestawami liczb całkowitych, tak że xfa,xh i xsol,hxh+r . Następnie zbiór LF,G,r={akr+xxG,kN}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 ) * .aFaG(ar)

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ą N{false,true} którą podnosimy do funkcji Z{false,true} ) ma charakter okresowy. Okresowe powyżej określonej wartości oznacza, że ​​funkcja ograniczona do [h,+[ może zostać przedłużony do funkcji okresowej.


Twoja obserwacja na temat nieistotności alfabetu sugeruje, że można zastosować twierdzenie Parikha. W szczególności pokazujesz, że LS (L) = LS (L ') gdzie w L' wszystkie litery są zwinięte do pojedynczego alfabetu. Ale LS (L ') jest odwzorowaniem Parikha języka L, który jest znany jako półliniowy dla każdego zwykłego języka.
Suresh

Niezłe podejście! 1) Myślę, że pierwszy akapit można zastąpić stwierdzeniem, że zwykłe języki są zamknięte przed homomorfizmami łańcuchowymi. 2) Dla jasności powinieneś rozważyć podanie drugiej części jako { h + k r + ( x - h ) } , modulo off-by-one-error. 3) Co to jest „okresowy” zestaw liczb całkowitych? LS(L){h+kr+(xh)}
Raphael

1
@Suresh, Raphael (1): Wolę przedstawić dowód w elementarny sposób, ani homomorfizmy, ani odwzorowania Parikha nie zostały wymienione w mojej klasie CS 102.
Gilles „SO- przestań być zły”

@Raphael (2) Gdy zaczynasz w indeksowaniu nie ma znaczenia, mógłbym usunąć warunek h G , ponieważ F może pochłonąć tyle małych elementów, ile chcemy. (3) Zestaw, który jest okresowy powyżej określonej wartości, jest zestawem, który można umieścić w wyświetlonej powyżej formie. solhsolfa
Gilles „SO- przestań być zły”

5

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 { ε } ).{1,,n}NL{0}L{01,,0n}{ε}

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ćr1,r2L1L2

  • .LS(L(r1+r2))=LS(L1L2)=LS(L1)LS(L2)
  • . Jest to oznaczone L S ( L 1 ) + L S ( LLS(L(r1r2))=LS(L1L2)={1+2:1LS(L1),2LS(L2)} .LS(L1)+LS(L2)
  • LS(L(r1))={0}n1{i=1ni:(1,,n)(LS(L1))n}.

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.NS1,S2N

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.N


Nie widzę żadnej ostatecznej odpowiedzi. (Czy miałeś zamiar dokończyć swoją odpowiedź później?) Miałem nadzieję na prosty opis możliwych zestawów i połączenie z automatami.
Gilles „SO- przestań być zły”

Ostateczna odpowiedź brzmi: „Zatem możliwe zestawy liczb całkowitych ...”. To jest rzeczywiście prosty opis, choć związany z wyrażeniami regularnymi, a nie automatami.
Janoma,

Jest prostszy opis, który nie wymaga przyjęcia punktu stałego. Może to pytanie nie jest tak podstawowe, jak myślałem!
Gilles „SO- przestań być zły”

Nie sądzę, że można uniknąć ostatniej reguły, ponieważ jest to operator gwiazd, który może wytwarzać nieskończone zestawy długości, tak jak produkuje nieskończone języki.
Janoma,

@Gilles Chcesz więc zamkniętej formy najmniejszego punktu stałego rozwiązania indukcyjnego, które zapewnia Janoma?
Raphael

2

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.nxn

x=uvw
|uv|<n
|v|>0
uvkwL.

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ść.nmv

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 ).

{za+bn|nN.}S.
za,bN.S.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).

bnza

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.


1
{za+bnza,b,nN.}S.N.

1
L.=L.(za)Σ={za,b}L.N.L.¯N.+

@Gilles Ale zestaw wszystkich liczb naturalnych jest prawidłowym zestawem długości, prawda? Nie generuję wszystkich podzbiorów liczb naturalnych, prawda? Zgadzam się, że byłoby to problematyczne. Edycja: och, czekaj, widzę, co mówisz. Tak, masz rację. Naprawi się po powrocie do komputera.
Patrick87,

@Janoma Doskonały punkt, będę musiał rozważyć, jak to może zmienić zestaw rzeczy, które definiuję ...
Patrick87
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.