当前位置:  开发笔记 > 人工智能 > 正文

最小化列表上的特殊功能的总和

如何解决《最小化列表上的特殊功能的总和》经验,为你挑选了1个好方法。

假设我有一个列表,我希望它被安排,以便在其连续元素上运行的某个函数的总和最小.

例如,考虑整个列表中连续对的列表{ 1, 2, 3, 4 }和总和.即..通过检查,当列表被安排为时,达到最小总和.a^b(a,b)1^2 + 2^3 + 3^4 = 90{ 2, 3, 1, 4 } => (2^3 + 3^1 + 1^4 = 12

注意,总和不是循环的(即,我没有考虑last^first),并且顺序很重要(2^3 != 3^2),也a^b可以是在任意数量的连续元素上运行的任何函数.

这样的算法是否有名称,是否有实现它的既定方法?

编辑:我已经重新编写了问题,因为我错误地将此标记为排序问题.正如所指出的,这更像是一个优化问题.



1> mfx..:

"排序"通常使用二进制比较运算符("小于或等于")来定义.您正在寻找的是列表的"最佳"排列,其中"最佳"被定义为在整个列表上定义的标准(而"特定函数"在邻居元素上定义,整个列表中的总和)使它成为一个全球财产).

如果我理解正确,"旅行推销员"就是你问题的一个例子,所以无论如何你的问题都是NP-complete ;-)

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有