2011-10-07 108 views
0

Python中是否有模块用遗传算法近似给定函数(a)以接收函数(b),该函数使用相同的输入产生相同或相似的输出?为什么近似?函数(a)的工作原理未知。所以基本上算法应该做的是最小化由函数(a)和变异函数(b)产生的样本值的偏差。有任何想法吗?遗传算法近似函数

例子:

1.Iteration: 
f(a): 0 -> 5, 1 -> 3, 2 -> 7 
f(bi): 0 -> 4, 1 -> 6, 2 -> 3 
devi:  1  3  4 
sum(devi): 8 
... 
f(bn): 0 -> 3, 1 -> 2, 2 -> 1 
devn:  2  1  4 
sum(devn): 7 ------------> 'fitter function - use for mutation' 

mutate f(b): 

2.Iteration: 
f(a): 0 -> 5, 1 -> 3, 2 -> 7, ... 
f(bi): 0 -> 5, 1 -> 6, 2 -> 3, ... 
devi:  0  3  4 
... 
+0

你确定遗传算法的一部分?有许多很好的非遗传函数逼近算法。如果你更明确地陈述了你的问题约束(最好是什么样的函数来近似输入函数?)。 – thiton

+0

我不会猜测任何逼近函数。 – user366121

+0

然后,一个N次多项式(N是a中的点数)就足够了。有numpy求解方程系统(X * A = Y,其中A是参数,X_ij =“第j个幂的输入”,Y是输出值),然后就完成了。 – thiton

回答

2

什么你看着的是所谓Extrapolation

这样做的算法很多,他们只是数学,所以他们可以很容易地实现。

如果你想创建一个将在同一范围内输入的模拟与第一个功能,您可以使用Interpolation这是有点相同,但具有更好的精度,因为有限的范围内的。