Questions tagged «time-complexity»

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

3
梅林可以说服亚瑟多少钱吗?
梅林,谁拥有无限的计算资源,希望说服亚瑟 m|∑p≤N, p primepkm|∑p≤N, p primepkm|\sum_{p\le N,\ p\text{ prime}}p^k 为(N,m,k)(N,m,k)(N,m,k)与k=O(logN)k=O(log⁡N)k=O(\log N)和m=O(N).m=O(N).m=O(N). 以直接方式(模取幂和加法)计算此总和需要时间N(loglogN)2+o(1)N(log⁡log⁡N)2+o(1)N(\log\log N)^{2+o(1)}基于FFT的乘法。*但是Arthur只能执行O(N)O(N)O(N)运算。 (符号,与早期版本的这个问题的兼容性:让总和等于mαmαm\alpha ;然后,问题是是否αα\alpha是整数。) 梅林可以用长度为的字符串说服亚瑟O(N)O(N)O(N)吗?如果不是,他是否可以用交互式证明说服亚瑟(总交流,当然必须是O(N)O(N)O(N))?如果是这样,Merlin可以使用长度为的字符串o(N)o(N)o(N)吗?亚瑟可以利用o(N)o(N)o(N)时间吗? Arthur无法使用不确定性或其他特殊工具(量子方法,Merlin以外的Oracle等),但是如果需要,可以使用O(N)O(N)O(N)空间。当然,亚瑟不必直接计算总和,他只需要确信给定的三元组(N,m,k)会使方程为真或为假。 注意,与k=0k=0k=0它可以计算在时间的总和O(N1/2+ε)O(N1/2+ε)O(N^{1/2+\varepsilon})使用Lagarias-奥德里兹科方法。对于k>0k>0k>0该和是超线性的,因此无法直接存储(没有(例如,模块归约)),但是尚不清楚是否存在快速算法。 除了通过直接加电和加法运算之外,我还将对计算总和(模数或其他形式)的任何算法感兴趣。 * 要计算的数字,每次计算的时间为lg k log N (log log N )1 + o (1 ) = log N (log log N )2 + o (1 )。N/logNN/log⁡NN/\log NlgklogN(loglogN)1+o(1)=logN(loglogN)2+o(1)lg⁡klog⁡N(log⁡log⁡N)1+o(1)=log⁡N(log⁡log⁡N)2+o(1)\lg k\log N(\log\log N)^{1+o(1)}=\log N(\log\log N)^{2+o(1)}

2
计算理论中的自然问题是什么?
在斯蒂芬·库克(Stephen Cook)关于P与NP问题的论文中,[1]他陈述了以下内容[2]: 可行性论文:自然问题具有多项式时间算法,但算法可行。 我的问题是,“一个自然问题” 到底是什么意思(或者一般说来,是什么意思)?谈论自然问题似乎很普通,但是我还没有找到定义。我似乎丢失了一些东西。这是我正在考虑的几个可能的答案: 第一个可能的答案 库克在他的论文中说,必须解释“自然”。他说:“通常,我们不认为具有参数的类是自然的,例如可嵌入k类表面上的图集,k > 1。” [3]现在,首先,这似乎是在说什么。 “自然”不是什么,而是什么;但是,如果每个问题都是自然问题还是非自然问题,并且这充分描述了所有非自然问题,那么就足以定义自然问题。(但是限定词“一般”表明这不是对不自然的问题的充分和必要的描述。) 我认为“带参数的类”是指固定参数的可处理性,我们所说的是指可能的输入受到限制从而迫使可行性的问题。因此,如果我们确定背包的重量,我们可以使用多项式时间算法来解决背包问题[4](但通常在多项式时间中没有解决方案)。鉴于此,我认为“自然”意味着问题不受限制(“人为”限制?),从而迫使多项式时间算法脱离了在多项式时间内无法解决的问题。 我不确定这是否是理解库克“自然”概念的正确方法,原因是我不确定“自然”的限定在这里做什么。如果您放弃“自然”,那么您将得到“问题具有可行的算法,前提是它具有多项式时间算法。” 但这似乎是完全合理的:背包问题没有可行的算法,因为它没有多项式时间算法。具有固定参数可伸缩性的背包具有可行的算法,因为它具有多项式时间算法。两种说法似乎都符合可行算法存在问题的概念。 我认为这可能是理解库克含义的最佳指南,因为库克实际上是在转身并对其进行定义。我还认为,这个自然概念是由StackExchange问​​题所捕获的。[5] 但是还有另一个。 第二个可能的答案 威廉·加斯阿奇(William Gasarch)在他的论文“将问题分类为复杂性类别” [6]中说,他将进行“从字面上讨论什么是自然问题” [7]。在本文结尾处,[8]有对话形式的交流,一位发言者说: “是什么使问题变得自然?一方面,我并不是出于没有进入P的目的而构造问题。因此,这不是愚蠢的问题。然后它上升到自然的程度了吗?” 因此,在我看来,Gasarch所说的是,如果我们遇到的问题不是故意构造的,那么我们可以说它不在P中,那是自然的。因此,通过一些创造性的解释,Gasarch似乎在说至少与库克一致的观点:一方面,Gasarch说没有以不在P中的唯一目标来构建这个问题是不自然的。另一方面,库克说,如果没有参数,问题自然而然。但是仅仅一致性并不能产生定义。 第三个可能的答案 在Wikipedia上有关“适度问题”的条目[9]上,提出了雅克·哈达玛(Jacques Hadamard)关于适度问题的概念的定义,然后指出,适度问题“可能被视为'自然'问题”。因为存在着以这些问题为模型的物理过程。” 因此,只有且仅当它对物理过程建模时,问题才是自然的吗? 根据Wikipedia的说法,Hadamard的资格是(i)存在一个解决方案,(ii)该解决方案是唯一的,并且(iii)该解决方案的行为随初始条件而不断变化。这似乎与其他两个定义不同。我的感觉是,“自然”的使用方式不是完全相同的(特别是如果我们同意这样的解释,即当且仅当它模拟物理过程时才是自然的问题),但我想将其包括在内,因为我遇到了在我对这个问题的研究中,并有一些联系点。 所以我的问题是:什么是自然问题?这些答案中的任何一个或它们的某种组合是否正确?我还有其他答案吗?谢谢。 《问题陈述》,2006年,在线发表在Clay Mathematics上;标题:“ P与NP问题”,http://www.claymath.org/sites/default/files/pvsnp.pdf p。3 p。4 https://zh.wikipedia.org/wiki/背包的问题#0.2F1_背包的问题 P中最难知道的自然问题?我认为,自然的问题遵循此描述,但并不将k限制为最大。 https://www.cs.umd.edu/~gasarch/papers/classcomp.pdf p。2。 p。47-8,第25节 https://zh.wikipedia.org/wiki/摆好姿势的问题

