Questions tagged «time-complexity»

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

4
计算顶点覆盖数:什么时候困难?
考虑计算给定图的顶点覆盖数的#P-完全问题。G=(V,E)G=(V,E)G = (V, E) 我想知道是否有任何结果显示此问题的硬度如何随某些参数变化(例如d = | E |GGG)。d=|E||V|d=|E||V|d = \frac{|E|}{|V|} 我的感觉是,当稀疏时和G密集时,这个问题都应该更容易解决,而当G在“中间” 时,这个问题就很难解决。真的是这样吗?GGGGGGGGG


3
对于实际大小,指数算法比多项式算法运行得更快的问题示例?
您是否知道任何问题(最好至少在某种程度上是众所周知的),对于实际的问题大小,指数算法的运行速度比最著名的多项式时间对应物快得多。 例如,假设一个问题具有的实际尺寸* 并且有两个已知的算法:一种是2 Ñ,另一个是Ñ Ç对于某一常数Ç。显然对于任何c > 15n = 100n=100n = 1002ñ2n2^nñCncn^cCccc > 15c>15c > 15,指数算法都是首选。 *我想实际尺寸将意味着在现实世界中常有的东西。就像网络上的火车数量一样。

1
区分两枚硬币
众所周知,将偏向硬币与公平硬币区分开的复杂度是θ (ϵ - 2)。有区别p硬币和p + ϵ硬币的结果吗?我可以看到,对于这种特殊情况p = 0时,复杂性将是ε - 1。我有一个预感,复杂度将取决于p是否为ϵ的数量级,但不能如此严格地证明。有任何提示/参考吗?ϵϵ\epsilonθ (ϵ− 2)θ(ϵ−2)\theta(\epsilon^{-2})pppp + εp+ϵp+\epsilonp = 0p=0p=0ϵ− 1ϵ−1\epsilon^{-1}pppϵϵ\epsilon

