Questions tagged «complexity-theory»

与解决问题的(计算)复杂性有关的问题


3
寻找离散对数有多难?
的离散对数是相同的发现在给出,Ç,和Ñ。a b = c mod N a c Nbbbab=cmodNab=cmodNa^b=c \bmod NaaacccNNN 我想知道这属于什么复杂度组(例如,对于经典计算机和量子计算机),以及哪种方法(即算法)最适合完成此任务。 上面的Wikipedia链接并没有给出非常具体的运行时。我希望找到最类似的方法来找到这种方法。

2
如何将并行复杂性结果缩小到不断增加的多个内核?
我在接受类NC给出的“通过并行算法有效解决”的复杂性理论视图时遇到了问题: NC是可以通过并行算法在具有处理器上的时间上通过并行算法解决的问题。p (Ñ )∈ ø (Ñ ķ)Ç ,ķ ∈ ÑO (对数Cn )O(logc⁡n)O(\log^cn)p (Ñ )∈ Ô (Ñķ)p(n)∈O(nk)p(n) \in O(n^k)Ç ,ķ ∈ Ñc,k∈Nc,k \in \mathbb{N} 我们可以假设一个PRAM。 我的问题是,这对于“真实”机器似乎没有多说,即具有有限数量处理器的机器。现在,我被告知“众所周知”,我们可以在处理器上“有效地”模拟处理器算法。p ∈ ÑØ (ñķ)O(nk)O(n^k)p ∈ Ñp∈Np \in \mathbb{N} “有效”在这里是什么意思?这是民间传说还是有严格的定理来量化模拟所引起的开销? 我担心发生的事情是我遇到了一个问题,该问题有一个顺序算法和一个“高效”并行算法,当在处理器上进行仿真时,也需要时间(如果顺序算法是渐近最优的,那么在这种粒度的分析上就可以预期到所有这些)。在这种情况下,据我们所知,并没有加速。实际上,模拟并行算法可能比顺序算法慢。那就是我真正在寻找比 bounds 更精确的声明(或声明没有这种结果的声明)。p O (n k)Ø (ñķ)O(nk)O(n^k)pppØ (ñķ)O(nk)O(n^k)ØOO

3
可证明更快的随机算法在P中的问题
中是否存在任何问题,这些问题使随机算法超过了确定性算法的下限?更具体地讲,我们知道任何针对?这里表示由随机TM决定的语言集,在f(n)个步骤中具有恒定边界(一侧或两侧)错误。PP\mathsf{P}kkkP Ť 我中号È(˚F (Ñ ))˚F (Ñ )DTIME(nk)⊊PTIME(nk)DTIME(nk)⊊PTIME(nk)\mathsf{DTIME}(n^k) \subsetneq \mathsf{PTIME}(n^k)PTIME(f(n))PTIME(f(n))\mathsf{PTIME}(f(n))f(n)f(n)f(n) \ mathsf {P}内的随机性会给我们买任何东西PP\mathsf{P}吗? 明确地说,我正在寻找一种差异是渐近的(最好是多项式,但我会采用多元对数),而不仅仅是一个常数。 在最坏的情况下,我正在渐进地寻找算法。具有更高预期复杂度的算法不是我想要的。我指的是RP或BPP中的随机算法,而不是ZPP。

