基本介绍
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)的存在性。