1
时间可构造性的等效定义
我们说函数是时间可构造的,如果存在确定性多带Turing机,该机在长度为n的所有输入上最多执行f(n)步对于每个n,存在一些长度为n的输入,M精确地在该输入上进行f(n)步。f:N→Nf:N→Nf:\mathbb{N}\rightarrow\mathbb{N}n f (n )n n M f (MMMnnnf(n)f(n)f(n)nnnnnnMMMf(n)f(n)f(n) 我们说函数是完全时间可构造的,如果存在确定性多带图灵机,在长度为所有输入上,它们精确地执行步。f:N→Nf:N→Nf:\mathbb{N}\rightarrow\mathbb{N}n f (n )MMMnnnf(n)f(n)f(n) 问题1:是否存在时间可构造且时间不完全构造的功能? 如果,答案是肯定的(请参阅此答案)。是否可以将“是”的条件增强为?可以证明“是”吗?P ≠ N PEXP−TIME≠NEXP−TIMEEXP−TIME≠NEXP−TIMEEXP-TIME \neq NEXP-TIMEP≠NPP≠NPP\neq NP 问题2:如果我们在定义中仅允许使用2磁带图灵机,那么(完全)时间可构造函数的类是否会发生变化? 问题3:认为所有好的功能都是完全可构造时间的,“可证明的”原因是什么? 论文 小林晃次郎:关于函数的证明时间可构造性。理论。计算 科学 35:215-225(1985) 部分回答了Q3。此答案的部分摘要和升级。我以第三季度为答案。 历史上,使用实时可数函数的概念来代替(完全)时间可构造的。有关更多信息,请参见此问题。

2
集体行动方面的高斯消除
高斯消除使矩阵多项式时间的行列式成为可计算的。复杂的在计算的决定因素,其否则总结指数项的减少,是由于替代负的符号(缺乏这些使得计算永久是存在#P-hard#P-hard \#P\mbox{-}hard即较硬然后。NP-CNP-CNP\mbox{-}C问题) 。这导致行列式具有某种对称性,例如,交换一对行或列只会使符号相反。我在某处(可能与Valiant提出的全息算法有关)读到,高斯消除可以用组动作来解释,这反过来又导致了降低复杂性的通用技术。 另外,我觉得对于任何计算问题而言,降低复杂性的几乎所有来源都是某种对称性。是真的吗 我们可以按照群体理论严格地将其形式化吗? 编辑 我找到了参考。(第2页,第二段最后一行)。我没有正确理解本文,如果我的问题是基于对本文的错误理解,请纠正我。

6
任何算法问题的时间复杂度都由计数决定吗?
我所说的计数是一个问题,其中包括寻找一个函数的解数。更精确地,给定的一个功能(不一定黑盒),近似 #{ X ∈ Ñ | ˚F (X )= 1 } = | f − 1(1 )| 。f:N→{0,1}f:N→{0,1}f:N\to \{0,1\}#{x∈N∣f(x)=1}=|f−1(1)|#{x∈N∣f(x)=1}=|f−1(1)|\#\{x\in N\mid f(x)= 1\}= |f^{-1}(1)| 我正在寻找涉及某种计数的算法问题,对于该算法而言,时间复杂度受此基础计数问题的影响很大。 当然,我正在寻找的问题本身并不能算是问题。如果您能提供这些问题的文档,将不胜感激。

1
坎南定理是否暗示NEXPTIME ^ NP⊄P / poly?
我正在阅读Buhrman和Homer的论文“超多项式电路,几乎稀疏的Oracle和指数体系”。 在第2页的底部,他们指出Kannan的结果暗示没有多项式大小的电路。我知道在指数时间层次中,只是,而且我也知道Kannan的结果是使得。当然,坎南定理不是在说(要是这种情况,我们需要证明\存在L \ in \ Sigma_2P使得\ forall c,L \ not \ in Size(n ^ c)。但是,我不明白Kannan的结果如何暗示NEXPTIMENPNEXPTIMENPNEXPTIME^{NP}NEXPTIMENPNEXPTIMENPNEXPTIME^{NP}Σ2EXPΣ2EXP\Sigma_2EXP∀c ∃L∈Σ2P∀c ∃L∈Σ2P\forall c\mbox{ }\exists L\in\Sigma_2PL∉Size(nc)L∉Size(nc)L \not\in Size(n^c)∃ 大号∈ Σ 2 P ∀ ç 大号∉ š 我Ž È (Ñ Ç)ñ Ë X P Ť 我中号Ë Ñ P ⊄ P / p ö 升ÿΣ2P⊄P/polyΣ2P⊄P/poly\Sigma_2P \not\subset P/poly∃L∈Σ2P∃L∈Σ2P\exists L\in\Sigma_2P∀c∀c\forall …


1
最佳NP解算器
修复 NP完全搜索问题,例如SAT的搜索表单。莱文搜索提供了用于求解X的算法L,该算法在某种意义上是最优的。具体来说,算法是“ 一旦输入x吻合,在输入x上执行所有可能的程序P,一旦某些P返回答案y,则测试它是否正确”。从给定一个程序P来解决X且时间复杂度t P的意义上讲,这是最佳的X⊂{0,1}∗×{0,1}∗X⊂{0,1}∗×{0,1}∗X \subset \lbrace 0,1 \rbrace^* \times \lbrace 0,1 \rbrace^*LLLXXXPPPxxxPPPyyyPPPXXX,时间复杂度吨大号(Ñ )的大号满足ŤP(n )tP(n)t_P(n)Ť大号(n )tL(n)t_L(n)大号LL Ť大号(n )&lt; 2| P|p (吨P(n ))tL(n)&lt;2|P|p(tP(n))t_L(n) < 2^{|P|}p(t_P(n)) 其中是取决于精确计算模型的固定多项式ppp 的最优性可以用某种更强的方式来表述。即,对于每一个中号⊂ { 0 ,1 } *和 Q的程序解决 X与承诺中号在时间吨中号Q(Ñ )中,时间复杂性吨中号大号(Ñ )的大号在限制于输入中号满足大号LL中号⊂ { 0 ,1 }∗M⊂{0,1}∗M \subset \lbrace 0,1 \rbrace^*问QQXXXMMMtMQ(n)tQM(n)t^M_Q(n)tML(n)tLM(n)t_L^M(n)LLLMMM tML(n)&lt;2|Q|q(n,tMQ(n))tLM(n)&lt;2|Q|q(n,tQM(n))t_L^M(n) < 2^{|Q|}q(n, t^M_Q(n)) 其中是固定多项式。关键的区别在于,即使P ≠ N P,t …

5
是否存在可以针对任何算法都无法给出时间界限的可确定问题?
是否存在可确定的问题,使得对于没有解决该问题的算法,我们无法根据输入实例的长度n给出时间限制? 我想到这个问题是因为我在考虑以下问题: 假设我们有一个递归枚举但不确定的问题。进一步假设我是问题的“是”实例。然后,对于没有能够确定问题的“是”实例的算法,我们可以根据I的大小n给出一个时间范围。因为如果可以给出这样的时间范围,我们可以决定问题,因为我们可以简单地得出的结论是,超出时间限制时,我是“否”实例。 由于我们无法为递归式枚举,无法确定的问题提供时间限制(对于“是”实例的计算时间),我想知道是否也存在无法确定的可确定问题。

2
成员资格的复杂性-有限的阿贝尔群的测试
考虑以下阿贝尔亚组成员资格测试问题。 输入: 具有任意大的有限阿贝尔群并具有任意大的。G=Zd1×Zd1…×ZdmG=Zd1×Zd1…×ZdmG=\mathbb{Z}_{d_1}\times\mathbb{Z}_{d_1}\ldots\times\mathbb{Z}_{d_m}didid_i 子组的生成集。{h1,…,hn}{h1,…,hn}\lbrace h_1,\ldots,h_n\rbraceH⊂GH⊂GH\subset G 的元素。b∈Gb∈Gb\in G 输出:如果 'yes',其他地方为'no'。b∈Hb∈Hb\in H 问题:可以在传统计算机中有效解决此问题吗?如果在传统图灵机的通常意义上使用时间和内存资源,我认为该算法有效。注意,对于任何子组,我们都可以假设。此问题的输入大小为。O(polylog|G|)O(polylog|G|)O(\text{polylog}|G|)n=O(log|G|)n=O(log⁡|G|)n= O(\log|G|)HHH⌈log|G|⌉⌈log⁡|G|⌉\lceil \log|G|\rceil 有点动力。从直觉上看,似乎可以使用算法来解决同余线性系统或线性双色子方程组(请参阅下文)。但是,似乎在使用整数进行计算时会使用不同的计算效率概念,例如:强多项式时间与弱多项式时间,代数与位复杂度。我不是这些定义的专家,我找不到明显解决此问题的参考。 更新:问题的答案是“是”。 在一个较晚的答案中,我提出了一种基于史密斯范式的方法,该方法对于具有规定格式的任何组都是有效的。 Blondin的答案表明,在所有都为且的形式的特殊情况下是“微小整数”,那么问题就属于。微小的整数随输入大小呈指数减小。ð 我 = Ñ Ë 我我 Ñ 我,ë 我NC 3 ⊂ P ø (日志的日志|甲|)didid_idi=Neiidi=Nieid_i= N_i^{e_i}Ni,eiNi,eiN_i, e_iNC3⊂PNC3⊂P\text{NC}^3\subset \text{P}O(loglog|A|)O(log⁡log⁡|A|)O(\log\log|A|) 在我的回答中,我使用“正交子组”来解决此问题,但是我认为这不是必需的。将来,我将基于我正在阅读的连续梯形表格方法,尝试提供更直接的答案。 一些可能的方法 该问题与求解全等线性系统和/或线性双色子方程密切相关。为了简单起见,我简要总结了这些连接。 以为矩阵,其生成集的元素 。以下方程组{ h 1,… ,h n }AAA{h1,…,hn}{h1,…,hn}\lbrace h_1, \ldots, h_n \rbrace AxT=⎛⎝⎜⎜⎜⎜h1(1)h1(2)⋮h1(m)h2(1)h2(2)⋮h2(m)……⋯…hn(1)hn(2)⋮hn(m)⎞⎠⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜x(1)x(2)⋮x(n)⎞⎠⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜b(1)b(2)⋮b(m)⎞⎠⎟⎟⎟⎟modd1modd2⋮moddmAxT=(h1(1)h2(1)…hn(1)h1(2)h2(2)…hn(2)⋮⋮⋯⋮h1(m)h2(m)…hn(m))(x(1)x(2)⋮x(n))=(b(1)b(2)⋮b(m))modd1modd2⋮moddm Ax^{T}= …

2
使用两个队列反转列表
这个问题的灵感来自于一个现有的问题,即是否可以在每个堆栈操作的摊销时间中使用两个队列来模拟堆栈。答案似乎是未知的。这是一个更具体的问题,与特殊情况相对应,在特殊情况下,首先执行所有PUSH操作,然后执行所有POP操作。使用两个最初为空的队列如何有效地反转N个元素的列表?合法操作是:O (1 )O(1)O(1)ñNN 使输入列表中的下一个元素入队(到任一队列的尾部)。 将元素从任一队列的开头出队,然后再次入队(到任一队列的尾部)。 使任一队列开头的元素出队,并将其添加到输出列表。 如果输入列表包括元素,生成反向输出列表[ N ,N - 1 ,...所需的最小操作数是多少?。。,2 ,1 ]的行为?证明它比O (N )增长快的证据将特别有趣,因为它将解决否定的原始问题。[ 1 ,2 ,。。。,N− 1 ,N][1,2,...,N−1,N][1,2,...,N-1,N][ N,N- 1 ,。。。,2 ,1 ][N,N−1,...,2,1][N,N-1,...,2,1]ø (Ñ)O(N)O(N) 更新(2011年1月15日):问题可以在,如提交的答案和他们的评论中所示;Ω (N )的下限很小。这些界限能否改善?ø (Ñ日志ñ)O(Nlog⁡N)O(N \log N)Ω (N)Ω(N)\Omega(N)

1
是?
将为(多带)图灵机在时间可以接受的语言类别。(“ ”只是为了简化符号并避免混淆。)请注意,在周围没有。˚F (Ñ )+ 1 + 1 Ö (⋅ )˚F (Ñ )+ 1D T I M E(f(n ))DTIME(f(n))\mathsf{DTIME}(f(n))F(n )+ 1f(n)+1f(n) + 1+ 1+1+ 1O (⋅ )O(⋅)O(\cdot)F(n )+ 1f(n)+1f(n) + 1 是真的吗?D T I M E(n )= D T I M E(2 n )DTIME(n)=DTIME(2n)\mathsf{DTIME}(n) = \mathsf{DTIME}(2n) 使用线性加速定理,我们可以证明,但是我们可以达到吗?ndTIME(2n)=DTIME(1.01n)DTIME(2n)=DTIME(1.01n)\mathsf{DTIME}(2n) = \mathsf{DTIME}(1.01n)nnn 回文的语言似乎在;有关相关主题,请参阅Lipton的有关字符串算法的博客文章D T …

3
我们可以根据时间中的位计算吗?
我正在寻找一个有效的算法来解决这个问题: 输入:某个整数的正整数(存储为位)。3n3n3^nn≥0n≥0n \geq 0 输出:数字。nnn 问题:我们可以根据时间中的位计算吗?nnn3n3n3^nO(n)O(n)O(n) 这是一个理论问题,是由我对数学的回答引起的。SE问题如何找到该双射的公式?。在这个问题中,作者想从和自然数找到一个双射。我提出了作为解决方案。那里的另一个答案是“没有简单的公式”,这使我想知道我提出的解决方案有多简单(计算上)。{2n3m:n≥0 and m≥0}{2n3m:n≥0 and m≥0}\{2^n 3^m: n \geq 0 \text{ and } m \geq 0\}N={1,2,…}N={1,2,…}\mathbb{N}=\{1,2,\ldots\}2m3n↦2m(2n+1)2m3n↦2m(2n+1)2^m 3^n \mapsto 2^m(2n+1) 使用我提出的解决方案,如果我们知道和,我们可以轻松地计算(写出的二进制数字,后跟后跟零)。这需要时间。nnnmmm2m(2n+1)2m(2n+1)2^m(2n+1)nnn111mmmO(n+m)O(n+m)O(n+m) 从的位中找到等于找到最低有效位(可以通过计算右移来计算,将留在内存中)。这需要时间。2 m 3 n 3 n O (m )mmm2m3n2m3n2^m 3^n3n3n3^nO(m)O(m)O(m) 但是,我们还需要找到,这可能会更困难。通过重复除以可以找到,但这似乎很浪费。它需要除法运算,每个除法运算都需要时间,因此总共是时间。[实际上,在每次迭代之后,位数将线性减少,但这仍然会导致时间。]n 3 n O (n )O (n 2)O (n 2)nnnnnn333nnnO(n)O(n)O(n)O(n2)O(n2)O(n^2)O(n2)O(n2)O(n^2) 知道输入为的幂,似乎我们应该可以利用。333

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.