3
Lambda微积分中复杂性理论的等价表述?
在复杂性理论中,时间和空间复杂性的定义均参考通用图灵机:resp。停止前的步骤数以及触摸到的磁带上的单元数。 给定Church-Turing论文,也应该有可能用lambda演算来定义复杂性。 我的直觉概念是,时间复杂度可以表示为β约简的数目(我们可以使用De Brujin索引定义α转换,反正η几乎不是约简),而空间复杂度可以定义为β约简的数目。符号(λ,DB索引,“应用”符号)减少幅度最大。 它是否正确?如果是这样,我在哪里可以得到参考?如果没有,我怎么会误会?

1
比较整数列表的两个乘积?
假设我有两个经度正整数的列表,并且取每个列表的所有元素的乘积。确定哪个产品更大的最佳方法是什么? 当然,我可以简单地计算每个乘积,但是我希望有一种更有效的方法,因为乘积中的位数将随着项的数量线性增加,因此整个计算是二次的。 如果我要添加而不是相乘,则可以使用“压缩策略”,即从第一个列表中增量添加项,然后从第二个列表中减去,从而避免了计算(大)总和的需求。产品的类似技术将是对条目的对数求和,但是现在的问题是,计算对数需要使用不精确的算法。除非有某种方法可以证明数值误差无关紧要?

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

