Questions tagged «subset-sum»

3
子集总和与子集乘积(强与弱NP硬度)
我希望有人能够向我解释为什么子集乘积问题恰好是NP难题,而子集和问题却是弱NP难题。 子集和:鉴于和,确实存在一个子集使得。X={x1,...,xn}X={x1,...,xn}X = \{x_1,...,x_n\}TTTX′X′X'∑i∈X′xi=T∑i∈X′xi=T\sum_{i\in X'}x_i = T 子产品:鉴于和,确实存在一个子集使得。X={x1,...,xn}X={x1,...,xn}X = \{x_1,...,x_n\}TTTX′X′X'∏i∈X′xi=T∏i∈X′xi=T\prod_{i\in X'}x_i = T 我一直认为这两个问题是等效的-SS的实例可以通过取幂转换为SP实例,SP的对数可以通过对数转换为SS。这使我得出结论,它们都属于NP-hard的同一类-即它们都是弱NP-hard。 此外,似乎可以使用变化很小的动态编程(用SP中的除法代替SS中的减法)来解决相同的问题。 直到我读完Bernard Moret的“计算理论”第8章(对于那些没有这本书的人来说,它都有通过X3C证明子集产品硬度的证明-一个很强的NP难题)。 我了解这种减少,但无法弄清楚我先前的结论出了什么问题(两个问题相等)。 更新:结果表明子集乘积仅是弱NP完全的(目标乘积在是指数的)。加里(Gary)和约翰逊(Johnson)于1981年在《NP完整性》专栏中发表了这篇论文,但是我想它不如他们先前在书中声称的那样可见。Ω(n)Ω(n)\Omega (n)

1
子集和或NPP的整数关系检测?
有没有一种方法可以对子集和或数字分区问题的实例进行编码,以便对整数关系的(小)解能得出答案?如果不是绝对的话,那么从某种意义上说呢? 我知道LLL(也许还有PSLQ)在解决“低密度”区域中的子集和问题方面已经取得了一定的成功,在该区域中,选择的数字范围大于,但是这些方法不能很好地扩展到当选择的数字范围远小于2 N时,实例较大且在“高密度”区域中失败。这里,低密度和高密度是指解决方案的数量。低密度区域是指很少或根本没有解决方案,而高密度区域是指具有很多解决方案的区域。2N2N2^N2N2N2^N 在高密度区域中,LLL在给定的实例之间发现(小的)整数关系,但是随着实例大小的增加,发现该关系成为可行的子集总和或数字分区问题解决方案的可能性变得越来越小。 整数关系检测是在最佳指数范围内的多项式,而子集Sum和NPP显然是NP-Complete,因此通常这是不可能的,但是如果随机地均匀绘制实例,这是否会使它更简单? 还是我什至不问这个问题,而是问是否有办法代替最优计算来减少最优答案的指数界限?

1
PARTITION的另一个变体
我将以下分区问题简化为某个调度问题: 输入:以非降序排列的正整数列表。a1⩽⋯⩽ana1⩽⋯⩽ana_1\leqslant\cdots\leqslant a_n 问题:是否存在向量(x1,…,xn)∈{−1,1}n(x1,…,xn)∈{−1,1}n(x_1,\ldots,x_n)\in\{-1,1\}^n这样 ∑i=1naixi=0and∑i=1naixi=0and\sum_{i=1}^na_ix_i=0\qquad\text{and} ∑i=1kaixi⩾0for all k∈{1,…,n}∑i=1kaixi⩾0for all k∈{1,…,n}\sum_{i=1}^ka_ix_i\geqslant 0\quad\text{for all }k\in\{1,\ldots,n\} 如果没有第二个条件,它只是PARTITION,因此是NP难的。但是第二个条件似乎提供了很多其他信息。我想知道是否有确定此变体的有效方法。还是很难?

1
DAG子集总和可近似吗?
我们给出一个向无环图与每个顶点相关联的号码(克:V → Ñ)和目标数Ť ∈ Ñ。G=(V,E)G=(V,E)G=(V,E)g:V→Ng:V→Ng:V\to \mathbb{N}T∈NT∈NT\in \mathbb{N} 该DAG子集和问题(可能以不同的名称存在,参考值将是巨大的)询问是否有顶点,使得Σ v 我克(v 我)= Ť,和v 1 → 。。→ v k是G中的路径。v1,v2,...,vkv1,v2,...,vkv_1,v_2,...,v_kΣvig(vi)=TΣvig(vi)=T\Sigma_{v_i}g(v_i) = Tv1→..→vkv1→..→vkv_1\to..\to v_kGGG 这个问题通常是NP-完全的,因为完整的传递图会产生经典的子集和问题。 DAG子集和问题的近似算法是具有以下属性的算法: 如果存在总和为T的路径,则算法返回TRUE。 如果没有路径总结到之间的数字和Ť一些Ç ∈ (0 ,1 ),则该算法返回FALSE。(1−c)T(1−c)T(1 − c)TTTTc∈(0,1)c∈(0,1)c\in (0,1) 如果存在一个总和为和T之间的数字的路径,则该算法可以输出任何答案。(1−c)T(1−c)T(1 − c)TTTT 对于所有子集总和在多项式时间内都是近似的。c>0c>0c>0 DAG-Subset-Sum是否相同?

1
ETH之类的障碍
我们知道下ËŤHETHETH我们不能解决ķKK -sum在F(K)p Ô 升ÿ(n K)f(K)poly(nK)f(K)poly(nK)下的任何功能时F(K)f(K)f(K)(通常2O(K)2O(K)2^{O(K)})。 是否有任何猜想防止(logn)O(K)(log⁡n)O(K)(\log n)^{O(K)}的复杂性(这是可能性完全一致的K=Ω(n)K=Ω(n)K=\Omega(n),我们需要指数时间子集和)或允许这种可能性大吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.