有关 BM 算法求得的递推式的阶数最小性

P5487 【模板】Berlekamp–Massey 算法

@[wsyhb](/user/145355) 看了一下数据,你的数据存在初值的长度不小于递推式阶数的部分,而我代码中的做法(EI 的做法)是将数列拟合成有理分式 $\frac PQ$ $(\deg P < \deg Q)$,那确实会错(
by Aleph1022 @ 2022-07-14 14:34:05


不过由于原题题意不清,我也不清楚这样的数据是否合法。
by Aleph1022 @ 2022-07-14 14:37:30


@[Alpha1022](/user/75840) 抱歉,可能是我语文不好,请问“初值的长度不小于递推式阶数”是什么意思?
by wsyhb @ 2022-07-14 18:13:21


@[wsyhb](/user/145355) 就是对于一个 $m$ 阶的递推式,原数列除了初值 $a_0, \dots, a_{m-1}$ 以外,还有常数项不满足递推式。也就是可能需要超过 $m$ 个初值。 按照你的数据,会算出一个 $m+c$ 阶递推式但最高位系数是 $0$。
by Aleph1022 @ 2022-07-14 18:36:28


@[Alpha1022](/user/75840) 抱歉,看来我实在是太愚笨了,我还是不能理解您的“还有常数项不满足递推式”“可能需要超过 $m$ 个初值”是什么意思,能麻烦您再解释一下吗?(或许可以举个简单的例子?)/kel
by wsyhb @ 2022-07-14 19:49:18


@[wsyhb](/user/145355) 就是递推式可能不从 $a_m$ 开始满足,而是 $a_{m+c}$?
by Aleph1022 @ 2022-07-14 20:10:36


比如 $1,1,3,4,7,11,18,\dots$,从第四项开始满足 $f_i = f_{i-1} + f_{i-2}$,但第三项不满足。也就是前三项都应视作初值?
by Aleph1022 @ 2022-07-14 20:14:54


而能通过你的数据的代码会把它当成一个三阶递推式 $f_i = 1 \cdot f_{i-1} + 1 \cdot f_{i-2} + 0 \cdot f_{i-3}$。
by Aleph1022 @ 2022-07-14 20:17:35


@[Alpha1022](/user/75840) 懂了,谢谢! ~~我才意识到高次项的 $0$ 严格来说不能算进递推式的阶数。~~
by wsyhb @ 2022-07-14 20:50:08


注意数据加强版会有递推式为 $a_n=ka_{n-1}$ 的情况,多项式取模可能会错
by AFewSuns @ 2022-07-15 08:21:53


|