0
dag上的简单路径,后边缘
以下问题( P?NP-hard?)的复杂性是什么:∈∈\in 输入:有向无环图,一组后沿,以及两个不同的节点和。D=(V,E)D=(V,E)D=(V,E)E′⊂V×VE′⊂V×VE'\subset V\times Vsssttt 问题:让表示通过将的边添加到形成的图。是否有从一个简单的路径到在使用至少一个向后边缘?G=(V,E∪E′)G=(V,E∪E′)G=(V,E\cup E')DDDE′E′E'ssstttGGG 注意:0)简单路径是不重复顶点的路径,后边缘是与DAG隐含的偏序相反的边缘。1)如果我们要求简单路径通过平凡减少不相交路径问题来要求简单路径仅使用一个后向边缘(或常数),则该问题就很容易了,这可以接受DAG中的简单PTime解决方案(Perl和Shiloach,JACM'78) 2)不相交路径问题在一般图中是NP完全的(Fortune等人,TCS'80)。


2
如果我们改进时间层次定理,会发生什么?
f,gf,gf,gf(n)logf(n)=o(g(n))f(n)log⁡f(n)=o(g(n))f(n) \log f(n) = o(g(n))DTIME(f(n))⊊DTIME(g(n))DTIME(f(n))⊊DTIME(g(n)) DTIME(f(n)) \subsetneq DTIME(g(n))f,gf,gf,gf(n+1)=o(g(n))f(n+1)=o(g(n))f(n+1)=o(g(n))它是 有很多(旧的和当前的)结果都使用时间层次定理证明了下界。这是我的问题:NTIME(f(n))⊊NTIME(g(n)).NTIME(f(n))⊊NTIME(g(n)). NTIME(f(n)) \subsetneq NTIME(g(n)). 如果我们可以证明确定性或非确定性情况的更好结果,会发生什么? 如果我们可以证明确定性时间层次结构与不确定性时间层次结构之间存在差距,这是否意味着?P≠NPP≠NPP \neq NP

1
O(n log n)中的3个符号TM可以识别该语言吗?
我在玩一个非常有趣且仍未解决的问题“ 单带图灵机的字母 ”(作者:Emanuele Viola),提出了以下语言: L={x∈{0,1}n s.t. |x|=n=2m and count1(x)=k∗m;n,m,k≥1}L={x∈{0,1}n s.t. |x|=n=2m and count1(x)=k∗m;n,m,k≥1}L = \{ x \in \{0,1\}^n \text{ s.t. } |x| = n = 2^m \text{ and } count1(x) = k * m; \; n,m,k \geq 1 \} 其中是字符串x 中的个数。count1(x)count1(x)count1(x)111 例如,如果x = 01101111,则n = 8,m = 3,k = 2;所以x∈Lx∈Lx …


1
算法复杂性中的隐藏常数
对于许多问题,渐近复杂度最佳的算法具有很大的常数因数,而该常数因O表示法而被隐藏。这发生在矩阵乘法,整数乘法(特别是最近的Harvey和van der Hoeven的O(n log n)整数乘法算法),低深度排序网络和查找图的次要情况中。这种算法有时称为银河算法。 注意,对于其他算法,例如常规排序和整数加法,已知算法具有最佳渐近复杂度和较小的常数因子。 从理论的角度,在将前一种算法与后一种算法分离方面进行了哪些研究? 我知道,隐藏常量经常被省略以隐藏不同计算模型之间的区别。但是,我有信心在各种不同的模型下,例如,对于10亿规模的输入,这些Galactic算法将比渐近差的算法更慢。在某些情况下,这种区分不是很细微的。做得严格吗? 例如,可以发明一种非常简单的计算模型,例如具有非常简单的ISA的von Neumann机器,然后实现这些算法,并用显式常量限制其运行时间。是否已针对多种算法完成了此操作?

1
2-NEXPTIME-完全问题
我们有一个问题,我们发现了一个看起来像2-nexptime的算法。 我想找到已知的2-nexptime-complete问题,以便找到下限。 我在文学中发现主要有两个这样的问题: PCP作为解决方案的尺寸是否小于 22ñ22ñ2^{2^n} 和面积平方的耕作问题 22ñ22ñ2^{2^n} 但是我无法在我的代码中编码这些问题。所以我想知道其他2-NEXPTIME完全问题,首先是对此类有更多的直觉,其次,在更好的情况下证明是一个下限。 在这里,我没有故意提供该问题,以便对2-NEXPTIME进行广泛的概述。 谢谢

1
特殊情况下的DFA交集算法
我对特殊情况下DFA交集的高效算法感兴趣。即,当相交的DFA遵循某种结构和/或以有限的字母进行操作时。有什么资料可以找到这种情况的算法吗? 为了不使问题过于笼统,以下结构特别受关注:所有要相交的DFA都以二进制字母(0 | 1)进行操作,它们也可以使用无关符号。此外,除最多K个特殊状态(仅有两个过渡)外,所有状态都只有一个过渡(并且这些过渡始终为0或1,但不在乎)。K是整数,出于实用目的,小于10。而且,它们具有单个接受状态。此外,已知交集始终是“条”形式的DFA,即无分支,如下图所示: 编辑:也许对输入DFA的约束的描述不是很清楚。我将在本段中尝试对其进行改进。您有输入T DFA。这些DFA均仅对二进制字母进行操作。每个国家最多拥有N个州。对于每个DFA,其每个状态均为以下之一: 1)接受状态(只有一种状态,从它到任何其他状态都没有过渡) 2)具有两个转换(0和1)到同一目标状态的状态(大多数状态是这种状态) 3)具有两个转换(0和1)到不同目标状态(最多这种K)的状态 可以确保每个输入DFA中只有一个接受状态,并且最多只有K个类型(3)的状态。还保证所有输入DFA的交点DFA是“条”(如上所述),大小小于N。 EDIT2: DW在评论中要求的一些附加约束: 输入的DFA是DAG。 输入的DFA按照注释中的DW定义进行“级别调整”。也就是说,您可以为每个状态分配不同的整数,以使每次转换都从整数u到整数v,从而u + 1 = v。 接受状态的每个输入DFA的数量,不超过ķ。 有任何想法吗?谢谢。

1
我们可以从排序矩阵中获得排序列表吗
我糊涂了。我想证明以乘矩阵排序(即行和列以升序)的问题是。我假设它可以比更快地进行,并尝试违反 下限,以进行对m个元素进行排序所需的比较。我有两个矛盾的答案:nnnnnnΩ(n2logn)Ω(n2log⁡n)\Omega(n^2\log n)n2lognn2log⁡nn^2\log nlog(m!)log⁡(m!)\log(m!) 我们可以从的排序矩阵中获得元素的排序列表/math/298191/lower-bound-for-matrix-sorting/298199?iemail = 1#298199n2n2n^2O(n2)O(n2)O(n^2) 您无法从矩阵中获得排序列表的速度快于 /programming/4279524/how-to-sort-amxn-matrix-which-has-所有它的行排序和n列排序Ω(n2log(n))Ω(n2log⁡(n))Ω(n^2\log(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.