Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Optimization 最大化整数和的组合数_Optimization_Combinatorics - Fatal编程技术网

Optimization 最大化整数和的组合数

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、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

考虑{1,2,4}。组合为:1、2、1+2、4、1+4、2+4和1+2+4。1+2+4=7

这似乎是合理的建议,对于任何一个集合,通过使集合尽可能类似于2^0,2^1

我不知道“尽可能相似”是什么意思。然而,{1,2,5}更接近于{1,2,4},即{1,4,5}。对于你用暴力调查过的其他场景,这是真的吗

我注意到{1,2,5}距离{1,2,4}有一个距离,并且少了一个组合。这是巧合吗


如果这些观察结果经得起检验,我想它们不会太难证明。即使你不能证明它们,它们也可能给你一个有效的算法。

注意,2^|numberset |是你的上限(如果你包括空子集)。确保这一点的一种方法(显然不总是可能的)是使集合中的每个数字都是某个特定整数的不同幂。(+1)有趣的问题。我只希望在拼写和语法方面多做些努力,这样就不需要另外三个人来编辑它,从而使它成形。目标是将集合中另一个数字的数字组合最小化吗?例如,您的第一组数据只能得到改进,因为其中两个数字加起来已经是第三组了?您可以看看如何使用Excel的解算器为您完成这项艰巨的工作。看看这个类似的问题,我认为你的证明不完整。对于任何
x
的系列
x^i
具有相同数量的唯一功率集和,不是吗?也许我应该提到,任何x^i系列都具有相同的最大组合数。2^i系列的唯一性在于组合是连续的整数系列。事实上,任何x(n)+x(n+1)