Questions tagged «approximation-algorithms»

有关逼近算法的问题。

3
通过算法返回均匀随机解获得最佳逼近率的问题是什么?
通过返回均匀随机解的算法获得的最近似逼近率有哪些问题? 我知道置换流水车间问题这样一个例子:在论文“ 对置换流水车间调度较小的范围 Viswanath Nagarajan和格言Sviridenko”证明的工作是随机序列有保证2 √F|perm|CmaxF|perm|CmaxF|perm|C_{max}(m-机器数和n-作业数)是目前最著名的。2min{m,n}−−−−−−−−−√2min{m,n}2\sqrt{min\{m,n\}}mmmnnn

3
是否存在在线算法来跟踪变化的无向图中的组件?
问题 我有一个无向图(带有多边),它会随着时间而变化,可能会插入和删除节点和边。在对图进行每次修改时,我都必须更新该图的连接组件。 物产 其他特性是,不会再有两个组件被重新连接。显然,该图可以具有任意数量的循环(否则该解决方案将是微不足道的)。如果边缘不包含节点n,则它将永远不会采用该节点。但是,如果Ñ ∈ Ë,它可以改变ñ ∉ Ë。eeennnn∈en∈en \in en∉en∉en \notin e 方法 到目前为止,我有两种可能的方法,但是如您所见,它们很可怕: 慢无状态 我可以每次从修改后的元素开始搜索(dfs / bfs)图形。这样可以节省空间,但速度很慢,因为每次修改的O(n + m)为。 有状态快速(-er)(?)方法 我可以存储每个节点到所有可能节点的所有可能路径,但是如果我正确看到它,则会占用O(n ^ 4)内存。但是我不确定运行时的改进如何(如果有的话,因为我必须使同一组件中每个节点的信息都保持最新)。 题 您是否有任何指点,如何了解有关该问题的更多信息,或者可以建立一些算法? 注意 如果运行时/内存有了很大的改进,我可以使用非最佳解决方案,该解决方案有时会说两个组件是一个组件,但是我当然更喜欢一个最佳解决方案。


2
查找在汉明距离下接近的所有值对
我有几百万个32位值。对于每个值,我想查找汉明距离为5的所有其他值。在幼稚的方法中,这需要比较,这是我想避免的。O(N2)O(N2)O(N^2) 我意识到,如果我只是将这些32位值视为整数,并对列表进行一次排序,那么只有最低有效位不同的值最终会非常接近。这使我可以使用较短的“窗口”或数字范围,在其中可以对确切的汉明距离执行实际的成对比较。但是,当2个值仅在高阶位中发生变化时,它们最终将在此“窗口”之外并出现在已排序列表的相对两端。例如 11010010101001110001111001010110 01010010101001110001111001010110 即使它们的汉明距离为1,也将相距甚远。由于两个值之间的汉明距离都在旋转时得以保留,因此我认为通过进行32次左旋转然后每次对列表进行排序,很可能两个值在至少其中之一的排序列表中将足够接近结束。 尽管这种方法给我带来了良好的效果,但我仍在努力正式确定这种方法的正确性。 假设我正在寻找汉明距离为或更小的匹配值,是否真的需要进行所有32位旋转?例如,如果k = 1并且我的窗口大小是1000,则我需要以最大24位旋转角度进行操作,因为即使杂散位出现在8个低阶位中的任何一个中,所得到的数字相差也不会超过1000。kkkk=1k=1k=1


5
是否存在任何基于梯度下降的技术来搜索多维空间中函数的绝对最小值(最大值)?
我熟悉梯度下降算法,该算法可以找到给定函数的局部最小值(最大值)。 在函数具有多个局部极值的情况下,是否可以对梯度下降进行任何修改以找到绝对最小值(最大值)? 是否有通用的技术,如何增强可以找到局部极值的算法来找到绝对极值?

1
为什么NP完全问题没有相似的近似率?
由于2个NP完全问题在定义上可以彼此简化,因此可以通过使用黑盒解决另一个问题来解决其中一个问题,为什么它们的逼近率不相似(请参阅它们的优化对等物) )?我猜想也许可以理解一些常数甚至多项式漂移,但是对于某些NP完全问题,我们有常数因数近似算法的情况,另一方面,对于多项式比率近似算法甚至无法近似的其他问题,例如一般的TSP?谢谢

