我有这两组数,我也有结果。是否可以计算它们之间的关系,以便我可以弄清楚结果是如何生成的?
例如我有:
A组=4 6 12 25 39 41 B组=3 7 14 26 47 48
结果是:2 24 29 31 32 49
是否有可能为此找出一个公式?如上所述,一种算法将这两个集合转换为一个结果集。基本上我想打破算法。
我有这两组数,我也有结果。是否可以计算它们之间的关系,以便我可以弄清楚结果是如何生成的?
例如我有:
A组=4 6 12 25 39 41 B组=3 7 14 26 47 48
结果是:2 24 29 31 32 49
是否有可能为此找出一个公式?如上所述,一种算法将这两个集合转换为一个结果集。基本上我想打破算法。
因此,如果我理解正确,那么您要的是:
答案当然是“是”,而且做起来也不是特别难。事实上,有无数种解决方案。想想,例如,如果你只有一个输入参数,并且给你一个点和值的序列。然后找到一个可以例如通过查看多项式来完成,即您试图找到一个多项式使得对于。这些是个方程,您可以通过求解线性系统来获得它们。
当然,如果您正在查看次多项式,那么将有无限多个多项式满足这些方程及其系数。这表明解决方案不是唯一的。
在 2d 中(输入)情况并不那么简单,因为不太清楚您需要在和方向分别取多少个系数。但是,例如,如果您在每个方向上取个系数,即那么你可以保证找到满足所有数据点的系数。系数中有无数个可以产生解,但是您可以例如采用线性系统的最小二乘解。同样,找到某种解决方案并不是特别困难。
如果您有很多数据点,则多项式插值不是一种稳定的方法。对于这种情况有更好的方法,但上面的想法表明,如果你在你正在寻找的函数类中留有足够的余地,那么找到任何解决方案并不是非常困难的。
当然,如此确定的是否与最初创建数据的函数有关,这是一个完全不同的问题。这不是一个只看三个数字序列就可以回答的问题。您将需要额外的信息,例如可用于确定预测的内容是否与额外输出匹配的额外数据点。如果它不匹配,那么您就知道您使用了错误的功能,并且必须是无数其他可能性之一;如果匹配,那么您所知道的就是您的函数正确地预测了这一点,但它并没有告诉您有关其他潜在点的任何信息。