仅识别给定结果序列的生成器类型

时间:2015-08-13 05:30:10

标签: algorithm generator formula

不确定这是多么现实,但无论如何,比方说,我有一些数字序列:

1, 1, 2, 3, 5, 8, 13, 21

我是一个人类,对我来说很明显这是Fibonacci序列。

问题:是否有一些编程方法来确定创建此序列并在此序列中生成下一个值的生成器的性质?是否有可能确定用于生成所选序列的公式,至少有一些近似值?

2 个答案:

答案 0 :(得分:3)

不,没有。

有无数的公式可以产生无限数量的结果。

我甚至可以说,序列中的下一个数字is actually 42

公平地说,这根本不是一个愚蠢的问题。有一整个研究领域试图根据例子插入和预测函数的行为。它被称为machine learning

但是,由于我之前所说的原因,如果没有关于函数本身的任何进一步信息,就不可能预测未知函数的行为。

答案 1 :(得分:2)

是和否。正如已经观察到的,有无数可能的答案。但是,可以检查某些类型的发电机是否能够解释已知值。

E.g。可以通过查看第n个差异来测试多项式。其他类型的发生器可以通过将序列视为生成函数的系数并查看该g.f的第n个导数来进行测试。

请参阅OEIS Superseeker的说明,以简要讨论一些相关的想法,并查看学术文献(RATE,GFUN,extensions)。