作为最终结果,我想要一个可以接受输入和输出列表的计算机程序,然后将相同的算法应用到另一个数字上的那些输入/输出中,即:
如果给出这个输入/输出列表
2:4
4:8
100:200
根据我们的需要,它会认识到算法是(输入* 2)或(输出/ 2)。
因此,如果给出数字16,并且要求产生输出,则程序将以32响应。如果给出数字10并且要求产生输入,则它将以5响应。
硬编码显然很简单。这个进入程序,虽然我想学习如何让程序自学这个算法是什么。我知道这会变得相当复杂。
答案 0 :(得分:1)
我会将此简化为依赖项,例如:
多项式达到某种程度
y=a0+a1*x+a2*x*x+a3*x*x*x
指数
y=a0+a1^x
其他
无论如何,我认为只有3个输入点是不够的
a0+a1*x+a2*x*x+a3*x*x*x=y
需要至少4个点首先,您应该确定它的依赖类型,然后尝试查找该特定函数生成器的系数。例如:
x0<x1<x2<x3,...
并输出y0,y1,y2,y3,..
k0=y0/x0,k1=y1/x1,...
k0<<k1<<k2<<k3<<...
或k0>>k1>>k2>>k3>>...
可能是指数依赖如果你有混合型信号,那么你需要更多的输入点来覆盖足够大的范围,并且可能需要某种approximation search个系数来最小化已知输入和生成输出之间的距离。如果您有足够的积分,您可以规范化数据集并使用correlation coefficient将其与支持的函数生成器进行比较,以简化决策
<强> [注释] 强>
所以你需要指定: