首页 新闻 会员 周边 捐助

二维数组,求标准差最小值的取法

0
悬赏园豆:100 [待解决问题]

对于一个二维数组,每一列取一个数,然后求它们的标准差,最后输出标准差最小的值以及取法。

一天、又的主页 一天、又 | 初学一级 | 园豆:102
提问于:2021-07-12 17:52

贪心算法,遗传算法都可以尝试,但是都是很容易陷入局部最优解。所以想请教一下大神有无动态规划的思路。

一天、又 3年前
< >
分享
所有回答(3)
0

我觉得循环就好了,暂时没有想到更好的办法。还有什么别的附加要求吗?

会长 | 园豆:12463 (专家六级) | 2021-07-13 08:38

因为我要输出一个最优解,但是标准差最小的话是要求所有的数尽可能接近的,而我理解的循环话每次估计只能取一个数或者更换一个数(类似于迭代)使得标准差下降,但是这样我觉得并不能取到最优解。

支持(0) 反对(0) 一天、又 | 园豆:102 (初学一级) | 2021-07-13 14:07

@一天、又: 有啥好想法了,再回来告诉我们啊。我是没想到

支持(0) 反对(1) 会长 | 园豆:12463 (专家六级) | 2021-07-14 17:35
1

这种取法好像是配对的问题, 可以考虑用匈牙利算法进行取值

熊泽-学习中的苦与乐 | 园豆:2272 (老鸟四级) | 2021-07-13 08:56

谢谢,能给更具体的思想吗,我也先去看看

支持(0) 反对(0) 一天、又 | 园豆:102 (初学一级) | 2021-07-13 14:08
0

不擅长算法,但看题目,方差/标准差基本要的是波动小。。
那么:循环第一个元素的数组,以每一个元素为标准,从其他数组里取跟他差值(的绝对值?)最小的一个元素。最终看取的哪一组的标准差最小,我觉得这应该就是标准差最小的了吧?
比如:

[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
第一步,先取出第一个数组[1,2,3,4]
第二步,循环这个数组,以每一个元素为标准,从其他数组里都找到跟他差值(的绝对值?)最小的,比如先取1,从第二个数组取出的应该是5,因为这两个的差值的绝对值最小,第三个取9,第四个取13,然后1,5,9,13取标准差
第三步,取出4个标准差以后找到最小的标准差就是要找的结果吧?

顾晓北 | 园豆:10898 (专家六级) | 2021-07-13 14:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册