จำนวนคำในภาษาปกติ


17

ตามวิกิพีเดียสำหรับภาษาปกติLมีค่าคงที่λ1,,λkและพหุนามp1(x),,pk(x)เช่นนั้นสำหรับทุก ๆnจำนวนsL(n)ของคำที่มีความยาวnในLเป็นไปตามสมการ

ksL(n)=p1(n)λ1n++pk(n)λkn

ภาษาเป็นภาษาปกติ ( ( 00 ) ตรงกัน) s L ( n ) = 1 iff n เป็นคู่และs L ( n ) = 0 เป็นอย่างอื่นL={02nnN}(00)sL(n)=1sL(n)=0

อย่างไรก็ตามฉันไม่สามารถหาและp i (ที่ต้องมีอยู่ข้างต้น) ในฐานะที่เป็นs L ( n )จะต้องมีการหาอนุพันธ์และไม่คงที่มันอย่างใดต้องทำตัวเหมือนคลื่นและผมก็ไม่สามารถดูวิธีการที่คุณอาจจะสามารถทำกับพหุนามและฟังก์ชั่นโดยไม่ต้องชี้แจงสิ้นสุดกับจำนวนอนันต์ของ summands เช่น ในการขยายตัวของเทย์เลอร์ มีใครสอนฉันได้ไหมλipisL(n)


คุณรู้ชื่อของทฤษฎีบทนี้หรือไม่?
Artem Kaznatcheev

@ArtemKaznatcheev: ไม่ไม่คิด วิกิพีเดียไม่ได้ให้การอ้างอิง แต่อย่างใด: (
อเล็กซ์สิบบริงค์

คำตอบ:


14

สำหรับภาษาของคุณคุณสามารถใช้ , λ 0 = 1 , P 1 ( x ) = 1 / 2 , λ 1 = - 1และหน้าผม ( x ) = λ ฉัน = 0สำหรับฉัน> 1 ? บทความ Wikipedia ไม่ได้พูดอะไรเกี่ยวกับค่าสัมประสิทธิ์ที่เป็นค่าบวกหรือค่าอินทิกรัล ผลรวมสำหรับตัวเลือกของฉันคือ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)

ซึ่งดูเหมือนว่าจะเป็น 1 สำหรับแม้แต่และ 0 คี่n อันที่จริงการพิสูจน์โดยอุปนัยดูเหมือนตรงไปตรงมาnn


ใช่แน่นอนฉันลืมเกี่ยวกับการสลับเครื่องหมายลบ จะอัปโหลดเมื่อวันนั้นสิ้นสุด - ฉันกดปุ่มโหวต
Alex สิบ Brink

ไม่จำเป็นต้องมีการเหนี่ยวนำสำหรับการอ้างสิทธิ์นั้น
กราฟิลส์

@ ราฟาเอลจริง แต่แล้วอีกครั้งนั่นทำให้การยืนยันของฉันแม่นยำยิ่งขึ้น
Patrick87

11

@ Patrick87 ให้คำตอบที่ดีสำหรับกรณีเฉพาะของคุณฉันคิดว่าฉันจะให้คำแนะนำเกี่ยวกับวิธีหาในกรณีทั่วไปของภาษาใด ๆLที่สามารถแสดงด้วย DFA ที่ลดลงไม่ได้ (เช่นถ้าเป็นไปได้ เพื่อไปยังสถานะใด ๆ จากรัฐใด ๆ ) โปรดทราบว่าภาษาของคุณเป็นประเภทนี้sL(n)L


พิสูจน์ทฤษฎีบทของ DFA ที่ลดไม่ได้

ให้เป็นเมทริกซ์การเปลี่ยนแปลงของm- state DFA ของคุณเนื่องจากมันลดลงไม่ได้เมทริกซ์จึงเป็นเรื่องปกติและมี eigenbasis แบบเต็ม| λ 1 . . | λ เมตร ให้| A เป็นเวกเตอร์ที่ยอมรับได้: เช่นi | A คือ 1 ถ้าฉันเป็นสถานะที่ยอมรับและ 0 เป็นอย่างอื่น WLOG สมมติว่า | 1 เป็นสถานะเริ่มต้นและเนื่องจากเรามี eigenbasis ที่สมบูรณ์เราจึงรู้ว่า| 1 = c 1 |Dm|λ1...|λm|Ai|Ai|1|1=c1|λ1+...+cm|λm for some coefficients c1...cm (note that ci=λi|i).

Now we can prove a restricted case of the theorem in the question (restricted to irreducible DFAs; as an exercise generalize this proof to the whole theorem). Since D is the transition matrix D|1 is the vector of states reachable after reading any one character, D2|1 is the same for two characters, etc. Given a vector |x, A|x is simply the sum of the components of |x that are accept states. Thus:

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

Now we know that for an irreducible m-state DFA, p1...pm will be zero order polynomials (i.e. constants) that depends on the DFA and λ1...λm will be eigenvalues of the transition matrix.

Generality note

If you want to prove this theorem for arbitrary DFA, then you will need to look at the Schur decomposition of D and then polynomials of non-zero degree will pop up because of the nilpotent terms. It is still enlightening to do this, since it will let you bound the max degree of the polynomials. You will also find a relationship between how complicated the polynomials are and how many λs you will have.


Application to specific question

For your language L we can select the DFA with transition matrix:

D=(0110)

and accept vector:

A=(10)

Find the eigenvectors and their eigenvalues λ1=1 with |λ1=12(11) and λ2=1 with |λ2=12(11). We can use this to find p1=1/2 and p2=1/2. To give us:

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

Maybe post this here?
Raphael

@Raphael that was asked while I was figuring out the proof and typing up my answer, so I did not know about it when I asked.
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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.