Questions tagged «time-complexity»

决策问题的时间复杂度或有时间限制的复杂度类之间的关系。(在特定算法花费的时间上使用[analysis-of-algorithms]标签。)

10
一层,两个队列
背景 几年前,当我还是一名本科生时,我们得到了一项关于摊销分析的作业。我无法解决其中一个问题。我曾在comp.theory中提出过此要求,但没有得到满意的结果。我记得课程中TA坚持了他无法证明的事情,并说他忘记了证明,然后……[你知道吗]。 今天,我回顾了这个问题。我仍然很想知道,所以这里是... 问题 是否可以使用两个队列实现堆栈,以便PUSH 和POP操作都在摊销时间O(1)中运行?如果可以,你能告诉我如何吗? 注意:如果我们要实现一个具有两个堆栈的队列(具有相应的操作ENQUEUE&DEQUEUE),则情况非常简单。请注意区别。 PS:以上问题不是作业本身。作业不需要任何下限;只是一个实现和运行时间分析。


6
寻找矩阵特征分解的复杂性
我的问题很简单: 计算矩阵的本征分解的最著名算法的最坏情况下的运行时间是多少?n×nn×nn \times n 本征分解是减少到矩阵乘法还是在最坏的情况下是最著名的算法(通过SVD)?O(n3)O(n3)O(n^3) 请注意,我要求的是最坏情况的分析(仅就),而不是要求与问题相关的常数(如条件编号)的范围。nnn 编辑:给出以下一些答案,让我调整一下问题:我会对近似感到满意。近似值可以是乘法,加法,逐项输入或任何您想要的合理定义。我感兴趣的是,是否存在一种比对依赖性更好的算法?ϵϵ\epsilonnnnO(poly(1/ϵ)n3)O(poly(1/ϵ)n3)O(\mathrm{poly}(1/\epsilon)n^3) 编辑2:请参见对称矩阵上的相关问题。

2
算法可以在多大程度上预测任意输入程序的时间复杂度?
该停机问题指出,这是不可能写一个程序,可确定是否存在另一个程序暂停,对于所有可能的输入程序。 但是,我当然可以编写一个可以计算如下程序的运行时间的程序: for(i=0; i<N; i++) { x = 1; } 并返回的时间复杂度,而无需运行它。ññN 对于所有其他输入程序,它将返回一个标志,表明它无法确定时间复杂度。 我的问题是这样的: 必须满足什么条件,以便我们可以算法确定给定程序的时间复杂度? *如果对此有规范的参考或评论文章,请在评论中提供链接。

6
确定复杂度下界的先进技术
你们中有些人可能一直在关注这个问题,该问题由于尚未达到研究水平而被关闭。因此,我正在提取问题的一部分,它是在研究水平上。 除了“简单”的技术(例如归结为排序问题或EXPTIME完全问题)之外,还使用了哪些技术来证明问题的时间复杂性的下限? 特别是: 在过去的十年中开发了哪些“尖端”技术? 是否可以应用抽象代数,分类理论或其他通常“纯”数学分支的技术?(例如,我经常听到提到排序的“代数结构”,而没有任何真正的解释。) 对于下限复杂度,什么是重要但鲜为人知的结果?

1
是否可以在线性时间内解析所有明确的语法?
当修改非规范的LR解析时,我想到了一种解析方法(具有无限大的表,这使其不切实际)能够在时间内准确解析明确的语法,我想知道是否有可能做得更好:Ø (ñ2)Ø(ñ2)O(n^2) 是否可以在线性时间内解析所有明确的语法? 我很确定我读过某个地方的情况,但是在搜索互联网时并没有出现这种情况。在这里提出了相同的问题,但据我所知没有给出任何答案。

3
用整数分解表示的整数与分解一样难吗?参考要求
我正在寻找以下结果的参考: 在因式分解表示中添加两个整数与在通常的二进制表示形式中分解两个整数一样困难。 (我很确定它在那里,因为这是我在某个时候想知道的,然后当我终于看到它印刷时感到很兴奋。) 问题是“在因式表示形式中添加两个整数”:给定两个数和y的素数分解,输出x + y的素数分解。请注意,针对此问题的朴素算法在标准二进制表示形式中使用分解作为子例程。xxxyyyx+yx+yx+y 更新:感谢Kaveh和Sadeq的证明。显然,更多的证据可以证明是更好的选择,但是我也想鼓励人们在寻找参考文献时提供更多帮助,正如我所说的那样,我很确定存在。我记得在一篇论文中读到它时有其他有趣且很少讨论的想法,但我不记得那些其他想法是什么或论文的总体含义。

1
二进制乘法和奇偶卷积
这个问题是关于二进制数的正态乘法与多项式乘法mod 2之间的关系。为了使这个问题具体化,我希望从Knuth vol。知道是否对该问题有更好的解决方案。2,第3版,比书中给出的第420页。 “如果将系数打包到计算机字中,可以通过使用二进制计算机上的普通算术运算来简化模2的多项式乘法。” Knuth给出了一个相当简单的减少量,在最坏的情况下,它通过对数乘数来扩展输入中的位数。可以减少这个对数因子吗?

