Số từ trong các ngôn ngữ thông thường


17

Theo Wikipedia , đối với mọi ngôn ngữ thông thường tồn tại các hằng số và đa thức sao cho với mọi số của các từ có độ dài trong thỏa mãn phương trìnhLλ1,,λkp1(x),,pk(x)nsL(n)nL

sL(n)=p1(n)λ1n++pk(n)λkn .

Ngôn ngữ là thông thường ( khớp với nó). iff n là chẵn và nếu không.L={02nnN}(00)sL(n)=1sL(n)=0

Tuy nhiên, tôi không thể tìm thấy và (phải tồn tại ở trên). Vì phải khác biệt và không phải là hằng số, nên bằng cách nào đó nó phải hoạt động như một sóng và tôi không thể thấy bạn có thể làm điều đó như thế nào với đa thức và hàm số mũ mà không kết thúc với số lượng vô hạn như trong một bản mở rộng Taylor. Bất cứ ai có thể khai sáng cho tôi?p i s L ( n )λipisL(n)


Bạn có biết tên của định lý này?
Artem Kaznatcheev

@ArtemKaznatcheev: không, không có ý kiến. Thật không may, Wikipedia không đưa ra một tài liệu tham khảo :(
Alex ten Brink

Câu trả lời:


14

Đối với ngôn ngữ của bạn, bạn có thể mất , λ 0 = 1 , p 1 ( x ) = 1 / 2 , λ 1 = - 1 , và p i ( x ) = λ i = 0 cho i > 1 ? Bài viết Wikipedia không nói gì về các hệ số là dương hoặc tích phân. Tổng số cho sự lựa chọn của tôi làp0(x)=1/2λ0=1p1(x)=1/2λ1=1pi(x)=λi=0i>1

1/2+1/2(1)n=1/2(1+(1)n)

có vẻ là 1 cho chẵn và 0 cho n lẻ . Thật vậy, một bằng chứng bằng cảm ứng có vẻ đơn giản.nn


À vâng, tất nhiên, tôi đã quên về các dấu trừ xen kẽ. Sẽ nâng cấp một khi ngày kết thúc - Tôi đã đạt được số phiếu bầu.
Alex ten Brink

Không có cảm ứng cần thiết cho yêu cầu đó.
Raphael

@Raphael Đúng, nhưng một lần nữa, điều đó chỉ làm cho khẳng định của tôi chính xác hơn.
Patrick87

11

@ Patrick87 đưa ra một câu trả lời tuyệt vời cho trường hợp cụ thể của bạn, tôi nghĩ tôi sẽ cung cấp cho một mẹo làm thế nào để tìm trong trường hợp tổng quát hơn của bất kỳ ngôn ngữ L có thể được đại diện bởi một DFA tối giản (tức là nếu nó có thể để đến bất kỳ tiểu bang từ bất kỳ tiểu bang). Lưu ý rằng ngôn ngữ của bạn thuộc loại này.sL(n)L


Chứng minh định lý cho các DFA không thể giảm

Đặt là ma trận chuyển tiếp của DFA m -state của bạn , vì nó là không thể thay đổi, ma trận là bình thường và có một bản địa hoàn toàn | λ 1. . . | λ m . Hãy để | Một là chấp nhận vector: tức là tôi | Một là 1 nếu tôi là một nhà nước chấp nhận, và 0 nếu ngược lại. WLOG cho rằng | 1 là tình trạng ban đầu, và vì chúng ta có một eigenbasis hoàn tất, chúng ta biết rằng | 1 = c 1 |Dm|λ1...|λm|Ai|Ai|1 đối với một số hệ số c 1 . . . c m (lưu ý rằng c i = bước sóng i | i ).|1=c1|λ1+...+cm|λmc1...cmci=λi|i

Bây giờ chúng ta có thể chứng minh một trường hợp hạn chế của định lý trong câu hỏi (bị giới hạn ở các DFA không thể giảm được; như một bài tập khái quát hóa bằng chứng này cho toàn bộ định lý). Vì là ma trận chuyển tiếp D | 1 là vector của các quốc gia có thể truy cập sau khi đọc bất kỳ ký tự một, D 2 | 1 là như nhau cho hai nhân vật, vv Cho một vector | x , Một | x chỉ đơn giản là tổng hợp của các thành phần của | x được chấp nhận quốc gia. Như vậy:DD|1D2|1|xA|x|x

sL(n)=A|Dn|1=A|Dn(c1|λ1...cm|λm)=c1λ1nA|λ1+...+cmλmnA|λm=A|λ1λ1|1λ1n+...+A|λmλm|1λmn=p1λ1n+...+pmλmm

Bây giờ chúng ta biết rằng đối với một DFA trạng thái m không thể sửa chữa, sẽ là đa thức bậc 0 (tức là hằng số) phụ thuộc vào DFA và λ 1 . . . λ m sẽ là giá trị riêng của ma trận chuyển tiếp.p1...pmλ1...λm

Ghi chú chung

Nếu bạn muốn chứng minh định lý này cho DFA tùy ý, thì bạn sẽ cần xem xét phân rã Schur của và sau đó các đa thức có độ không bằng 0 sẽ xuất hiện vì các thuật ngữ nilpotent. Nó vẫn còn khai sáng để làm điều này, vì nó sẽ cho phép bạn giới hạn mức độ tối đa của đa thức. Bạn cũng sẽ tìm thấy một mối quan hệ giữa cách phức tạp đa thức là gì và có bao nhiêu λ là bạn sẽ có.Dλ


Áp dụng cho câu hỏi cụ thể

Đối với ngôn ngữ của bạn chúng tôi có thể chọn DFA với ma trận chuyển tiếp:L

D=(0110)

và chấp nhận vectơ:

A=(10)

Tìm các hàm riêng và giá trị riêng của chúng với | λ 1= 1λ1=1λ2=-1với| λ2=1|λ1=12(11)λ2=1. Chúng ta có thể sử dụng để tìmp1=1/2p2=1/2. Để cung cấp cho chúng tôi:|λ2=12(11)p1=1/2p2=1/2

sL(n)=12+12(1)n

Có lẽ gửi bài này ở đây ?
Raphael

@Raphael đã được hỏi trong khi tôi đang tìm ra bằng chứng và gõ câu trả lời của tôi, vì vậy tôi không biết về nó khi tôi hỏi.
Artem Kaznatcheev

6

Continuing Artem's answer, here is a proof of the general representation. As Artem shows, there is an integer matrix A and two vectors x,y such that

sL(n)=xTAny.
(The vector x is the characteristic vector of the start state, the vector y is the characteristic vector of all accepting state, and Aij is equal to the number of transitions from state i to state j in a DFA for the language.)

Jordan's theorem states that over the complex numbers, A is similar to a matrix with blocks of one of the forms

(λ),(λ10λ),(λ100λ100λ),(λ1000λ1000λ1000λ),
If λ0, then the nth powers of these blocks are
(λn),(λnnλn10λn),(λnnλn1(n2)λn20λnnλn100λn),(λnnλn1(n2)λn2(n3)λn30λnnλn1(n2)λn200λnnλn1000λn),
Here's how we got to these formulas: write the block as B=λ+N. Successive powers of N are successive secondary diagonals of the matrix. Using the binomial theorem (using the fact that λ commutes with N),
Bn=(λ+n)N=λn+nλn1N+(n2)λn2N2+.
When λ=0, the block is nilpotent, and we get the following matrices (the notation [n=k] is 1 if n=k and 0 otherwise):
([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])

Summarizing, every entry in An is either of the form (nk)λnk or of the form [n=k], and we deduce that

sL(n)=ipi(n)λi(n)+jcj[n=j],
for some complex λi,cj and complex polynomials pi. In particular, for large enough n,
sL(n)=ipi(n)λi(n).

Thank you for the general treatment! You should consider combining your answer with mine and posting it as a full answer to this question. I think it would be more helpful than the current answer there.
Artem Kaznatcheev
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.