基本介紹
1.任意實數都可以表示爲小數的形式:對於有限小數,在其末尾增加無限個0,將所有的實數都統一爲無限小數。因此實數的表示即爲無限小數的表示。
2.考慮∀x≥0,一定可以劃分爲整數部分⌊x⌋,以及小數部分x−⌊x⌋,整數部分顯然,小數部分可以表示爲∑i=1∞aip−i,即對於前綴a1,a1a2,....,a1...aj有以下表示a1/p,(a1p+a2)/p2,....,(a1pj−1+...+aj)/pj。
分子部分是p進制下a1...aj的數值。
分母部分是正則表示式中{1,...,p−1}{0,...,p−1}∗∪{ε}中長度至多爲j的單詞數量之和((p−1)∑i=0j−1pi+1=pj)
3.通過剛纔的方法可以表示出[p1,1],爲了得到∀x∈[0,1],可以通過對x乘一個pk使得 pkx∈[p1,1],對於指數k很容易保存,這樣就表示出了x∈[pk+11,pk1],這裏x可以用和[p1,1]同樣的方法處理,只是多了k個前導零。因此我們需要關心的只有[p1,1]這一部分的實數了。
4.另外對於x∈[p1,1],有可能存在超過一種表示。實際上在實數中,1.999...與2.000...都表示102,而在這裏考慮的是[pnr,pnr+1]這樣的區間。如果數x在區間的端點上,那麼它將會有兩種不同的表示,否則就有唯一的表示。
前置知識:
1.語言和自動機
∑:有限字符集
∑∗: 克林閉包
∑+:正閉包
∣w∣: 字符串w的長度
#Q: 有限集合Q的基數
DFA:被∑標記的一個有向圖(K,s,F,∑,δ),K代表狀態的有限集合,s∈K是一個初始狀態,F⊆K是終止狀態的集合,δ:K×∑→K是轉移函數
識別:如果一個單詞可以從初態出發不斷轉移最終到達終態,那麼這個單詞就被識別出來。
語言:克林閉包的一個子集
正則語言:如果一個語言中的單詞都能夠被識別出來,那麼該語言被稱爲正則語言。
Lk:{x∈∑∗,δ(k,x)∈F},而一般所說的L就是Ls
2.整數的表示
基數序:基數序是用來比較兩個單詞的大小,對於兩個單詞x和y,如果(∣x∣<∣y∣)或者(∣x∣=∣y∣並且存在某個單詞δ≤τ,且有x=wδx′,y=wτy′),我們就認爲x≤y。
代數系統:代數系統定義爲一個三元組(L,∑,<),L是一個無限長度的正則表達式,這個代數系統用以實現N和L的一一映射。
repS(n):整數到單詞的映射,代表n+1大的單詞。
valS(w):單詞到整數的映射:如果w是第n+1大的單詞,那麼valS(w)=n。
如上圖,易見repS(4)=ab,valS(aba)=12。
對於repS(k)和valS(k),可以通過貪心算法構造出來。
更一般地,對於∀k∈K,通過Lk構造出來新的代數系統Sk=(Lk,∑,<),相應的函數則爲repSk和valSk,在不混淆的情形下,大寫的S可以被省略。
ul(k):ul(k)=#(Lk∩∑l),實際上就是所有從狀態k出發通過l次轉移正好被接收的單詞的數量。
vl(k):vl(k)=∑i=0lul(k),實際上就是所有從狀態k出發在l次轉移之內被接受的單詞的數量。
特別地,對於ul(s)和vl(s)在不至引起混淆的情形下可以簡寫爲ul和vl。
定理1:如果σw∈Lk,並且滿足σ∈∑,w∈∑+,那麼valk(σw)=valk.σ(w)+v∣w∣(k)−v∣w∣−1(k.σ)+∑σ′<σu∣w∣(k.σ′)
證明:選取第一個字符c∈∑,若字符c=σ爲第一項,若字符c<σ且長度爲∣w∣+1爲第四項,若長度小於∣w∣+1的爲第二項,容斥掉c=σ並且長度小於∣w∣+1的重複的一部分。
定理2:如果σ∈∑,那麼valk(σ)=u0(k)+∑σ′<σu0(k.σ′)
證明:比較顯然。
通過定理1和定理2,可以得到對於w=wl...w1∈Lk,可以得到以下的公式:
valk(w)=vl−1(k)+∑σ<wlul−1(k.σ)+...+∑σ<w2u1(k.wl...w3σ)−v0(k.wl...w2)+valk.wl...w2(w1)
推論1:把原式轉化成一個更簡的形式有:
valk(w)=∑q∈K∑i=1∣w∣−1βq,i(k,w)ui(q)
其中βq,i(k,w)是一個常數,它的大小不超過#∑+δk,q
3.無窮單詞
∑w:定義爲無窮長度正則表達式的集合。
子串:對於單詞w=w0w1...w∣w∣−1,如果0<l≤r<∣w∣,那麼w[l,r]就稱爲是w的一個子串。
極限:
如果某個單詞序列wn∈∑∗滿足∀l∈N,∃N∈N,∀n>N,wn[0,l]=w[0,l]。記爲limn→∞wn=w。
具體地說:對於任意長度的前綴,都滿足存在一個自然數N,並且這個序列存在n,使得n≥N的wn都和w相同,那麼wn→w。
另外一種定義極限的方法是定義兩個串x和y的距離d(x,y)。
d(x,y)=2−n,n=inf{j:x[j,j]=y[j,j],(x=y)
d(x,y)=∞,(x=y)
然後對於所有的有限單詞x都定義爲xτw,τ∈∑,那麼wn收斂於w就對應爲拓撲空間(∑∪{τ})w上wn的極限爲w。
如果L是一個語言。
定義L∞是有無窮多個前綴在L中的無窮單詞的集合,L∞={w∈∑w∣∃wn:w[0,n]∈L},這裏∃w代表存在無窮多個n。
定義L∞={w∈∑w∣∃(wn)n∈N∈LN:limn→∞wn=w}
注意到有L∞⊂L∞
一些問題
分別要解決以下問題:
1. L∞和L∞的不可數性。
2. 極限limn→∞v∣wn∣valS(wn)的存在性。
L∞和L∞的不可數性
1.1 L∞的不可數性。
如果可以從s到狀態k,那麼說這個狀態是accessible的。如果可以從狀態k到F,那麼說這個狀態是coaccessible的。
定理3:集合L∞是不可數的當且僅當DFA上存在兩個互異的環(p1,....pr,p1)和(q1,...qt,q1)滿足以下的條件:
1. p1=q1,
2. {p1,....,pr,q1,...,qt}存在一個accessible的狀態,
3. {p1,....,pr,q1,...,qt}存在一個coaccessible的狀態。
證明:
充分性:定義c是accessible,d是coaccessible,顯然存在w,w′使得s.w=c並且d.w′∈F,並且定義y0,y1分別爲(p1,p2...pr,p1),(q1,q2...qt,q1)的路徑,顯然可以構造出一個序列wxyf(0)yf(1)....yf(i)x′w′,對於f=g,有yf=yg,本質上是一個實數的二進制表示,所以是不可數的。充分性得證。
必要性:假設任何一個狀態轉移的路徑從s開始到F中某一個結束,最多隻會屬於一個環。換句話說,如果xyz∈L,滿足s.x屬於環(s.x,p2,...pr,s.x),s.xy屬於環(s.xy,q2,...qt),並且這兩個環沒有任何交集。
L可以寫成以下的形式:
λ1μ1∗λ2μ2∗...λjμj∗λj+1,λi,μi∈∑∗.
那麼對於m∈L∞,按照定義它應該有無窮多個公共前綴,那麼這些前綴應該是以下的形式之一:
λ1μ1w,λ1μ1n1λ2μ2w,...,λ1μ1n1λ2μ2n2...μj−1nj−1λjμjw,n1,....,nj−1∈N
這個序列是可數的,這和L∞不可數是矛盾的,所以假設不成立。必要性得證。
1.2 L∞的不可數性。
定理4:集合L∞是不可數的當且僅當DFA上存在兩個互異的環(p1,....pr,p1)和(q1,...qt,q1)滿足以下的條件:
1. p1=q1,
2. {p1,....,pr,q1,...,qt}存在一個accessible的狀態,
3. 存在i≤r,j≤t使得pi和qj都是終態。
證明和定理3是類似的,只是這裏的條件有所加強,因爲L∞要滿足對任意長度的前綴都成立,因此終態必須要落在環上。另外特別的,當i=j=1的時候,就只有一個終態。
基本假設
注意到un(q)是一個常係數線性遞歸方程的解,所以un(q)存在一個通解,使得un(q)=∑i=1rPi(n)μin。其中Pi是一個多項式,而μi是一個複數。
這裏先預先給出了一些假設。
假設μ1是一個實數並且滿足μ1>maxi=2...r{∣μi∣,1},並且定義多項式P1的度數是d。那麼顯然對於un(q),極限limn→∞ndμ1nun(q)存在。
( 同時也觀察到如果maxi=1...r∣μi∣是小於1的話,那麼un(q)是趨於0的,對於足夠大的n,un(q)=0,但此時limn→∞ndμ1nun(q),一個典型的反例就是如果存在j>1,使得∣μ1∣=....=∣μj∣>maxi=j+1,...,r∣μi∣,有可能會出現振盪間斷而不存在極限。)
假設:集合L∞對於所有狀態q都是不可數的,當且滿足以下的條件之一:
(1):∃Nq∈N:∀n>Nq,un(q)=0
(2):∃θq≥1,Pq(x)∈R[x],bq>0:limn→∞Pq(n)θqnun(q)=bq
記號:由於討論的是L∞,對於q=s的情形,必定不會出現(1)這種情形,這裏用θ,P,as分別指代θ,Ps,bs。
結論1:對於(2)中的每個狀態q,要麼θq<θ或者θq=θ並且d(Pq)≤d(P)。簡單地說,就是uq(n)一定會被us(n)所限制。
證明:假設存在θq>1並且Pq(x)∈R[x]使得limn→∞Pq(n)θqnun(q)=bq,並且P(n)θnPq(n)θqn是不收斂的。
因爲存在常數i使得un(s)>un−i(q)。
所以Pq(n)θqnun(s)≥Pq(n−i)θqn−iun−i(q)θqi1Pq(n)Pq(n−i)→θqibq>0
然而Pq(n)θqnun(s)=P(n)θnun(s)Pq(n)θqnP(n)θn是趨於0的
這兩者是矛盾的,因此假設不成立。
結論2:對於每個q極限limn→∞P(n)θnun(q)都是存在的,並且把這個極限記爲aq。
實際上,P(n)θnun(q)=Pq(n)θqnun(q)P(n)θnPq(n)θqn
前面一部分就是bq,後面一部分由上面證明要麼就是分子低階,極限就是0,要麼就是同階,aq就是bq乘上一個常數,這裏不多贅述。
一些極限
根據前文,limn→∞v∣wn∣valS(wn)=limn→∞vn(s)∑i=0nβq,n−i(w)ui(q)
定理5:如果q是Ml的一個狀態且有aq>0,那麼有:
(1):∑i=0nui(s)∑i=0nui(q)=asaq
(2):∑i=0nui(q)un(q)=θθ−1
(3):limn→∞un(q)∑i=0nβq,n−iui(q)=∑j=0∞βq,jθ−j
證明:
第一步:aq>0:
記P的度爲r,有P=αnr+Q(n),顯然d(Q(n))<r並且α>0,那麼存在:
αnrθnun(q)−P(n)θnun(q)=P(n)θnαnrun(q)Q(n)→0
因爲有P(n)θnun(q)→aq
改寫爲limn→∞nrθnun(q)=aq
對狀態p∈{q,s},一定存在(αp,n)收斂到1,滿足un(p)=αp,napnrθn。而且對於k>1,一定存在K>1使得,當n>K一定有αs,n,αq,n∈[1−k1,1+k1]
(1),(2)易證。
現在證明(3):
令zn=un(q)∑i=0nβq,n−iui(q).
對於ϵ>0,我們給出zn的一個上界。
zn≤un(q)∑i=0Kβq,n−iui(q)+aqαq,nnrθnaq∑i=K+1nβq,n−iαq,iirθi
≤k−1k+1∑i=K+1nβq,n−i(ni)rθi−n+un(q)∑i=0Kβq,n−iui(q)
∑i=K+1nβq,n−i(ni)rθi−n=∑i=0n−K−1βq,i(1−ni)rθ−i=∑i=0n−K−1βq,iθ−i+∑j=1rCrjn−j∑i=0n−K−1βq,i(−i)jθ−i。
對於第二項:我們注意到級數∑i=0∞βq,iθ−i是連續可微並且可以逐項微分。
所以有(θdθθ)j∑i=0∞βq,iθ−i=∑i=0∞βq,i(−i)jθ−i,顯然左邊式子是收斂的。
可以發現小於等於號右邊全部收斂。
對於ϵ>0,我們給出zn的一個下界。
zn≥(1−k+12)∑i=0n−K−1βq,i(1−ni)rθ−i≥∑i=0nβq,iθ−i−∑i=n−knβq,iθ−i+ξn−k+12∑i=0∞βq,iθ−i−k+12ξn,
同樣也是收斂的,結論得到證明。
定理6:limn→∞vn(s)vn−1(s)=θ1
證明:vn(s)vn−1(s)=1−vn(s)un(s)→1−θθ−1
定理7:limn→∞v∣wn∣valS(wn)=θ2θ−1∑q∈Kasaq∑j=0∞βq,jθ−j
證明:∑q∈Qu∣wn∣−1(q)∑i=0∣wn∣−1βq,∣wn∣−i−1ui(q)∑i=0∣wn∣−1ui(q)u∣wn∣−1(q)∑i=0∣wn∣−1ui(s)∑i=0∣wn∣−1ui(q)∑i=0∣wn∣ui(s)∑i=0∣wn∣−1ui(s)
應用定理5和定理6即可證明。
綜上所述,證明了極限limn→∞v∣wn∣valS(wn)的存在性。