Questions tagged «ds.algorithms»

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

2
是否存在已知的NP完全问题,既没有强意义上的NP难题,也没有伪多项式算法?
Garey和Johnson 在他们的论文(第503页)中评论: ...可能存在一个NP完全问题,从强意义上讲既不是NP完全问题也不是可以用伪多项式时间算法解决的问题... 有谁知道上述属性的一些候选问题? 我认为这个问题的可能答案可能是通常意义上的NP完全问题的列表,因此没有伪多项式算法可知。

1
对于线性程序的近似解,最佳的时间/错误权衡是什么?
具体而言,请考虑用于解决两人零和游戏的LP,其中每个玩家有动作。假设回报矩阵每个条目的绝对值最大为1。为简单起见,我们不做任何稀疏假设。一ñnn一种AA 假设运行时可以近似该游戏的值。ŤTT 一种近似于此值的技术是乘法更新方法(在这种情况下称为无悔学习)。这给出了,其中隐藏了对数因子。〜ÔØ〜(n /吨----√)O~(n/T)\tilde O(\sqrt{n/T})Ø〜O~\tilde O 我不知道最著名的内点方法的错误情况到底是什么样子,但我猜该错误类似于。Ø (EXP(− T/ n3))O(exp⁡(−T/n3))O(\exp(-T/n^3)) 乘法更新方法给出的误差是的逆多项式。内点法给出的误差在成倍。因此,两者中最好的一个误差会逐渐减小一段时间,直到内部点赶上,之后误差突然从悬崖上掉下来。我的直觉是反对以这种方式进行最佳的时间/错误权衡。ŤŤTTŤTT 我的问题: 是否有一种用于近似线性规划的算法可以平滑时间/误差折衷曲线的角?也就是说,一种算法在可用时间参数的任何值上至少表现出两者中最好的,并且具有相对平滑的时间/误差折衷。一种结合内部点和乘法更新技术的智能方法,而不是两者中的更好方法,是获得这种算法的一种可能方法。 参考文献: 一般的乘法更新: http://www.cs.princeton.edu/~arora/pubs/MWsurvey.pdf 零和游戏的乘法更新: http://dx.doi.org/10.1016/0167-6377(95)00032-0 覆盖/打包LP的倍增更新: http://arxiv.org/PS_cache/arxiv/pdf/0801/0801.1987v1.pdf 原始内饰点纸: http://math.stanford.edu/~lekheng/courses/302/classics/karmarkar.pdf 从应用数学的角度看内点: Bertsekas的《非线性规划》,第4.1.1节。

2
'k'最频繁出现的数字的算法
我一直在寻找最有效的(streaming ??)算法,该算法可以告诉我在任何时间点数据流中最常出现的“ k”个元素。这篇文章:“分而治之”的数据流算法使我对此感兴趣。 例如,假设有数字:(4,3,5,1,6,2,4,3,3,8,9,1)并且我查询了3个最频繁出现的数字(例如),那么我应该得到(3,4,1)作为答案。 我尝试在线搜索,但找不到任何可以提供方法的地方,并说那是最好的。一个简单的解决方案是使用堆或平衡的二叉树,但是我认为有更好的方法,我想知道它是否在某处记录了。 编辑:我正在寻找一种始终能给出正确答案的算法,而不是依赖某种或其他方式依赖数据分布的混合算法(其中很多出现在搜索结果中)

22
在实践中最常使用哪种算法?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 哪种算法最常用? 请为每个答案编写一个算法,并尽量使答案简短(一两行)。


5
快速树宽算法
我想计算图的树宽。对于其他NP硬图问题,例如用于子图同构的VF2,确实有很好的启发法,例如在igraph中可用的代码。我在图形上尝试了它们,发现它们对我的数据运行非常快。 有没有类似的方法可以快速计算树宽?

