Liczba słów o określonej długości w zwykłym języku


15

Czy istnieje algebraiczna charakterystyka liczby słów o danej długości w zwykłym języku?

Wikipedia podaje wynik nieco nieprecyzyjnie:

Dla każdego języka regularnego istnieje stałych i wielomiany tak, że dla każdego numer z słowa o długości w spełnia równanie .Lλ1,,λkp1(x),,pk(x)nsL(n)nLsL(n)=p1(n)λ1n++pk(n)λkn

Nie jest określone, w jakiej przestrzeni żyje ( , jak przypuszczam) i czy funkcja musi mieć nieujemne wartości całkowite w całym . Chciałbym uzyskać dokładne oświadczenie oraz szkic lub odniesienie do dowodu.λCN

Pytanie dodatkowe: czy jest odwrotnie, tzn. Biorąc pod uwagę funkcję tej formy, czy zawsze istnieje język regularny, którego liczba słów na długość jest równa tej funkcji?

To pytanie uogólnia Liczba słów w zwykłym języku(00)


3
szkic dowodu jest tutaj
Artem Kaznatcheev

3
@ArtemKaznatcheev Ciekawe dzięki. Czy zastanowiłbyś się nad przeniesieniem odpowiedzi na to pytanie, które lepiej pasuje?
Gilles 'SO - przestań być zły'

1
Wydaje mi się, że to pytanie jest nieco zbędne (choć bardziej ogólne). Uogólniając moje podejście do dowodu, jest trochę owłosione, ale przyjdę po kolacji.
Artem Kaznatcheev

@ArtemKaznatcheev Thanks. Miałem problem z drugą częścią twojej odpowiedzi, obejmującą redukowalne DFA.
Gilles 'SO - przestań być zły'

1
@vzn Klasycznym faktem jest to, że funkcja generowania liczby słów w zwykłym języku jest racjonalna, co natychmiast implikuje formułę OP (w poprawnej formie). Trudną częścią jest wydobycie asymptotyków. Aby uzyskać szczegółowe informacje, możesz sprawdzić (na przykład) książkę Analytic Combinatorics wspomnianą w mojej odpowiedzi.
Yuval Filmus

Odpowiedzi:


10

Biorąc pod uwagę zwykły język , rozważ niektóre DFA akceptujące , niech będzie jego macierzą transferu ( to liczba krawędzi prowadzących od stanu do stanu ), niech będzie wektorem charakterystycznym stanu początkowego i niech będzie charakterystycznym wektorem stanów akceptujących. Następnie L A A i j i j x y s L ( n ) = x T A n y .L.L.ZAZAjajotjajotxy

sL.(n)=xT.ZAny.

Twierdzenie Jordana stwierdza, że ​​nad liczbami zespolonymi jest podobny do macierzy z blokami jednej z form Jeśli , to moce tych bloków są ( λ ) , ( λ 1 0 λ ) , ( λ 1 0 0 λ 1 0 0 λ ) , ( λ 1 0 0 0 λ 1 0 0 0 λ 1 0 0 0 λ ) , λ 0 n ( λ n ) , ( λ n n λ n - 1ZA

(λ),(λ10λ),(λ100λ100λ),(λ1000λ1000λ1000λ),
λ0nB=λ+NNλNBn=(λ+n)N=λn+nλn-1N+(n
(λn),(λnnλn-10λn),(λnnλn-1(n2))λn-2)0λnnλn-100λn),(λnnλn-1(n2))λn-2)(n3))λn-3)0λnnλn-1(n2))λn-2)00λnnλn-1000λn),
Oto jak otrzymaliśmy tych wzorach zapisać jako blok . Kolejne moce są kolejnymi wtórnymi przekątnymi macierzy.b=λ+N.N.λN.
bn=(λ+n)N.=λn+nλn-1N.+(n2))λn-2)N.2)+.
Gdy , blok jest zerowy i otrzymujemy następujące macierze (notacja wynosi jeśli a w przeciwnym razie ): λ=0[n=k]1n=k0
([n=0]),([n=0][n=1]0[n=0]),([n=0][n=1][n=2)]0[n=0][n=1]00[n=0]),([n=0][n=1][n=2)][n=3)]0[n=0][n=1][n=2)]00[n=0][n=1]000[n=0])

