Questions tagged «ds.algorithms»

有关完成任务的明确指令的问题,以及有关时间/内存/等方面的相关分析。


5
固定一个整数时的整数乘法
令为大小为位的固定正整数。ñAAAnnn 允许对这个整数进行适当的预处理。 给定另一个大小为位的正整数,乘法的复杂度是多少?M A BBBBmmmABABAB 请注意,我们已经有算法。这里的查询是我们是否可以通过任何更聪明的方法使\ epsilon = 0?(max(n,m))1+ϵ(max(n,m))1+ϵ(\max(n,m))^{1+\epsilon}ϵ=0ϵ=0\epsilon=0

3
负切边最大切割
G=(V,E,w)G=(V,E,w)G = (V, E, w)w:E→Rw:E→Rw:E\rightarrow \mathbb{R}argmaxS⊂V∑(u,v)∈E:u∈S,v∉Sw(u,v)arg⁡maxS⊂V∑(u,v)∈E:u∈S,v∉Sw(u,v)\arg\max_{S \subset V} \sum_{(u,v) \in E : u \in S, v \not \in S}w(u,v)Ë ∈ Ëw(e)≥0w(e)≥0w(e) \geq 0e∈Ee∈Ee \in E 挑选顶点的随机子集。SSS 在顶点上选择一个顺序,然后贪婪地将每个顶点放置在或以最大化到目前为止切割的边小号ˉ 小号vvvSSSS¯S¯\bar{S} 进行局部改进:如果SSS中有任何顶点可以移动到S¯S¯\bar{S}以增加切割(反之亦然),则进行移动。 对所有这些算法的标准分析实际上表明,所得的割幅至少与\ frac {1} {2} \ sum_ {e \ in E} w(e)一样大12∑e∈Ew(e)12∑e∈Ew(e)\frac{1}{2}\sum_{e \in E}w(e),这是1/2的上限1/21/21/2如果www为非负数,则最大切割的权重-但是如果允许某些边缘具有负权重,则不是! 例如,算法1(选择顶点的随机子集)在带有负边权重的图上显然会失败。 我的问题是: 是否有一种简单的组合算法,可以对可具有负边权重的图的最大割问题得到O(1)近似值? 为了避免最大割取值0的可能发粘的问题000,我将允许∑e∈Ew(e)>0∑e∈Ew(e)>0\sum_{e \in E}w(e) > 0,并且/或者除可导致较小附加误差的算法外,还应予以满足乘法因子近似。

1
将n次多项式相乘
问题是要计算多项式。假设所有系数都适合一个机器字,即可以在单位时间内进行操作。(a1x+b1)×⋯×(anx+bn)(a1x+b1)×⋯×(anx+bn)(a_1 x + b_1) \times \cdots \times (a_n x + b_n) 您可以通过以树形式应用FFT 来进行次。你能做O (n log n )吗?O(nlog2n)O(nlog2⁡n)O(n \log^2 n)O(nlogn)O(nlog⁡n)O(n \log n)

8
我们应该教渐近增长率的哪个定义?
当我们按照标准教科书,或传统,我们大多数人教大哦符号的定义如下在算法类的第几章: 甚至我们甚至可以给出带有所有量词的整个列表:f=O(g) iff (∃c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n)).f=O(g) iff (∃c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n)). f = O(g) \mbox{ iff } (\exists c > 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \leq c \cdot g(n)). f=o(g) iff (∀c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n))f=o(g) iff (∀c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n))f = o(g) \mbox{ iff } (\forall c > 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \leq c \cdot g(n)) …

8
高阶算法
从它们的输入和输出是“普通”数据的意义上讲,大多数众所周知的算法都是一阶的。有些是简单的二阶方法,例如排序,哈希表或map和fold函数:它们是通过函数进行参数化的,但是除了在其他输入数据上调用它外,它们实际上并没有做任何有趣的事情。 有些也是二阶的,但更有趣: 由monoids参数化的手指树 在单调谓词上分裂手指树 前缀和算法,通常又用一个monoid或谓词等参数化。 最后,在我最感兴趣的意义上,有些是“真正的”高阶: Y组合器 差异清单 是否存在其他非平凡的高阶算法? 为了澄清我的问题,在“非平凡的高阶”下,我的意思是“在算法的接口和/或实现中以关键的方式使用计算形式主义的高阶设施”

