常规语言中给定长度的单词数


15

正常语言中给定长度的单词数量是否有代数表征?

维基百科指出的结果有些不精确:

对于任何正则语言存在常数和多项式 ,使得对于每数的长度的话在满足方程式 。λ 1Lp 1X λ1,,λkñ 小号大号Ñ ñ 大号小号大号Ñ = p 1Ñ λ Ñ 1 + + p ķÑ λ Ñ ķp1(x),,pk(x)nsL(n)nLs大号ñ=p1ñλ1ñ++pķñλķñ

没有说明λ居住在哪个空间中(我认为是C),以及是否要求该函数在所有上都具有非负整数值ñ。我想要一个精确的陈述,并提供草图或证明作为参考。

额外的问题:是否相反,即给定这种形式的功能,是否总是存在一种普通语言,其每字长度的单词数等于该功能?

这个问题概括了普通语言的字数00


3
一个证明的草图在这里
Artem Kaznatcheev 2012年

3
@ArtemKaznatcheev有趣,谢谢。您是否会考虑将这个问题的答案更合适?
吉尔斯(Gilles)'所以

1
我觉得这个问题有点多余(尽管更笼统)。概括地说,我的举证方式有些毛茸茸,但是晚餐后我会看一下。
Artem Kaznatcheev 2012年

@ArtemKaznatcheev谢谢。对于您回答的第二部分,我遇到了麻烦,涉及到可还原的DFA。
吉尔斯(Gillles)“所以-别再邪恶了”

1
@vzn这是一个经典的事实,即常规语言中单词数量的生成函数是合理的,这立即暗示了OP的公式(以其正确形式)。困难的部分是提取渐近线。有关详细信息,您可以查看(例如)我的答案中提到的《分析组合》一书。
Yuval Filmus

Answers:


10

给定一个正则语言,考虑一些DFA接受大号,让是其传输矩阵(Ĵ是边缘导致从状态的数目到状态Ĵ),让X是初始状态的特征矢量,并让ÿ是接受状态的特征向量。那么 s Ln = x T A n y 大号大号一种一种一世Ĵ一世ĴXÿ

s大号ñ=XŤ一种ñÿ

约旦定理指出,在复数,类似于使用的一种形式的嵌段的基质 λλ 1 0 λλ 1 0 0 λ 1 0 0 λλ 1 0 0 0 λ 1 0 0 0 λ 1 0 0 0 λ... 如果λ 0,则ñ一种

λλ10λλ100λ100λλ1000λ1000λ1000λ
λ0ñ这些块的次方是 下面是我们如何得这些式:写块作为=λ+ÑN的连续幂是矩阵的连续次要对角线。使用二项式定理(利用λN交换的事实), Bn=λ+nN=λ
λñλññλñ-10λñλññλñ-1ñ2λñ-20λññλñ-100λñλññλñ-1ñ2λñ-2ñ3λñ-30λññλñ-1ñ2λñ-200λññλñ-1000λñ
=λ+ññλñλ=0时,该块是幂等的,我们得到以下矩阵(如果n=k,则符号[n=k]1,否则为0): [ n = 0 ] [ n = 0 ] [ n = 1 ] 0 [ n = 0
ñ=λ+ññ=λñ+ñλñ-1ñ+ñ2λñ-2ñ2+
λ=0[ñ=ķ]1ñ=ķ0
[ñ=0][ñ=0][ñ=1]0[ñ=0][ñ=0][ñ=1][ñ=2]0[ñ=0][ñ=1]00[ñ=0][ñ=0][ñ=1][ñ=2][ñ=3]0[ñ=0][ñ=1][ñ=2]00[ñ=0][ñ=1]000[ñ=0]

一种ññķλñ-ķ[ñ=ķ]

s大号ñ=一世p一世ñλ一世ñ+ĴCĴ[ñ=Ĵ]
λ一世CĴp一世ñ
s大号ñ=一世p一世ñλ一世ñ

s大号ñλ一世λ1

s大号ñ=p1ñλ1ñ1+Ø1
λds大号ñdλdp0pd-1λ0λd-1
s大号ñ=ñpñdλñdñ1+Ø1

8

大号Σ

大号ž=ñ0|大号ñ|žñ

大号ñ=大号Σñ|大号ñ|=s大号ñ

大号ž

Pžž

P大号大号ž

|大号ñ||大号ñ|ññ


大号ñ

1
@Gilles Analytic Combinatorics,艾伦伯格的书籍,贝斯特尔
uli 2012年


1
ž=1ķñ0

1
@Raphael是的,我的想法是相似的...在定理的表述中,如果它对有限语言不成立,这似乎是一个相当严重的缺点,因为(a)有限语言是规则的,(b)定理这意味着有限的语言不是正常的,并且(c)确定一种语言是否是有限的(通常)是不确定的……我的意思是,Myhill-Nerode和抽水引理没有这个问题;它们适用于有限的语言。
Patrick87
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.