Podsumowując, każdy wpis w ma postać lub o postaci , a my wywnioskujemy, że dla niektórych złożonych i złożonych wielomianów . W szczególności, dla wystarczająco dużych , To jest dokładne określenie wyniku.ZAn(nk)λn-k[n=k]

sL.(n)=japja(n)λjan+jotdojot[n=jot],
λja,dojotpjan
sL.(n)=japja(n)λjan.

Możemy kontynuować i uzyskać asymptotyczne informacje o , ale jest to zaskakująco nietrywialne. Jeśli istnieje unikalny największej wielkości, powiedzmy , to Sprawy komplikują się, gdy jest kilka o największej wielkości. Zdarza się, że ich kąt musi być racjonalny (tzn. Do rangi, są korzeniami jedności). Jeśli LCM mianowników wynosi , to asymptotyki będą bardzo zgodne z resztą modulo . W przypadku niektórych z tych reszt wszystkiesL.(n)λjaλ1

sL.(n)=p1(n)λ1n(1+o(1)).
λresL.nreλs największej wielkości anulują, a następnie asymptotyki „spadają” i musimy powtórzyć tę procedurę. Zainteresowany czytelnik może sprawdzić szczegóły w Kombinatoryce analitycznej Flajoleta i Sedgewicka , Twierdzenie V.3. Udowadniają, że dla niektórych , liczb całkowitych i reals , rep0,,pre-1λ0,,λre-1
sL.(n)=npn(modre)λn(modre)n(1+o(1)).

8

Niech zwykłym językiem iL.Σ

L.(z)=n0|L.n|zn

jego funkcja generująca , gdzie a więc .L.n=L.Σn|L.n|=sL.(n)

Wiadomo, że jest racjonalny , tjL.(z)

P.(z)Q(z)

z wielomianami ; jest to najłatwiejsze do przełożenia na przekształcenie gramatyki prostoliniowej dla na układ równań (liniowy!), którego rozwiązaniem jest .P.,QL.L.(z)

Korzenie są zasadniczo odpowiedzialne za, co prowadzi do formularza podanego na Wikipedii. Jest to bezpośrednio związane z metodą charakterystycznych wielomianów do rozwiązywania nawrotów (poprzez wzorzec, który opisuje ).Q|L.n|(|L.n|)nN.


Nie jest jasne, w jaki sposób twoja odpowiedź odpowiada na pytanie. Co to jest ? L.n
Dave Clarke

1
@Gilles Analytic Combinatorics , książki Eilenberga, książki Berstela, Reutenauera
uli


1
@ Patrick87: 1) Racja, literówka; dzięki! 2) W przypadku języków skończonych funkcja generująca jest wielomianem (i tym samym racjonalnym). Ponieważ , to podejście nie będzie działać. Połączone twierdzenie zaczyna się od liniowego jednorodnego nawrotu; Nie sądzę, że mogą opisywać sekwencje, które są zerowe dla wszystkich (i niezerowe dla co najmniej jednej wartości). Jednak nie jestem pewien. Jeśli mam rację, stwierdzenie, o którym mówimy, rzeczywiście dotyczy tylko nieskończonych języków regularnych; nie byłoby to całkowicie zaskakujące, ponieważ języki skończone nie mają żadnej struktury. Q(z)=1kn0
Raphael

1
@Raphael Tak, moje myślenie było podobne ... wydaje się, że jest to dość poważna wada w prezentacji twierdzenia, jeśli nie dotyczy to języków skończonych, ponieważ (a) języki skończone są regularne, (b) twierdzenie sugeruje, że skończone języki nie są regularne, i (c) ustalenie, czy język jest skończony, jest (ogólnie) nierozstrzygalne ... Mam na myśli, że Myhill-Nerode i lemat pompujący nie mają tego problemu; działają dla języków skończonych.
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.