5、无幂语言增长性质研究

无幂语言增长性质研究

1 构建因子图与计算增长率

在处理无幂语言时,为了计算其增长率,我们可以对戈沃罗夫的方法进行改进。首先,我们会构建识别集合 $M’$ 的“因子字典树”,然后通过对 Aho - Corasick 过程的简单修改,直接从这个因子字典树构建因子图。具体来说,边 $u \xrightarrow{a} \cdots$ 的目标顶点是从初始顶点开始,由单词 $ua$ 的最长真后缀的字典序最小自同构像标记的路径的目标顶点。这样,因子图 $F(M)$ 就被构建为一个有限自动机。

这个改进后的过程可以在 $O(N \log N)$ 的时间内构建因子图,其中 $N$ 是因子字典树的大小。与 Aho - Corasick 自动机相比,构建因子图所需的空间和时间开销大约减少了 $|\Sigma|!$ 倍。这种改进方法具有很好的特性:
- 只要集合 $M$ 能存储在内存中,就可以计算语言 $L$ 的增长率。
- 如果 $M$ 是对称的,只要集合 $M’$ 能存储在内存中,就可以计算语言 $L$ 的增长率。

2 构建有限反字典

假设 $L$ 是一个 $\beta$ - 无幂语言,$M$ 是其反字典,我们需要计算 $Gr(L)$ 的上界 $Gr(L_i)$。根据前面的讨论,只需要找到字典序最小的禁止单词集合 $M_i’$ 即可。这对于大字母表上的语言尤为重要,因为 $|M_i’| \approx |M_i| / |\Sigma|!$,例如 4 字母字母表就已经算大字母表了。

构建有限反字典的算法性能可以通过以下标准评估:假设 $i$ 是使得因子字典树 $M_{i + 1}’$ 太大而无法存储在计算机内存中的最小数,能否在合理的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值