Questions tagged «ds.algorithms»

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

10
#SAT解算器下载
任何人都可以指向一个或多个网站来下载#SAT求解器的有效实现吗?我对那些返回确切的解决方案计数而不是近似值的方法感兴趣。

1
“几乎容易”的NP完全问题
我们可以说,如果存在一种可以在几乎所有输入上正确确定L的多项式时间算法,则语言LLL是P密度封闭的。LLL A∈A∈A\in LΔALΔAL\Delta A甲大号大号limn→∞|(LΔA)∩{0,1}n|2n=0.limn→∞|(LΔA)∩{0,1}n|2n=0.\lim_{n\rightarrow\infty} \frac{|(L\Delta A) \cap \{0,1\}^n|}{2^n}=0.AAALLLLLL 注意,不必稀疏。例如,如果它具有 位字符串,则它仍将消失(以指数速率),因为。2 Ñ / 2 Ñ 2 Ñ / 2 / 2 Ñ = 2 - ñ / 2LΔALΔAL\Delta A2n/22n/22^{n/2} nnn2n/2/2n=2−n/22n/2/2n=2−n/22^{n/2}/2^n=2^{-n/2} 根据上面的定义,不难(人工地)构造为P-密度接近的NP-完全问题 。例如,令为任何NP完全语言,并定义。然后保留NP完整性,但最多具有位yes-instances。因此,对每个输入都回答“否”的简单算法将在几乎所有输入上正确地确定。它只会在n位输入的\ leq 1-2 ^ {-n / 2}小数上出错。LLL大号2L2={xx|x∈L}L2={xx|x∈L}L^2=\{xx\,|\, x\in L\}L2L2L^22n/22n/22^{n/2} nnnL2L2L^2≤1−2−n/2≤1−2−n/2\leq 1-2^{-n/2}nnn 另一方面,如果所有 NP完全问题都是P密度接近的,那将是非常令人惊讶的 。从某种意义上讲,这意味着所有NP完全问题几乎都是容易的。这激发了一个问题: 假设P NP,哪些是 自然的NP完全问题而不是 P密度接近?≠≠\neq

2
树木和Levenshtein距离的高效diff算法
我最近阅读了有关在树间进行区分的问题的摘要,这使我对了解此问题的最新状态感兴趣。 另外,假设您允许的编辑操作之间是传统的添加/删除节点,您在编辑内容中添加了复制/移动子树的扩展操作,这是否使问题(寻找最佳差异)更容易或更难?