11
P中问题的近似算法
人们通常会考虑近似求解(有保证)NP难题。是否有任何研究在逼近已知在P中的问题?由于多种原因,这可能是一个好主意。我的头顶上是一个近似算法,它可能以更低的复杂度(甚至是更小的常数)运行,可以使用更少的空间或可以更好地并行化。 同样,提供时间/精度权衡的方案(FPTAS和PTAS)可能对于P的问题具有很大的吸引力,而P的问题是下限,这对于大输入是不可接受的。 三个问题:有什么我想念的东西使这显然不是一个好主意吗?正在开发这些算法的理论吗?至少,如果不是,是否有人熟悉这种算法的各个示例?

3
给定一个加权dag,是否有O(V + E)算法用其祖先权重之和替换每个权重?
当然,问题在于重复计算。对于某些类的DAG =树,甚至是串行并行树,这很容易做到。我发现唯一可以在合理的时间内在一般DAG上运行的算法是一种近似算法(摘要扩散),但是提高精度的位数是指数级的(我需要很多位)。 背景:此任务是在BBChop(http://github.com/ealdwulf/bbchop)概率计算中完成的(多次使用不同的“权重”),该程序用于查找间歇性错误(例如,贝叶斯版本的“ git bisect')。因此,有问题的DAG是修订历史。这意味着边的数量不太可能接近节点数量的平方,对于小于k的节点,它可能小于节点数量的k倍。不幸的是,我没有发现修订版DAG的任何其他有用属性。例如,我希望最大的三连接组件仅随着节点数的平方根增长,但可悲的是(至少在linux内核的历史上)它线性增长。

1
Plotkin-Shmoys-Tardos和Arora-Kale求解器的玩具示例
我想了解Arora-Kale SDP求解器如何在近似线性时间内近似Goemans-Williamson松弛,Plotkin-Shmoys-Tardos求解器如何在近似线性时间内近似分数“包装”和“覆盖”问题,以及算法如何是“向专家学习”抽象框架的实例。 Kale的论文表现出色,但我发现直接进入抽象框架非常困难,我希望从一个简单问题的示例开始,对于该问题,绝对显而易见,然后再转到更一般的问题,逐步向算法及其分析中添加“功能”。 例如: Plotkin-Shmoys如何解决未加权顶点覆盖的线性编程松弛问题?加权顶点覆盖率?设置封面?双向匹配? Arora-Kale算法执行有趣操作的最简单示例是什么?如何计算图的拉普拉斯算子的最大特征值? (计算拉普拉斯算子的最大特征值等同于解决Max Cut的Goemans-Williamson SDP松弛的较弱版本的问题,在该问题中,您不希望每个向量的长度为一,而是希望平方和的标准是| V |。)

3
P中最难知道的自然问题?
我想知道,什么是(当前)最大数,这样就知道具有以下性质的自然问题:ķķk 已经找到该问题的算法。Ø (ñķ)Ø(ñķ)O(n^k) 对于任何固定的,对于同一问题,没有算法是已知的。(请注意,存在更快的算法,只是尚不知道,所以我不是在寻找经过验证的下限。)ø (Ñ ķ - ε)中号一个ÿϵ > 0ϵ>0\epsilon>0Ø (ñk − ϵ)Ø(ñķ-ϵ)O(n^{k-\epsilon})中号一个ÿ米一种ÿmay 问题描述本身不依赖于。(需要这种条件来排除参数化情况,例如“ 为常数在输入图中找到大小为的团”。)ķ ķķķkķķkķķk 从某种意义上说,这样的问题可能是最困难,已知的自然问题(关于最快的已知算法的指数)。PP\bf P

6
确定性困难的高效简单随机算法
我经常听到,对于许多问题,我们知道非常优雅的随机算法,但没有,或者只有更复杂的确定性解决方案。但是,我只知道几个例子。最突出 随机快速排序(以及相关的几何算法,例如用于凸包) 随机Mincut 多项式身份测试 克莱的度量问题 其中,如果不使用随机性,则仅多项式恒等性检验似乎非常困难。 您是否知道更多示例问题,其中随机解决方案非常优雅或非常有效,而确定性解决方案却并非如此?理想情况下,外行应容易激发问题(与多项式身份测试不同)。

2
在多项式时间内可以准确或近似地求解什么类型的数学程序?
我对连续优化文献和TCS文献感到困惑,因为它们无法有效解决哪些类型的(连续)数学程序(MP)。连续优化社区似乎声称可以有效解决所有凸程序,但我认为它们的“有效”定义与TCS定义不一致。 在过去的几年中,这个问题一直困扰着我,我似乎找不到一个明确的答案。我希望您能帮助我一劳永逸地解决这一问题:哪些类的MP可以在多项式时间内准确地求解,以及采用哪种方式;关于逼近我们在多项式时间内无法精确求解的MP的最优解的已知信息? 在下面,我对这个问题给出了不完整的答案,在某些地方也可能是不正确的,因此希望您能在我错的地方验证并纠正我。它还说明了一些我无法回答的问题。 我们都知道,通过运行椭球法或内点法,然后运行一些舍入过程,可以在多项式时间内精确地求解线性规划。线性规划甚至可以在面对具有任何超大量线性约束的LP系列时,通过变量数量的时间多项式求解,只要可以为其提供“分离预言”即可:给出一个点的算法,要么确定该点是否可行,要么输出一个将该点与可行点的多面体分开的超平面。类似地,如果面对具有任何超大量变量的LP系列,则对约束数量的时间多项式进行线性编程(如果为这些LP的对偶提供分离算法)。 如果目标函数中的矩阵是正(半)定的,则椭球法还能够在多项式时间内求解二次程序。我怀疑通过使用分离oracle技巧,如果我们要处理数量惊人的约束,在某些情况下我们也可以这样做。真的吗? 最近,半定型编程(SDP)在TCS社区中广受欢迎。可以使用内点法或椭球法将它们求解到任意精度。我认为,由于不能精确计算平方根的问题,所以不能完全解决SDP。(?)如果我说SDP有FPTAS,那会是正确的吗?我在任何地方都没有看到该说明,因此可能不正确。但为什么? 我们可以精确地解决LP和SDP的问题,达到任意精度。其他圆锥程序类别呢?我们可以使用椭球法求解任意精度的二阶锥程序吗?我不知道。 我们可以在哪些MP类上使用椭球法?这样的MP需要满足什么性质才能给出任意精度的答案?为了获得多项式时间的精确解,我们还需要什么其他性质?内点法也有同样的问题。 哦,最后,是什么导致连续优化器说凸程序可以有效地求解?是否可以在多项式时间内找到对凸程序的任意精度答案?我相信不会,那么它们对“效率”的定义在哪些方面与我们的定义不同? 任何贡献表示赞赏!提前致谢。

9
“看起来”确定性的随机算法?
是否有一个有趣的随机搜索算法示例,无论其内部随机性如何,该算法总是输出相同(正确)的答案,但会利用随机性,因此其预期运行时间比已知最快的运行时间要好确定性算法的问题? 特别是,我想知道是否有这样一种算法可以找到n和2n之间的质数。没有已知的多项式时间确定性算法。有一种简单的随机算法,该算法仅对间隔中的随机整数进行采样即可工作,这要归功于素数定理。但是,是否存在上述类型的算法,其预期运行时间介于两者之间? 编辑:为了稍微细化我的问题,我想要一个这样的算法来解决有很多可能正确输出的问题,而随机算法却依赖于其随机性。我意识到这个问题可能尚未完全说明。

5
次要排除图最容易实现什么?
使用Jung / Shah的算法,在次要排除图形上,近似着色的数量似乎很容易。还有哪些其他问题在普通图上很难解决,而在次要排除图上很容易解决? 更新10/24 似乎遵循了Grohe的结果,即在有界树宽图上测试的FPT公式是在次要排除图上测试的FPT公式。现在的问题是-它与计数满足该公式的赋值的易处理性有什么关系? 上面的陈述是错误的。在有界树宽图上,MSOL是FPT,但是在轻微排除的平面图上,三色性是NP完全的。

3
存在用于线性规划的强多项式算法的后果?
算法设计的一个重要方面是找到一种用于线性规划的强多项式算法,即一种算法,其运行时间在变量和约束的数量上由多项式来界定,并且与参数表示的大小无关(假设单位成本算法)。解决这个问题是否会对线性编程的更好算法产生影响?例如,这种算法的存在/不存在会对几何或复杂性理论产生任何影响吗? 编辑:也许我应该澄清后果的意思。我正在寻找数学上的后果或有条件的结果,这些暗示现在已经是正确的。例如:“针对BSS模型中LP的多项式算法将分离/折叠代数复杂度类别FOO和BAR”,或“如果没有强多项式算法,那么它将解决有关多位点的此类猜想”或“强多项式算法问题,X可以配制成LP将有有趣的结果等等 ”。Hirsch猜想将是一个很好的例子,除了它仅在单纯形为多项式的情况下适用。

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.