Số lượng từ có độ dài nhất định trong một ngôn ngữ thông thường


15

Có một đặc tính đại số của số lượng từ có độ dài nhất định trong một ngôn ngữ thông thường?

Wikipedia nêu một kết quả không chính xác:

Đối với bất kỳ ngôn ngữ thông thường L nào tồn tại hằng số λ1,,λk và đa thứcp1(x),,pk(x) như vậy mà cho mỗin sốsL(n) các từ có độ dàin trongL thỏa mãn phương trình sL(n)=p1(n)λ1n++pk(n)λkn .

Nó không nói gì không gian λ là sống trong ( C , tôi đoán) và xem chức năng bắt buộc phải có giá trị số nguyên không âm trên tất cả các N . Tôi muốn một tuyên bố chính xác, và một bản phác thảo hoặc tài liệu tham khảo cho bằng chứng.

Câu hỏi thưởng: là ngược lại, có nghĩa là được cung cấp một chức năng của hình thức này, có luôn luôn có một ngôn ngữ thông thường có số lượng từ trên mỗi độ dài bằng với chức năng này không?

Câu hỏi này khái quát Số từ trong ngôn ngữ thông thường (00)


3
một bản phác thảo của một bằng chứng đã có ở đây
Artem Kaznatcheev

3
@ArtemKaznatcheev Thú vị, cảm ơn. Bạn sẽ xem xét chuyển câu trả lời của bạn cho câu hỏi này, nó phù hợp hơn?
Gilles 'SO- ngừng trở nên xấu xa'

1
Tôi cảm thấy rằng câu hỏi này là một chút dư thừa (mặc dù tổng quát hơn). Tổng quát cách tiếp cận của tôi với bằng chứng là một ít lông, nhưng tôi sẽ xem xét sau bữa ăn tối.
Artem Kaznatcheev

@ArtemKaznatcheev Cảm ơn. Tôi gặp rắc rối với phần thứ hai trong câu trả lời của bạn, mở rộng sang các DFA có thể giảm.
Gilles 'SO- ngừng trở nên xấu xa'

1
@vzn Một thực tế cổ điển là hàm tạo số lượng từ trong ngôn ngữ thông thường là hợp lý, ngay lập tức ngụ ý công thức của OP (ở dạng chính xác). Phần khó khăn là trích xuất các tiệm cận. Để biết chi tiết, bạn có thể kiểm tra (ví dụ) cuốn sách Phân tích kết hợp được đề cập trong câu trả lời của tôi.
Yuval Filmus

Câu trả lời:


10

Với ngôn ngữ thông thường , hãy xem xét một số DFA chấp nhận L , gọi A là ma trận chuyển của nó ( A i j là số cạnh dẫn từ trạng thái i sang trạng thái j ), gọi x là vectơ đặc trưng của trạng thái ban đầu và để yLLAAijijxy là vectơ đặc trưng của các trạng thái chấp nhận. Khi đó

sL(n)=xTAny.

Bang Jordan lý rằng trong số phức, là tương tự như một ma trận với các khối của một trong những hình thức ( λ ) , ( λ 1 0 λ ) , ( λ 1 0 0 λ 1 0 0 λ ) , ( λ 1 0 0 0 λ 1 0 0 0 λ 1 0 0 0 λ ) , ... Nếu λ 0 thứ quyền hạn của các khối là A

(λ),(λ10λ),(λ100λ100λ),(λ1000λ1000λ1000λ),
λ0 thì n Đây là cách chúng tôi đến các công thức: viết các khối nhưB=λ+N. Các lũy thừa liên tiếp củaNlà các đường chéo thứ cấp liên tiếp của ma trận. Sử dụng định lý nhị thức (sử dụng thực tế làλđi lại vớiN), Bn=(λ+n)N=λ
(λn),(λnnλn10λn),(λnnλn1(n2)λn20λnnλn100λn),(λnnλn1(n2)λn2(n3)λn30λnnλn1(n2)λn200λnnλn1000λn),
B=λ+NNλN Khiλ=0, khối là nilpotent và chúng ta nhận được các ma trận sau (ký hiệu[n=k]1nếun=k0nếu không): ( [ n = 0 ] ),( [ n = 0 ] [ n = 1 ] 0 [ ] ),
Bn=(λ+n)N=λn+nλn1N+(n2)λn2N2+.
λ=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])

An đều thuộc dạng(nk)λn-k hoặc của hình thức [n= =k]và chúng tôi suy luận rằng

SL(n)= =ΣTôipTôi(n)λTôin+Σjcj[n= =j],
cho một số phức tạp λTôi,cj và đa thức phức tạp pTôi. Đặc biệt, cho đủ lớnn,
SL(n)= =ΣTôipTôi(n)λTôin.
Đây là tuyên bố chính xác của kết quả.

Chúng tôi có thể tiếp tục và có được thông tin tiệm cận về SL(n), nhưng điều này đáng ngạc nhiên là không tầm thường. Nếu có mộtλTôi độ lớn nhất, nói λ1, sau đó

SL(n)= =p1(n)λ1n(1+o(1)).
Mọi thứ trở nên phức tạp hơn khi có một vài λs có cường độ lớn nhất. Điều đó xảy ra rằng góc của chúng phải hợp lý (nghĩa là lên đến độ lớn, chúng là gốc rễ của sự thống nhất). Nếu LCM của mẫu số làd, then the asymptotics of sL will very according to the remainder of n modulo d. For some of these remainders, all λs of largest magnitude cancel, and then the asymptotics "drops", and we have to iterate this procedure. The interested reader can check the details in Flajolet and Sedgewick's Analytic Combinatorics, Theorem V.3. They prove that for some d, integers p0,,pd1 and reals λ0,,λd1,
sL(n)=npn(modd)λn(modd)n(1+o(1)).

8

Let LΣ a regular language and

L(z)=n0|Ln|zn

its generating function, where Ln=LΣn and so |Ln|=sL(n).

It is known that L(z) is rational, i.e.

P(z)Q(z)

with P,Q polynomials; this is easiest seen by translating a right-linear grammar for L into a (linear!) equation system whose solution is L(z).

The roots of Q are essentially responsible for the |Ln|, leading to the form stated on Wikipedia. This is immediately related with the method of characteristic polynomials for solving recurrences (via the recurrence which describes (|Ln|)nN) .


It is not clear how your answer answers the question. Also, what is Ln?
Dave Clarke

1
@Gilles Analytic Combinatorics, the books by Eilenberg, the book by Berstel, Reutenauer
uli


1
@Patrick87: 1) Right, typo; thanks! 2) For finite languages, the generating function is a polynomial (and therewith rational). As Q(z)=1, this approach won't work. The linked theorem starts with a linear homogeneous recurrence; I don't think those can describe sequences that are zero for all kn0 (and non-zero for at least one value). Not sure, though. If I am right, the statement we are talking about does indeed only hold for infinite regular languages; this would not be entirely surprising as finite languages do not have any structure.
Raphael

1
@Raphael Yeah, my thinking was similar... that seems to be a fairly serious shortcoming in the presentation of the theorem, if it doesn't hold for finite languages, since (a) finite languages are regular, (b) the theorem implies finite languages aren't regular, and (c) determining whether a language is finite is (in general) undecidable... I mean, Myhill-Nerode and the pumping lemma don't have that problem; they work for finite languages.
Patrick87
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.