5
是否可以测试可计算数字是有理数还是整数?
是否可以通过算法测试可计算数是有理数还是整数?换句话说,将有可能为图书馆实现可计算数提供的功能isInteger还是isRational? 我猜测这是不可能的,并且这在某种程度上与以下事实有关:无法测试两个数字是否相等,但是我看不出如何证明这一点。 编辑:可计算的数字xxx由函数给出,该函数fx(ϵ)fx(ϵ)f_x(\epsilon)可以返回精度为ϵ的的有理近似值:| x − f x(ϵ )| ≤ ε,对于任何ε > 0。鉴于这样的功能,就是可以测试,如果X ∈ Q或X ∈ ž?xxxϵϵ\epsilon|x−fx(ϵ)|≤ϵ|x−fx(ϵ)|≤ϵ|x - f_x(\epsilon)| \leq \epsilonϵ>0ϵ>0\epsilon > 0x∈Qx∈Qx \in \mathrm{Q}x∈Zx∈Zx \in \mathrm{Z}
18 computability  computing-over-reals  lambda-calculus  graph-theory  co.combinatorics  cc.complexity-theory  reference-request  graph-theory  proofs  np-complete  cc.complexity-theory  machine-learning  boolean-functions  combinatory-logic  boolean-formulas  reference-request  approximation-algorithms  optimization  cc.complexity-theory  co.combinatorics  permutations  cc.complexity-theory  cc.complexity-theory  ai.artificial-intel  p-vs-np  relativization  co.combinatorics  permutations  ds.algorithms  algebra  automata-theory  dfa  lo.logic  temporal-logic  linear-temporal-logic  circuit-complexity  lower-bounds  permanent  arithmetic-circuits  determinant  dc.parallel-comp  asymptotics  ds.algorithms  graph-theory  planar-graphs  physics  max-flow  max-flow-min-cut  fl.formal-languages  automata-theory  finite-model-theory  dfa  language-design  soft-question  machine-learning  linear-algebra  db.databases  arithmetic-circuits  ds.algorithms  machine-learning  ds.data-structures  tree  soft-question  security  project-topic  approximation-algorithms  linear-programming  primal-dual  reference-request  graph-theory  graph-algorithms  cr.crypto-security  quantum-computing  gr.group-theory  graph-theory  time-complexity  lower-bounds  matrices  sorting  asymptotics  approximation-algorithms  linear-algebra  matrices  max-cut  graph-theory  graph-algorithms  time-complexity  circuit-complexity  regular-language  graph-algorithms  approximation-algorithms  set-cover  clique  graph-theory  graph-algorithms  approximation-algorithms  clustering  partition-problem  time-complexity  turing-machines  term-rewriting-systems  cc.complexity-theory  time-complexity  nondeterminism 


3
随机性会为我们购买P内的任何东西吗?
令BPTIME(f(n))BPTIME(f(n))\mathsf{BPTIME}(f(n))为决策问题的类,该决策问题具有在时间运行的有界双向误差随机算法O(f(n))O(f(n))O(f(n))。 我们知道任何问题的Q∈PQ∈PQ \in \mathsf{P}使得Q∈BPTIME(nk)Q∈BPTIME(nk)Q \in \mathsf{BPTIME}(n^k),但?它的不存在被证明吗?Q∉DTIME(nk)Q∉DTIME(nk)Q \not \in \mathsf{DTIME}(n^k) 此处在cs.SE上提出了此问题,但未得到满意的答案。