3
半峰-NP完全问题
首先,我要指出这是一个作业问题,请仅提供建议和相关意见,请不要直接回答。话虽如此,这就是我要解决的问题: 让HALF-CLIQUE = { | G是具有至少n / 2个节点的完整子图的无向图,其中n是G }中的节点数。证明HALF-CLIQUE是NP完整的。⟨G⟩⟨G⟩\langle G \rangleGGGn/2ñ/2n/2GGG 另外,我知道以下几点: 就此问题而言,集团定义为输入图的无向子图,其中每两个节点由一条边连接。甲 -cliquekķk是包含一个集团节点。kķk 根据我们的教科书,迈克尔·西蓬瑟的“ 介绍计算理论 ”,第268,这个问题CLIQUE = { | G是一个无向图,其中k -clique}在NP中⟨G,k⟩⟨G,ķ⟩\langle G,k\rangleGGGkķk 此外,根据同一资料(第283页),我们注意到CLIQUE存在于NP-Complpete中(因此也显然存在于NP中)。 我想我在这里有答案的内核,但是我可以使用一些指示来说明问题所在或与答案有关的任何相关要点。到目前为止,这是我的基本想法, 好吧,我首先注意的证书只会是一个半QLIQUE 。现在看来,我需要做的是创建一个检验器,该检验器是从CLIQUE(我们知道是NP-Complete)到HALF-CLIQUE的多项式时间缩减。我的想法是,这将通过创建一个图灵机来完成,该图灵机在本书中为CLIQUE运行图灵机验证程序,并为HALF-CLIQUE附加约束。size≥n/2尺寸≥ñ/2\text{size} \geq n/2 这听起来对我来说是正确的,但我还不太相信这个学科。我想再次提醒大家这是一个家庭作业问题,因此请避免回答这个问题。任何不符合此要求的指导都将受到欢迎!


3
SQL捕获
据Immerman,与相关联的复杂类SQL查询是完全类的安全的查询在Q(FO(COUNT))Q(FO(COUNT))\mathsf{Q(FO(COUNT))}(一阶查询加计数操作者):SQL捕获安全查询。(换句话说,所有SQL查询具有复杂Q(FO(COUNT))Q(FO(COUNT))\mathsf{Q(FO(COUNT))},并且在所有的问题Q(FO(COUNT))Q(FO(COUNT))\mathsf{Q(FO(COUNT))}可以表示为一个SQL查询。) 基于此结果,从理论上讲,存在许多可以有效解决但在SQL中无法表达的有趣问题。因此,仍然有效的SQL扩展似乎很有趣。所以这是我的问题: 是否有SQL的扩展(在行业中实现和使用),它可以捕获PP\mathsf{P}(即可以表示所有多项式时间可计算查询,而不能表示其他查询)? 我想要一种满足所有三个条件的数据库查询语言。这是很容易定义的扩展,它会扩展SQL和将捕获PP\mathsf{P}。但是我的问题是,从实践的角度来看,这种语言是否有意义,所以我希望在实践中使用这种语言。如果不是这种情况,并且没有这种语言,那么我想知道是否有某种原因使这种语言从实际角度变得无趣?例如,实践中出现的查询通常是否足够简单,以至于不需要这种语言?

7
证明P≠NP比证明P = NP难吗?
考虑P对NP问题的两种可能性:P = NP和P NP。≠≠\neq 令Q为已知的NP难题之一。为了证明P = NP,我们需要为Q设计一个多项式时间算法A,并证明A正确地解决了Q。 为了证明P NP,我们需要证明 没有多项式时间算法可以求解Q。换句话说,我们必须排除所有多项式时间算法。≠≠\neq 我听说有人说这使第二个任务更加困难(假设这确实是事实)。 有理由认为证明P = NP(假设P = NP)比证明P NP(假设P NP)容易吗?≠≠≠\neq≠≠\neq




3
与NP-hard相比,为什么NP-Complete类很重要?
我正在研究计算复杂性,我想知道为什么NP-Complete(NPC)问题根本上是一门重要的课。我发现很明显,为什么我们有兴趣展示给定的NP问题是NP难题。 我也理解NPC的定义,并且知道给定的决策问题在NP中是很困难的,知道它在NP中就是NPC的意思。 但是,我不明白的是:为什么这个概念如此重要?当然,如果我们发现这在时间P运行(不论是否是在NP)任何NP-硬算法,我们已经表明,。ñP= PñP=PNP = P 为什么这个概念如此重要?

