Optimization 最大化整数和的组合数
基本上,给定一个正非零数的排序列表,例如{1,4,5},更改列表中的单个数字以最大化可能的不同组合。以上给出 1、4、5、6、9、10,即六种组合。如果我们把4改成2,我们有{1,2,5},我们会得到1,2,3,5,6,7,8,也就是说,七个组合 我需要找到一个数字x来添加到列表的单个数字中,以最大化组合的数量。x应该是最小的abslout值,我们可以加或减 我使用枚举的蛮力完成了它,它在指数时间内运行了很多次。因此,这对于更大的问题是不可行的。现在我需要快点做 仅仅检查组合的数量就是指数时间?我必须找到精确的最优解 解决这个问题的一些关键词是什么?我试图找到一个循环,所以我可以使用动态规划和某种分支,并限制爆炸,但没有用Optimization 最大化整数和的组合数,optimization,combinatorics,Optimization,Combinatorics,基本上,给定一个正非零数的排序列表,例如{1,4,5},更改列表中的单个数字以最大化可能的不同组合。以上给出 1、4、5、6、9、10,即六种组合。如果我们把4改成2,我们有{1,2,5},我们会得到1,2,3,5,6,7,8,也就是说,七个组合 我需要找到一个数字x来添加到列表的单个数字中,以最大化组合的数量。x应该是最小的abslout值,我们可以加或减 我使用枚举的蛮力完成了它,它在指数时间内运行了很多次。因此,这对于更大的问题是不可行的。现在我需要快点做 仅仅检查组合的数量就是指数时间?
我研究了一些问题,比如,和许多其他的组合优化问题,看看我是否能找到一些想法。但我不明白。简单地验证解决方案就是指数时间。这只是一个尝试,我没有写过代码,甚至没有做过任何证明 <>因为你只限于改变一个值,我会认为消除组合的最简单方法(我知道你不想做,但是听我说)是让两个数字总计达列表中的另一个数字。因此,在您的示例中,
1 4 5
,因为1+4=5
您失去了组合。因此,我将对数字集进行查询,以确定哪些数字对会导致该集的另一个成员。这是O(n^2 lg n)
当您将每个数字与每个其他数字进行比较时,同时搜索(排序)数字列表以查找它是否存在
您的候选人是“碰撞”次数最多的候选人。简单地说,通过将最高的易碰撞数设置为零碰撞数,最终结果将得到最大的增加。从这里开始,只需找到要添加/减去的数字,使其成为无冲突的数字。我还没有找到正确的方法来实现这一点,但我怀疑它可以通过多项式时间内的动态规划来实现
还有一个严重的问题,你有关系。我认为在最坏的情况下,这会给您的复杂性增加一个额外的*n
,因为您最多可以同时搜索n
链接。因此,假设你可以在n^p
时间内计算上述问题,其中p是一个常数多项式,那么整个问题仍然可以在n^(p+1)
时间内求解
这无疑是一个非常糟糕的问题,我希望这能给我们带来一些启示。两个月后,总得有人尝试一下,对吗?:) 假设问题是:对于n的任何值,n个正整数给出的最大组合数是多少。这个问题的答案是:2^0,2^1,2^2。。。2^(n-1) 证据很简单,因为:
- 使用此集合,可以创建介于2^0和(2^n)-1之间的每个整数
- 该集合的和为(2^n)-1
如果这些观察结果经得起检验,我想它们不会太难证明。即使你不能证明它们,它们也可能给你一个有效的算法。注意,2^|numberset |是你的上限(如果你包括空子集)。确保这一点的一种方法(显然不总是可能的)是使集合中的每个数字都是某个特定整数的不同幂。(+1)有趣的问题。我只希望在拼写和语法方面多做些努力,这样就不需要另外三个人来编辑它,从而使它成形。目标是将集合中另一个数字的数字组合最小化吗?例如,您的第一组数据只能得到改进,因为其中两个数字加起来已经是第三组了?您可以看看如何使用Excel的解算器为您完成这项艰巨的工作。看看这个类似的问题,我认为你的证明不完整。对于任何
x
的系列x^i
具有相同数量的唯一功率集和,不是吗?也许我应该提到,任何x^i系列都具有相同的最大组合数。2^i系列的唯一性在于组合是连续的整数系列。事实上,任何x(n)+x(n+1)