2
从分隔符查询重构树
假设是一棵不知道其结构的恒定度树。问题是通过询问以下形式的查询来输出树:“节点是否位于从节点到节点的路径上?”。假设每个查询都可以由Oracle在固定时间内回答。我们知道的值,即树中节点的数量。目的是使输出树所需的时间最小化为。T x a b n nTTTTTTxxxaaabbbnnnnnn 是否存在针对上述问题的算法?o(n2)o(n2)o(n^2) 假设中任何节点的度数最大为3。TTT 我知道的 有直径的情况很容易。如果树的直径为,则可以得到分治算法:DDD 任何二叉树都有一个很好的分隔符,可以将树分成大小不小于1 / 3n的分量。 选择任何顶点x。如果它是一个很好的分隔符,则标签并递归。 找到x的所有3个邻居。 向节点数最多的邻居方向移动。与邻居重复步骤2。 由于找到分隔符最多需要步,因此我们得到了算法。O (n D log n )DDDO(nDlogn)O(nDlog⁡n)O(nD\log n) 一个随机化算法O(nlog2n)O(nlog2⁡n)O(n\;\log^2 n)。(从下面的评论中删除) 随机选择两个顶点x和y。它们以1/9的概率位于分隔符的相对侧。选择从到的路径的中间节点。看看是否是分隔符,如果不是,则执行二进制搜索。ÿxxxyyy 查找分隔符需要预期时间。这样我们得到了随机算法。O (nO(nlogn)O(nlog⁡n)O(n\;\log n)O(nlog2n)O(nlog2⁡n)O(n\;\log^2 n) 背景。我从一个在概率图形模型中工作的朋友那里得知了这个问题。上面的问题大致对应于使用一个预言机学习结点树的结构,该预言机在给定三个随机变量X,Y和Z的情况下,可以根据给定的Z值来判断X和Y之间的互信息的值。为零,我们可以假设Z位于从X到Y的路径上。

3
行列式模
什么是用于计算与系数的整数矩阵的行列式的已知有效的算法,残基的环模米。数米可能不是素数,但复合材料(以便计算在环执行,而不是一个场)。ž米Zm\mathbb{Z}_m米mm米mm 据我所知(请参阅下文),大多数算法都是对高斯消去算法的修改。问题是这些程序的计算效率。 如果碰巧有其他方法,我也对此感到好奇。 提前致谢。 更新: 让我解释一下这个问题的根源。假设,是质数。因此Z m是一个场。在这种情况下,我们可以使用小于m的数字执行所有计算,因此我们对数字的所有运算都有一些不错的上限:加法,乘法和求逆---运行高斯消除所需的所有运算。米mmZmZm\mathbb{Z}_mmmm 另一方面,在不是素数的情况下,我们无法对某些数字进行求逆。因此,我们需要一些技巧来计算行列式。mmm 现在,我很好奇完成这项工作的已知技巧是什么,以及是否可以在书籍和论文中找到这些技巧。

3
精确解决超弦
关于最短超弦问题的确切复杂度,人们知道什么?能比快解决吗?是否有已知的算法可以解决最短的超字符串而不降低到TSP?Ø∗(2ñ)O∗(2n)O^*(2^n) UPD: 抑制多项式因子。Ø∗(⋅ )O∗(⋅)O^*(\cdot) 最短超字符串问题是一个问题,其答案是最短字符串,其中包含给定字符串集中的每个字符串。问题是关于著名的NP难题最短超串的优化扩展(Garey和Johnson,第228页)。


3
使用
有多种算法可以在时间内解析上下文无关的语法。使用矩阵乘法,甚至可以渐近地进行。Ø (ñ3)Ø(ñ3)O(n^3) 但是,我知道的所有解析任意CFG的算法都具有的最坏情况的空间使用量(尽管,诚然,我不知道该矩阵乘法算法的空间使用量是多少)。我想知道是否有任何算法可以改善这种空间使用情况(因此不考虑时间限制)。Ω (n2)Ω(ñ2)\Omega(n^2) 在将与我所知道的所有CFG解析算法上绑定的空间联系起来后,这个问题突然在脑海。这可能没有实际意义,而只是我想了解的东西。C小号G = ND SP一 çË(Ñ )⊆ d 小号P一 çË(n2)C小号G=ñd小号P一种CË(ñ)⊆d小号P一种CË(ñ2)CSG = NDSPACE(n) \subseteq DSPACE(n^2)Ω (n2)Ω(ñ2)\Omega(n^2)

2
计算离散傅立叶变换的复杂性?
计算整数的向量的标准离散傅里叶变换的复杂度(在标准整数RAM上)是多少?ñnn 经典的算法快速傅立叶变换,不适当[1]归因于库利和Tukey,通常被描述为在运行时间。但是,此算法中执行的大多数算术运算均始于第个复数的单位根(对于大多数)是无理的,因此在恒定时间内进行准确的评估是不合理的。朴素的 -时间算法(乘以具有复数单位根的Vandermonde矩阵也会出现相同的问题。n n O (n 2)Ø (ñ 日志n )O(nlog⁡n)O(n \log n)ñnnñnnØ (ñ2)O(n2)O(n^2) 甚至还不清楚如何准确表示DFT的输出(以任何有用的形式)。换句话说,尚不清楚计算DFT实际上是否可行! 因此,假设我们在每个输出值中只需要位精度。 作为和的函数,计算离散傅里叶变换的复杂度是多少? (具体而言,请随意假设是的幂。)n b n 2bbbñnnbbbñnn222 还是文献中“ FFT”的每个实例实际上意味着“快速数论变换 ”?[2] 有关高斯消去和欧几里得最短路径的复杂性,请参阅我的相关问题。 [1]它应该真正被称为(Gauss-Runge-König-Yates-Stumpf-Danielson-Lánczos-Cooley-Tukey算法的(其前缀)。 [2]如果是这样,为什么大多数教科书只描述复数算法?

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.