3
使用黑匣子排序
假设我们想要一个列表排序,SSS的nnn实数。假设我们得到一个黑匣子,它可以立即对实数进行排序。使用这个黑匣子,我们可以获得多少优势?n−−√n\sqrt n 例如,是否可以仅使用调用黑盒来对数字进行排序?我发现的最佳算法是对黑盒使用调用。但是我无法进一步改进它。这是我的算法,类似于merge-sort:nO(n−−√)O(n)O(\sqrt n)nnn 首先将列表划分为大小约为列表。然后使用调用黑盒对这些列表进行排序。最后,使用黑框合并排序列表,如下所示:√SSS小号1,s ^2,。。。,ş √n−−√n\sqrt n √s1个,秒2,...,sn√s1,s2,...,sns_1, s_2, ..., s_{\sqrt n} √n−−√n\sqrt nn−−√n\sqrt n 将列表中的最小元素放入新列表,然后调用黑盒对其进行排序。在数(第一和的最小元素)将在最小数目。我们可以将其放在输出列表的第一位。 假设已从选择元素,我们将替换为排序列表的第二个最小元素,然后再次运行黑盒以计算的第二个最小成员。 我们继续进行,直到所有元素都被排序为止。此部分的黑匣子调用总数为L [ 1 ] L S s j L [ 1 ] s j S n - √LLLL[1]L[1]L[1]LLLSSSsjsjs_jL[1]L[1]L[1]sjsjs_jSSSn−n−−√n−nn - \sqrt n。因此,总的通话总数为nnn。 另一方面,看起来我们应该能够使用排序所需的数字比较中的下界来获得下界:我们可以使用√来实现黑盒n−−√lgn−−√=12n−−√lgnnlg⁡n=12nlg⁡n\sqrt n \lg \sqrt n = \frac{1}{2} \sqrt n \lg n比较。如果我们可以通过调用来解决该问题,并在线性时间内进行合并,则可以使用比较对实数进行排序,这是不可能的。no(nlgn)o(n−−√)o(n)o(\sqrt …

2
n维图案匹配
在n维数组中找到精确的n维子数组有哪些已知结果? 在1D中,这只是一个字符串匹配问题,KMP在线性时间内完成。 在2D模式下,本文显示了它可以在线性时间内完成,几乎没有多余的空间。 对于任何固定尺寸,是否可以在线性时间最坏情况下解决此问题?

1
查找两个多项式之间的距离(表示为树)
一位从事基因编程工作的同事问了我以下问题。我首先尝试基于贪婪方法来解决它,但经过第二次思考,我找到了贪婪算法的反例。因此,我认为在这里值得一提。 考虑由它们的表达式树表示的两个多项式。例如,x3−2x+1x3−2x+1x^3-2x+1和x2+4x2+4x^2 + 4说明如下: 规则: 每个节点可以是变量名(x,y,z,…x,y,z,…x, y, z, \ldots),数字或运算符(+,-,×)。 树的有序遍历将导致有效的多项式。 操作节点的度数为2。其他节点的度数为0。所有节点的度数为1(除了root,其度数为0)。 在树的节点N上,如下定义基本操作: xxx××\times 基本操作可以在N之上构建一个表达式树(请参见下面的示例)。 类型1的基本操作的成本为1。类型2的成本等于新建的表达式树中{+,-,×}操作的数量。 类型2的示例:由于在节点N顶部构建的表达式树使用两个操作(-和×),因此以下基本操作的成本为2。 令T1和T2是代表多项式的两个表达式树。定义T1和T2 的距离如下:将T1转换为T2的基本操作的最低成本。请注意,我们不需要转换后的树具有与T2相同的结构。我们只希望它计算与T2相同的多项式。(有关示例,请参见注释。) 问题:给定T1和T2,提出了一种计算距离的算法。 示例1:假设T1和T2是本文开头所示的两棵树。要将右树转换为左树,可以在×的顶部构建成本为3的树,然后将4更改为1(总成本为4)。 x4x4x^4x4+4x3+6x2+4x+1x4+4x3+6x2+4x+1x^4+4x^3+6x^2+4x+1xxx(x+1)4(x+1)4(x+1)^4xxx4x34x34x^36x26x26x^24x4x4x


4
正拓扑排序,取3
假设我们有一个n×n矩阵。是否可以对其行和列进行重新排序,以便获得上三角矩阵? 此问题是由以下问题引起的: 正拓扑排序 最初的决策问题至少与这一决策一样困难,因此NP完全性结果也可以解决该问题。 编辑:拉斯洛·沃(Laszlo Vegh)和安德拉斯·弗兰克(Andras Frank)提请我注意甘特·罗特(Gunter Rote)提出的同等问题:http : //lemon.cs.elte.hu/egres/open/Graphs_extendable_to_a_uniquely_matchable_bipartite_graph 编辑:对原始问题的减少如下。假设DAG只有两个级别,这些级别将对应于矩阵的行和列。另外,我们有一个权重为+1的单个节点。较低级别的其他人的权重为-1,较高级别的其他人的权重为+1。

5
确定性并行算法,用于一般图形的完美匹配?
在复杂度类,有一些问题不属于类,即确定性并行算法存在的问题。最大流量问题就是一个例子。并且相信中存在问题,但尚未找到证明。PP\mathsf{P}NCNC\mathsf{NC}NCNC\mathsf{NC} 完美匹配问题是图论中提出的最基本问题之一:给定图,我们必须找到的完美匹配。正如我在互联网上可以找到的那样,尽管有Edmonds 的美丽的多项式时间Blossom算法,以及1986年Karp,Upfal和Wigderson 的RANDOMIZED并行算法,但只有少数几个子图具有算法。GGGGGGNCNC\mathsf{NC} 在2005年1月,Computational Complexity博客上发表了一篇文章,声称无论Perfect Matching是否在,它仍然是开放的。我的问题是:NCNC\mathsf{NC} 从那以后,除了随机算法以外,还有什么进展?NCNC\mathsf{NC} 为了阐明我的兴趣,任何处理一般图的算法都不错。尽管图子类的算法也可以,但是这可能不在我的注意范围内。谢谢你们! 在12/27编辑: 感谢您的所有帮助,我尝试将所有结果汇总为一个图: 已知的最低类包含以下问题: 匹配一般图形: [ KUW86 ], [ CRS93 ]RNCRNC\mathsf{RNC}RNC2RNC2\mathsf{RNC}^2 在二等平面/常数属图中匹配: / [ DKT10 ] / [ DKTV10 ]ULUL\mathsf{UL}SPLSPL\mathsf{SPL} 当总数为多项式时匹配: [ H09 ]SPLSPL\mathsf{SPL} Lex-first最大匹配项: [ MS89 ]CCCC\mathsf{CC} 此外,在合理的复杂性假设下:需要指数电路,一般图形中的匹配在 [ ARZ98 ]。SPACE[n]SPACE[n]\mathsf{SPACE[n]}SPLSPL\mathsf{SPL}

2
估计多项式时间的平均值
令为一个函数。我们想估计的平均值;即:。˚F ë [ ˚F (Ñ )] = 2 - Ñ Σ X ∈ { 0 ,1 } Ñ ˚F (X )f:{0,1}n→(2−n,1]f:{0,1}n→(2−n,1]f \colon \lbrace 0,1 \rbrace ^ n \to (2^{-n},1]fffE[f(n)]=2−n∑x∈{0,1}nf(x)E[f(n)]=2−n∑x∈{0,1}nf(x)\mathbb{E}[f(n)]=2^{-n}\sum_{x\in \lbrace 0,1 \rbrace ^ n}f(x) NOTE: In the OP, the range of f was [0,1]. I changed this a bit for …

1
在亚线性空间中编辑距离
使用输入大小为次线性的工作空间来计算相同长度的两个字符串之间的精确编辑距离最著名的复杂度是什么?我假设输入以某种只读格式存储。这是先前研究的问题吗? 为了使问题更具体一点,空间怎么样,其中是每个输入字符串的长度。Θ(n−−√)Θ(n)\Theta(\sqrt{n})nnn 编辑。根据David Eppstein的回答,似乎一个好问题是,是否可以在多项式时间和空间。任何下限也将很有趣。Θ(n−−√)Θ(n)\Theta(\sqrt{n})

4
给定
谁能帮助我解决以下问题? 我想找到一些值ai,bjai,bja_i,b_j(mod NNN),其中i=1,2,…,K,j=1,2,…,Ki=1,2,…,K,j=1,2,…,Ki=1,2,…,K, j=1,2,…,K (例如K=6K=6K=6),给定一个K2K2K^2值的列表,对应于差ai−bj(modN)ai−bj(modN)a_i-b_j\pmod N(例如N=251N=251N=251),而无需知道具体的对应关系。由于价值观ai,bj(modN)ai,bj(modN)a_i,b_j\pmod N并不是唯一确定给定的差异ai−bj(modN)ai−bj(modN)a_i-b_j\pmod N,我们寻找任何 价值的有效分配。 绝对地,尝试列表中K2K2K^2数字的每个置换(总共K2!K2!K^2!可能的情况),然后以ai,bjai,bja_i,b_j作为变量求解模块化方程是不可行的。 实际上,此问题出现在有关对NTRU签名方案的早期版本进行密码分析的论文中(http://eprint.iacr.org/2001/005)。但是,作者只写了一个句子“简单的回溯算法找到了一种解决方案……”(在第3.3节中),所以有人可以给出更多的解释吗?此外,作者还提到“每个循环移位{((ai+M)modN,(bi+M)modN}Ki=1{((ai+M)modN,(bi+M)modN}i=1K\{((a_i+M)\mod N,(b_i+M)\mod N\}_{i=1}^K或掉期交易({(N−1−bi,N−1−ai)}Ki=1)({(N−1−bi,N−1−ai)}i=1K)(\{(N-1-b_i,N-1-a_i)\}_{i=1}^K)导致a_i-b_j \ mod N的模式相同,ai−bjmodNai−bjmodNa_i-b_j\mod N这对您有帮助吗?

1
寻找好的诱导子图
您将获得具有个顶点的图形。如果需要,它可能是两方的。有套边(例如不相交)。我对找到尽可能小(甚至更小)的子集的问题感兴趣,以便对于归纳图从每个类至少具有一个边。。G = (V,E)G=(V,Ë)G = (V,E)G S E i i = 1 ,… ,mññn米米mË1个,… ,E米⊆ èË1个,…,Ë米⊆ËE_1,\ldots, E_m \subseteq E小号⊆ V小号⊆VS \subseteq VG小号G小号G_SË一世Ë一世E_ii = 1 ,... ,m一世=1个,…,米i=1,\ldots, m 目前,我知道这个问题很难解决。我也有一个不太完全(大致)的近似值。Ø (ñ--√)Ø(ñ)O(\sqrt{n}) 这似乎是一个自然的问题-是否有人知道任何相关的参考文献或更好的算法?

1
合并易碎对象列表
背景:徐超不久前发布了以下问题:“ 是否存在不减少到分类网络的已知比较分类算法,使得每个元素被比较次?O(logn)O(log⁡ñ)O(\log n) ”。看来我们对这个问题有些困惑;我曾在2009年与Valentin Polishchuk讨论过同样的问题,但我们一无所获。 为了获得一些新的想法,我试图提出一个最简单的问题,该问题具有相似的风格并且并非完全无关紧要。因此,下面的问题。 问题:将为您提供两个排序列表,每个列表包含元素。您可以合并列表,以便每个元素仅比较次吗?ññnO (1 )Ø(1个)O(1) 自然,输出应为包含所有元素的排序列表。2 n2ñ2n [事实证明这很简单,答案是“否”。] 问题2:为您提供两个排序列表,每个列表包含元素。如果允许丢弃一小部分元素,是否可以合并列表,以便每个元素仅被比较次?ññnO (1 )Ø(1个)O(1) 更精确地,输出应该是包含排序列表元素,和一个“垃圾箱”包含元素。值可以小到多少?使是微不足道的。像这样的事情应该可以直接实现。但是你能得到吗?T (n )T (n )T (n )= n T (n )= n / 100 T (n )= o (n )2 n − T(n )2ñ-Ť(ñ)2n-T(n)Ť(n )Ť(ñ)T(n)Ť(n )Ť(ñ)T(n)Ť(n )= nŤ(ñ)=ñT(n) = nŤ(n )= n / 100Ť(ñ)=ñ/100T(n) = …

2
计算Cheeger常数:对哪些类可行?
计算图的Cheeger常数(也称为等长常数)(因为它本质上是最小的面积/体积比),是NP完全的。通常,它是近似值。我有兴趣了解精确的多项式算法是否适用于特殊的图类。例如,规则图是否仍然是NP完全的?对于距离规则图?(我没有研究现有的NP完全性证明来检验它们的假设。)文献指针表示赞赏,谢谢!

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.