2
3-SUM的乘法版本
关于以下问题的时间复杂度(我们称为3-MUL)的知识是什么? 给定整数的集合,中是否有元素使得?小号SSñnn一个,b ,c ^ ∈ 小号a,b,c∈Sa,b,c\in Sa b = cab=cab=c 此问题类似于3-SUM问题,该问题询问是否存在三个元素使得(或等效地)。推测3-SUM大约需要二次时间。3-MUL是否有类似的猜想?具体来说,是否知道3-MUL是3-SUM硬的?一个,b ,c ^ ∈ 小号a,b,c∈Sa,b,c\in Sa + b + c = 0a+b+c=0a+b+c=0a + b = ca+b=ca+b=cñnn 注意,时间复杂度应适用于“合理的”计算模型。例如,我们可以从集上的3-SUM减少到集上的3-MUL ,其中 。然后,当且仅当,存在3-MUL的解。但是,数字的这种指数级膨胀在各种模型(例如RAM模型)中非常严重。小号SS小号′S′S'小号′= { 2X| X ∈ 小号}S′={2x∣x∈S}S'=\{2^x\mid x\in S\}2一种⋅ 2b= 2C2a⋅2b=2c2^a\cdot 2^b=2^ca + b = ca+b=ca+b=c



3
在对数空间中识别回文症需要多少时间?
众所周知,回文可以在磁带Turing机器上以线性时间识别,而在单磁带Turing机器上则无法识别(在这种情况下,所需时间是二次的)。线性时间算法使用输入的副本,因此也使用线性空间。222 我们是否可以仅使用对数空间在多带图灵机的线性时间内识别回文?更普遍的说,回文法已知哪种时空权衡?

2
Grover算法的运行时
Grover算法的时间复杂度(不是查询复杂度)是多少?在我看来,这是因为存在迭代,并且每次迭代都需要使用反射操作,这反过来又需要时间使用任何标准的通用门集。Ω (对数(N)N--√)Ω(log⁡(N)N)\Omega(\log(N) \sqrt{N})Ω(log(N))Ω (N--√)Ω(N)\Omega(\sqrt{N})Ω (对数(N))Ω(log⁡(N))\Omega(\log(N)) 问题是,我什至找不到一个引用,该引用说Grover算法的时间复杂度是。维基百科和其他几个网页说时间复杂度。Grover的论文声称 “步骤”。O( √Ω (对数(N)N--√)Ω(log⁡(N)N)\Omega(\log(N) \sqrt{N})O( √ø (Ñ--√)O(N)O(\sqrt{N})ø (Ñ--√)O(N)O(\sqrt{N}) 我想念什么吗?也许人们将反射操作定义为花费单位时间。但这对我来说没有意义,因为如果我们可以玩允许任意unit取单位时间的游戏,那么查询复杂度和时间复杂度之间就不会有差异。

5
考虑到答案查找的理论指数复杂性(以查询的大小为单位),为什么关系数据库根本无法工作?
似乎已经知道,要在关系数据库上找到查询的答案,一个人需要时间,而一个人不能摆脱指数。D | D | | 问| | 问|问QQdDD| D || 问||D||Q||D|^{|Q|}| 问||Q||Q| 由于可能非常大,我们想知道为什么数据库实际上根本不起作用。dDD 仅仅是普通查询在实际应用程序中根本不占很大的问题吗?(然后,很有趣的是知道关系数据库系统所执行的查询的通常大小是多少,以及实际上期望由DB系统有效回答的查询的“最大”大小是多少。) 关于指数注释 不可移动| 问||Q||Q| 显示指数不可移动,可以使用查询来查询数据库给出的图中是否存在大小为的团。检查图是否具有 -clique是NP完全问题。而且,它不是固定参数可处理的,具有参数。细节可以在例如 Libkin,L .:有限模型理论的元素中找到。Springer(2004) 或 Papadimitriou,CH,Yannakakis,M .:关于数据库查询的复杂性。J.计算机 Syst。科学 58(3),407–427(1999)n n n| 问||Q||Q|ñnnñnnñnn

4
上限和下限的“正确”定义是什么?
令是输入的问题在最坏情况下的运行时间。让我们把这个问题有点通过固定怪异的但的。ñ ˚F (Ñ )= ñ 2 Ñ = 2 ķ ˚F (Ñ )= Ñ Ñ = 2 ķ + 1F(n )f(n)f(n)ñnnF(n )= n2f(n)=n2f(n) = n^2n = 2 kn=2kn=2kF(n )= nf(n)=nf(n) = nn = 2 k + 1n=2k+1n=2k+1 那么,问题的下限是什么?据我了解,它只是的下限。但是我们知道表示存在常数,n 0,因此对于所有n > n 0,f (n )> k n 2都是不正确的。因此,似乎我们只能说f (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.