2
可证明需要二次时间的问题
我正在寻找输入的下限为Ω(|x|2Ω(|x|2\Omega(|x|^2)的问题的示例。xxx 该问题需要具有以下属性: Ω(n2)Ω(n2)\Omega(n^2)任何算法的运行时证明-第一优先级是具有尽可能简单的下限参数。 O(n2)O(n2)O(n^2)算法(如果可能)也很简单。 输出大小为(或更小)。显然,任何需要加长输出的问题都至少需要相似的运行时间,但这不是我想要的。注意,任何决策问题都适合于此。O(n)O(n)O(n)Ω(n2)Ω(n2)\Omega(n^2) (如果可能)“自然”问题。如果没有正式定义,则任何CS毕业生都会认识到的问题是更可取的。 最近有人问我这样的问题,但无法提出一个简单的问题。我想到的第一个问题是,它被构想为运行时问题。这还不够简单,而且,最近证明这种变形是错误的:o。3SUM3SUM3SUMΩ(n2)Ω(n2)\Omega(n^2) 谈到一个非常不自然的问题,我相信这个问题是输入确定性TM并输入作为输入,并在之后输出磁带头的位置的问题。在上运行时的步骤可能会回答问题。⟨M⟩,x⟨M⟩,x\langle M \rangle,x(|M|+|x|)2(|M|+|x|)2(|M|+|x|)^2xxx 如果您绝对需要,请同意我们正在使用单磁带TM模型,尽管我更喜欢其运行时间与确切模型无关的问题(只要它是合理的模型即可)。 因此,我们能否找到一个运行时间为的简单(证明),自然(众所周知)的问题?Θ(n2)Θ(n2)\Theta(n^2)

2
可以通过图灵折减来显示NP硬度吗?
Ramírez-Alfonsín 在论文的Frobenius问题的复杂度中,使用图灵归约法证明了一个问题是NP完全的。那可能吗?到底如何 我以为这只有通过多项式时间多减一才有可能。有什么参考吗? 是否存在两种不同的NP硬度概念,甚至是NP完整性?但是然后我感到困惑,因为从实际的角度来看,如果我想证明我的问题是NP难题,我该使用哪一个? 他们开始进行如下描述: 从问题 到另一个问题的多项式时间Turing约简 是一种算法A,它 通过使用假设子例程A'求解来求解 , 使得如果A'是的多项式时间算法, 则A将是多项式时间算法 。我们说 可以被图灵简化为 。P1P1P_1P2P2P_2P1P1P_1P2P2P_2P2P2P_2P1P1P_1P1P1P_1P2P2P_2 一个问题 被调用(图灵)NP-硬,如果有一个NP完全决策问题 使得 可以图灵降低到 。P1P1P_1P2P2P_2P2P2P_2P1P1P_1 然后,他们使用NP完全问题的Turing约简来显示其他一些问题的NP完全性。

3
对于每个可计算的函数
对于每个可计算函数都存在一个可以在时间内最多解决的问题,或者是否存在一个可计算函数使得可以在解决的每个问题都可以也可以在时间内解决?fffΘ(f(n))Θ(f(n))\Theta(f(n))fffO(f(n))O(f(n))O(f(n))o(f(n))o(f(n))o(f(n)) 昨天这个问题浮现在我的脑海。我已经考虑了一下,但无法解决。我真的不知道该怎么用谷歌搜索,所以我在这里问。这是我想出的: 我的第一个想法是答案是肯定的:对于每个可计算的函数,“输出点”(或创建带有点的字符串或其他东西)的问题显然无法在时间。因此,我们只需要证明它可以在时间内解决。没问题,只需采用以下伪代码:ffff(n)f(n)f(n)f(n)f(n)f(n)o(f(n))o(f(n))o(f(n))O(f(n))O(f(n))O(f(n)) x = f(n) for i from 1 to x: output(".") 显然,该算法解决了所述问题。而且它的运行时显然在,因此问题得以解决。那很容易,对吗?除了不,不是因为您必须考虑第一行的成本。如果计算所需的时间在,则上述算法的运行时仅在。显然,并非所有功能都适用1。Θ(f(n))Θ(f(n))\Theta(f(n))Θ(f(n))Θ(f(n))\Theta(f(n))f(n)f(n)f(n)O(f(n))O(f(n))O(f(n)) 因此,这种方法并没有带我到任何地方。我将感谢任何为我指出正确方向的人,以正确解决此问题。 1例如,考虑函数。显然,,但是没有算法可以在时间内计算。p(n)={12if n is primeotherwisep(n)={1if n is prime2otherwisep(n) = \cases{1 & \text{if $n$ is prime} \\ 2 & \text{otherwise}}O(p(n))=O(1)O(p(n))=O(1)O(p(n)) = O(1)pppO(1)O(1)O(1)

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.