我遇到以下问题,我正在寻找有效的解决方案。
让我们考虑一组100个整数。我想找到最接近平均值的最大值子集和某些给定值的std(比如av
和std
)。
我看到的解决方案是计算所有可能的组合,然后根据平均距离和标准偏差之和选择最接近的组合(即样本平均值与给定平均值之间的距离之和+样本的标准偏差与给定的标准偏差之间的距离最小(每个总和具有权重))。
但是这个问题真的很慢,我正在考虑一些动态编程解决方案。
对于子集中的每个n
(n
- 元素,我们找到最合适的解决方案)。然后,我们比较每个最佳解决方案,从这一刻起,我们可以应用一些自定义标准来选择不同基数的最佳解决方案
任何提示?
修改
非常感谢您的回答。
实际上,在问题中已经说明,均值和标准差与初始集合X
无关。
定义的标准是L²-范数。
此外,我认为更好的规范将是“修改后的L2规范,赋予每个组件一个权重,即:
`
sqrt(sum | w_i x_i |²)
` - 其中W_i是用户定义的权重。