有没有一种方法可以对子集和或数字分区问题的实例进行编码,以便对整数关系的(小)解能得出答案?如果不是绝对的话,那么从某种意义上说呢?
我知道LLL(也许还有PSLQ)在解决“低密度”区域中的子集和问题方面已经取得了一定的成功,在该区域中,选择的数字范围大于,但是这些方法不能很好地扩展到当选择的数字范围远小于2 N时,实例较大且在“高密度”区域中失败。这里,低密度和高密度是指解决方案的数量。低密度区域是指很少或根本没有解决方案,而高密度区域是指具有很多解决方案的区域。
在高密度区域中,LLL在给定的实例之间发现(小的)整数关系,但是随着实例大小的增加,发现该关系成为可行的子集总和或数字分区问题解决方案的可能性变得越来越小。
整数关系检测是在最佳指数范围内的多项式,而子集Sum和NPP显然是NP-Complete,因此通常这是不可能的,但是如果随机地均匀绘制实例,这是否会使它更简单?
还是我什至不问这个问题,而是问是否有办法代替最优计算来减少最优答案的指数界限?
我没有得到任何答案,所以我交叉张贴到mathoverflow:mathoverflow.net/questions/38063/...
—
user834
这是一个非常有趣的问题,我也在等待答案。您基本上是在要求从子集和或NPP到整数关系的多项式时间缩减(可能是随机的)。这个怎么样,如果是你的子集和问题的目标和小号是一个正整数的集合,用小号'满足解决方案0 = Σ 一∈ 小号'一个。这也正是一个线性组合的实系数等于1。如果为每个一我 ∈ š您有Σ 我一个我 < 2 Ñ -总有一个解决方案,到整数关系的映射也将为您提供解决方案。
—
Marcos Villagra
@Marcos Villagra:您的评论有点难以解析...可以将问题作为子总和/数字分区问题嵌入晶格中(请参阅此处以进行评论),问题是找到一种方法来将系数限制为所需的集合(例如0,1或-1,1)。LLL会找到整数关系,甚至是很小的关系,但仅2或3的系数就会使它无效,不能作为子集和/数分区答案。
—
user834 2010年