2
平均失真嵌入
考虑两个度量空间和,和嵌入。传统度量空间嵌入将的质量作为原始距离与最终距离的最坏情况之比来测量: (X,d)(X,d)(X, d)(Y,f)(Y,f)(Y, f)μ:X→Yμ:X→Y\mu : X \rightarrow Yμμ\muρ=maxp,q∈X{d(x,y)f(μ(x),μ(y)),f(μ(x),μ(y))d(x,y)}ρ=maxp,q∈X{d(x,y)f(μ(x),μ(y)),f(μ(x),μ(y))d(x,y)} \rho = \max_{p,q \in X} \{ \frac{d(x,y)}{f(\mu(x), \mu(y))}, \frac{f(\mu(x), \mu(y))}{d(x,y)} \} 不过,还有其他质量度量标准:Dhamdhere等人研究了“平均”失真: σ=∑d(x,y)∑f(μ(x),μ(y)).σ=∑d(x,y)∑f(μ(x),μ(y)). \sigma = \frac{\sum d(x,y)}{\sum f(\mu(x), \mu(y))}. 但是,我在这里感兴趣的度量是类似MDS的方法所使用的度量,它查看平均加法误差: ε2=∑|d(x,y)−f(μ(x),μ(y))|2ε2=∑|d(x,y)−f(μ(x),μ(y))|2 \varepsilon^2 = \sum | d(x,y) - f(\mu(x), \mu(y))|^2 尽管类MDS方法在theoryCS社区之外进行了广泛的研究,但我只知道有一篇论文(由Dhamdhere等人进行过)研究了在这种情况下的优化,并且对于嵌入到行中的有限问题(Y=RY=RY = \mathbb{R})(边注:TASOS Sidiropoulos' 2005年硕士论文具有早期工作的好的评论) 在这种错误观念下,人们是否意识到关于严格质量分析的最新工作?虽然这些问题通常很难解决,但我更感兴趣的是任何近似值。

4
尺寸减少而松弛?
约翰逊-Lindenstrauss引理表示大致是,对于任何集合的Ñ在点- [R d,存在地图˚F :- [R d → [R ķ其中ķ = Ö (日志ñ / ε 2)使得对于所有X ,ÿ ∈ 小号: (1 − ϵ )| | f (x )− f (y )| | SSSnnnRdRd\mathbb{R}^df:Rd→Rkf:Rd→Rkf:\mathbb{R}^d \rightarrow \mathbb{R}^kk=O(logn/ϵ2)k=O(log⁡n/ϵ2)k = O(\log n/\epsilon^2)x,y∈Sx,y∈Sx, y \in S 据了解,类似的语句是不可能的 ℓ 1度,但如果通过提供担保较弱各地获得这种下限的任何方式,知道了吗?例如,可以存在是用于上述引理的版本 ℓ 1(1 − ϵ )| | F(x )− …

2
有什么快速算法可以解决最小成本的反馈弧集问题?
在有向图中,,如果是DAG(有向无环图),则称为反馈弧集。 ˚F ⊂ Ë ģ ∖ ˚F ˚FG = (V,E)G=(V,E)G=(V,E)F⊂ èF⊂EF\subset E摹∖ ˚FG∖FG\setminus FFFF 如果每个边缘与一个权重相关联,最小成本反馈弧集问题是要找到一个使得为最小。F W (F )wwwFFFw ^(F)W(F)W(F) 众所周知,最小反馈弧集问题是最小的,NP最小成本反馈弧集问题也是如此。我想知道是否有人知道表现良好的近似算法,以及权重函数的任何特性都可以产生快速求解器。

4
精确算法中使用的近似算法
近似算法可能会给输出带来一定的恒定因子。这比精确算法要令人满意的多。 但是,时间复杂度忽略了恒定因素。 所以我想如果下面的诀窍是可能的,或者使用,解决了一些问题,:乙∘ 一B∘AB \circ A 使用近似算法求解问题以得到常数因子之内的解S;一个AA小号SS 使用精确的算法来解决问题,其运行时间取决于S的权重,但是只要S是正确的解决方案就可以使用。乙BB小号SS小号SS 这样,近似值是精确算法的“子过程”,并且在步骤2中吞噬了在步骤1中丢失的常数因子。


1
仅使用近似最大查询来找到近似argmax
考虑以下问题。 有未知值。任务是仅使用以下形式的查询来找到最大的索引。查询由集合,对应的答案是。目标是使用尽可能少的查询。nnnv1,⋯,vn∈Rv1,⋯,vn∈Rv_1, \cdots, v_n \in \mathbb{R}S⊆{1,⋯,n}S⊆{1,⋯,n}S \subseteq \{1,\cdots,n\}maxi∈Svimaxi∈Svi\max_{i \in S} v_i 这个问题很容易:我们可以使用二进制搜索通过O(logn)O(log⁡n)O(\log n)查询来找到argmax 。即用nnn叶子对应索引建立一个完整的二叉树。从根开始,然后按以下步骤走到一片叶子。在每个节点上,查询左右子树中的最大值,然后移到答案较大的一侧的子级。到达叶子后,输出其索引。 我的研究提出了以下该问题的嘈杂版本。 有nnn未知值v1,⋯,vnv1,⋯,vnv_1, \cdots, v_n。这些可以通过查询来访问,其中指定了一个S⊆{1,⋯,n}S⊆{1,⋯,n}S \subseteq \{1, \cdots, n\},并从N(maxi∈Svi,1)N(maxi∈Svi,1)\mathcal{N}(\max_{i \in S} v_i,1)中返回了一个样本。目标是在\ {1,\ cdots,n \}中标识i_ * \,以i∗∈{1,⋯,n}i∗∈{1,⋯,n}i_* \in \{1, \cdots, n\}使E[vi∗]≥maxivi−1E[vi∗]≥maxivi−1\mathbb{E}[v_{i_*}] \geq \max_i v_i - 1使用尽可能少的查询。(期望超过了i_ *的选择i∗i∗i_*,这取决于算法的代币和嘈杂的查询答案。) 假设我们尝试使用与以前相同的二进制搜索策略(但带有嘈杂的答案)解决此问题。可以很容易地证明它达到E[vi∗]≥maxivi−O(logn)E[vi∗]≥maxivi−O(log⁡n)\mathbb{E}[v_{i_*}] \geq \max_i v_i - O(\log n)并且在最坏的情况下这很严格。我们可以通过将每个查询重复O(\ log ^ 2 …

2
寻找Borsuk-Ulam点的复杂性
所述博苏克-乌拉姆定理说,对于每一个连续的奇函数从n球体成欧几里得正空间,有一个点X 0,使得克(X 0)= 0。gggx0x0x_0g(x0)=0g(x0)=0g(x_0)=0 Simmons和Su(2002)描述了一种使用Tucker引理逼近点方法。但是,尚不清楚它们的方法的运行时复杂度是多少。x0x0x_0 假设给定函数的oracle,并且逼近因子ϵ &gt; 0。什么是以下项的运行时复杂度(作为n的函数):gggϵ&gt;0ϵ&gt;0\epsilon>0nnn 找到一个点这样| g (x )| &lt; ϵ?xxx|g(x)|&lt;ϵ|g(x)|&lt;ϵ|g(x)|<\epsilon 找到一个点,使得| x − x 0 | &lt; ϵ,当x 0是满足g (x 0)= 0的点时?xxx|x−x0|&lt;ϵ|x−x0|&lt;ϵ|x-x_0|<\epsilonx0x0x_0g(x0)=0g(x0)=0g(x_0)=0

1
在给定点集上估计多项式的算法有哪些结果?
似乎有许多用于多项式同一性测试的随机算法,用于检查给定的多项式是否为零。是否有算法的结果对一组特定的点进行多项式估计?例如,这可能近似于多项式求出的这些点中的哪一部分为零,或者近似于这些点上的多项式的平均值?点集可以特定于算法。

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.