Questions tagged «complexity-theory»

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

3
什么是无上下文语言的补充?
我需要知道什么类别的CFL是封闭的,即什么集合是CFL的补充。我知道CFL不是在补码下关闭的,我知道P在补码下是关闭的。由于CFL PI可以说CFL的补语包含在P中(对吗?)。仍然存在一个问题,CFL的补语是P还是整个P的适当子集。对于如何显示CFL​​的补语是整个P(如果是这种情况),我将不胜感激。⊊⊊\subsetneq

2
P和NP不等式的矛盾证明?
我试图用层次定理证明N不等于NP。这是我的观点,但是当我向老师展示并扣除后,他说这是个问题,因为我找不到令人信服的理由接受。 我们首先假设。然后,它产生,然后跟随。按照立场,我们能够将每种语言都简化为。因此,。相反,时间层次定理指出,应该有一种语言,而不是在。这将导致我们得出以下结论:在,而不在,这与我们的第一个假设相矛盾。因此,我们得出的结论是。P=NPP=NPP=NPSAT∈PSAT∈P\mathit{SAT} \in PSAT∈TIME(nk)SAT∈TIME(nk)\mathit{SAT} \in TIME(n^k)NPNPNP小号一个牛逼SAT\mathit{SAT}ñP⊆ Ť一世中号Ë(nķ)NP⊆TIME(nk)NP \subseteq TIME(n^k)一∈ Ť一世中号Ë(nk + 1)A∈TIME(nk+1)A \in TIME(n^{k+1})Ť一世中号Ë(nķ)TIME(nk)TIME(n^k)一个AAPPPñPNPNPP≠ NPP≠NPP \neq NP 我的证明有问题吗?

1
难道这是一个NP完全问题?
考虑以下问题陈述: 给定一个初始数字,您和您的朋友轮流从中减去一个完美的平方。第一个获得零胜利的人。例如: 初始状态:37 玩家1减去16。状态:21 玩家2减去8。状态:13 玩家1减去4。状态:9 玩家2减去9。状态:0 Player2获胜! 编写一个程序,该程序给出一个初始状态,并返回最佳动作,即可以确保赢得比赛的动作。如果没有任何可能的举动会导致您进入获胜状态,请返回-1。 使用动态规划可以在伪多项式时间内解决此问题。这个想法只是用最佳移动从下往上填充长度为n(其中n是初始状态)的数组,如果没有移动导致获胜,则为-1。这将花费O(n * sqrt(n)),因为对于每个数字,我们都需要考虑减去每个可能的小于它的理想平方(其中有〜sqrt(n)个)。但是,这是伪多项式运行时复杂性,因为运行时实际上相对于二进制(用于表示数字的位数)的大小与输入大小成比例关系。 谁能想到解决这个问题的多项式算法?如果没有,那么它可以是NP-Complete吗?为什么?

1
函数式编程语言实现的算法复杂度分析
我今天了解到,算法分析基于计算模型而有所不同。这是我从未想过或从未听说过的事情。 @chi用户给我的示例进一步说明了这一点: 例如,考虑任务:给定 返回 。在RAM中,这可以在解决, 因为数组访问是固定时间的。使用TM,我们需要扫描整个输入,所以它是(i,x1,…,xn)(i,x1,…,xn)(i,x_1 ,…,x_n )xixix_iO(1)O(1)O(1)O(n)O(n)O(n) 这使我对功能语言感到疑惑。从我的理解,“函数式语言是密切相关的演算”(由尤瓦Filmus一个评论对这里)。因此,如果功能语言基于lambda演算,但它们在基于RAM的计算机上运行,​​那么对使用纯功能数据结构和语言实现的算法进行复杂度分析的正确方法是什么? 我没有机会阅读“ 纯粹的功能数据结构”,但是我浏览了Wikipedia页面上的主题,并且似乎某些数据结构确实用以下方法代替了传统的数组: “数组可以用映射或随机访问列表替换,这允许使用纯功能实现,但是访问和更新时间是对数的。” 在那种情况下,计算模型会有所不同,对吗?

3
为什么(无冲突)哈希表查找真的是O(1)?
免责声明:我知道这里和Stackoverflow上已经存在类似的听起来的问题。但是它们都是关于碰撞的,这不是我要的。 我的问题是:为什么在碰撞较少查找O(1)摆在首位? 假设我有此哈希表: Hash Content ------------- ghdjg Data1 hgdzs Data2 eruit Data3 xcnvb Data4 mkwer Data5 rtzww Data6 现在,我正在寻找k哈希函数h(k)给出的键h(k) = mkwer。但是查找如何“知道”哈希mkwer在位置5?为什么不必在所有按键中滚动O(n)才能找到它?哈希不能是某种真正的硬件地址,因为我失去了移动数据的能力。据我所知,哈希表未按哈希排序(即使是哈希,搜索也将采用O(log n))? 知道哈希如何帮助您找到表格中的正确位置?

2
寻找最大程度地躺在球上的球的复杂性
给定一组点和半径。在距离小于的地方找到数量更多的点的复杂性。例如最大化?x1,…,xn∈R2x1,…,xn∈R2x_1, \ldots, x_n \in \mathbb{R}^2rrrrrr∑ni=11∥x−xi∥≤r∑i=1n1‖x−xi‖≤r\sum_{i=1}^n \mathbb{1}_{\|x - x_i\| \leq r} 蛮力算法将遍历每个点并计算距离小于r的点的数量rrr。这将导致\ mathcal {O}(n ^ 2)的复杂性O(n2)O(n2)\mathcal{O}(n^2)。 有没有更好的方法?

1
如果
如果,那么吗?我问这个问题是因为,对于其他非确定性类,似乎总是确定它们等于确定性类。P=NPP=NP\mathbf{P} = \mathbf{NP}L=NLL=NL\mathbf{L} = \mathbf{NL}P=NPP=NP\mathbf{P} = \mathbf{NP}

1
仅当至少一个是NP-hard时,NP-完全集才由另外两个集合形成吗?
该问题与先前关于由NP-完全集的集合运算形成的集合的问题相反: 如果由两个可确定集合 和并集,交集或笛卡尔乘积得出的集合是NP完全的,则中的至少一个是否一定是NP困难的?我知道它们不能都在P中(假设P!= NP),因为在这些设置操作下P是关闭的。我还知道“可判定”和“ NP难”的条件是必要的,因为如果我们考虑NP 之外的任何NP完全集和另一个集(无论是NP难还是不可判定),那么我们可以形成两个新的NP硬集不在交集为NP完全的NP中。例如:和。但是,此后我不知道如何进行。 大号2 大号1,大号2大号乙大号1:= 01 大号∪ 11 乙大号2:= 01 大号∪ 00 乙L1L1L_1L2L2L_2L1,L2L1,L2L_1, L_2LLLBBBL1:=01L∪11BL1:=01L∪11BL_1:= 01L \cup 11BL2:=01L∪00BL2:=01L∪00BL_2:= 01L \cup 00B 我认为并集的情况可能不正确,因为我们可以采用NP完全集合并按照Ladner定理执行构造,以得到NPI中的集合它是的子集。那么是原始的NP完全集合。但是,我不知道是否仍处于NPI或NP-hard中。对于交叉点和笛卡尔积,我什至不知道从哪里开始。乙∈ 甲乙∪ (甲∖ 乙)= 阿甲∖ 乙AAAB∈B∈B \inAAAB∪(A∖B)=AB∪(A∖B)=AB \cup (A \setminus B) = AA∖BA∖BA \setminus B

1
DNF到CNF的转换:简单或困难
关于证明从CNF到DNF的转换是NP-Hard的线程(以及相关的Math线程): 从DNF到CNF的另一个方向如何?容易还是困难? 在本文的第2页上,他们似乎暗示了两个方向,当他们说“ 我们对从CNF表示转换为DNF表示(反之亦然)时最大的尺寸爆炸感兴趣 ”时,两个方向都同样困难。 但是DNF-SAT在P中,而CNF-SAT在NP中。因此,在给定DNF表达式,应该有一个满足条件的 CNF表达式其长度是的长度的多项式。而且转换可以在多边形时间内完成。它是否正确?ϕ1个ϕ1个\phi_1ϕ2ϕ2\phi_2ϕ1个ϕ1个\phi_1ϕ1个→ ϕ2ϕ1个→ϕ2\phi_1 \to \phi_2 编辑:更改等效于equisatisfiable(即,附加的变量允许在)。ϕ2ϕ2\phi_2


2
将意味着?
如果则层次结构将崩溃至第二级(通过Karp-Lipton定理)。但是和呢?RP=NPRP=NP\sf RP = NPNPNP\sf NPcoNPcoNP\sf coNP 我试图证明包含(如果则另一个方向是微不足道的),但无济于事,而且我甚至不确定这是真的。BPPBPP\sf BPPNPNP\sf NPRP=NPRP=NP\sf RP = NP 你怎么看?

1
计算大整数的位数
给定二进制表示的两个整数和n,计算x n的位大小的复杂度是多少?xxxnnnxnxnx^n 这样做的一种方式是计算通过计算的近似日志2(X )以足够的精度。看来可以在O (M (k )log k )中完成以k位精度计算log 2(x ),其中M (1+⌊log2(xn)⌋=1+⌊nlog2(x)⌋1+⌊log2⁡(xn)⌋=1+⌊nlog2⁡(x)⌋1+\lfloor \log_2(x^n)\rfloor=1+\lfloor n\log_2(x)\rfloorlog2(x)log2⁡(x)\log_2(x)log2(x)log2⁡(x)\log_2(x)kkkO(M(k)logk)O(M(k)log⁡k)O(M(k)\log k)是计算长度为 k的两个整数的乘积所需的时间。如果 s是 x和 n 的位大小的边界(如果我没有出错),这将产生一个复杂度大约为 O (s log 2 s )的(不是特别简单的)算法。M(k)M(k)M(k)kkkO(slog2s)O(slog2⁡s)O(s\log^2 s)sssxxxnnn 我们可以击败,其中s是x和n的大小(如果它们具有可比较的大小)?是否有一种简单的算法可以使这种复杂性更好?O(slog2(s))O(slog2⁡(s))O(s\log^2(s))sssxxxnnn 注意:我对诸如图灵机之类的理论模型的复杂性感兴趣。

2
这个经典的益智书籍游戏NP是否完整?
有一个经典的益智书籍游戏,与填字游戏非常相似,不同之处在于给出了单词列表,然后给出了由单位正方形组成的正方形板,其中一些正方形像填字游戏一样被涂黑,并且一些方块中已经预先写了一个字母。目的是将列表中的每个单词一次性写入拼图中一次,其中每个单词在水平(从左到右)或垂直(自上而下)被写入未涂黑的连续方块中,并且在您写入一个单词时,字词结尾两侧的两个正方形必须涂黑或从黑板上除掉。同样对于预先写成某些方块的字母,与这些方块重叠的单词也必须遵守预先写好的字母。ñ× NN×NN \times N 现在,如果我们假设单词的大小是固定的,那么我们将决定是否可以使用列表上的每个单词,一次且仅一次NP完全问题,如果董事会的边长是不固定?

1
如果我们使用图灵缩减,那么复杂度类是什么样的?
为了进行诸如NP完整性之类的推理,我们通常使用多对一的缩减(即Karp缩减)。这导致了这样的图片: (根据标准推测)。我确定我们都对这种事情很熟悉。 如果我们使用图灵折减法(即Cook折算法),我们会得到什么印象?图片如何变化? PñPPNPP^{NP}ñPNPNPÇ Ò ÑPcoNPcoNPPñPPNPP^{NP}ñPNPNP P⊂PNP⊂PH⊂PSPACEP⊂PNP⊂PH⊂PSPACEP \subset P^{NP} \subset PH \subset PSPACE C0=PC0=PC_0=PC1=PNPC1=PNPC_1=P^{NP}C2=?C2=?C_2=?PHPHPHP≠NPP≠NPP \ne NP 相关:定义NPC的多对一减少与图灵减少。该文章解释说,我们使用Karp约简的原因是它为我们提供了更细粒度,更丰富,更精确的层次结构。本质上,我想知道如果使用图灵归约法,层次结构将是什么样子:更粗,更不丰富,更不精确的层次结构会是什么样子。

4
从边按点距离加权的图形中恢复点嵌入
假设我给您一个带有加权边的无向图,并告诉您每个节点都对应于3d空间中的一个点。每当两个节点之间有一条边时,该边的权重即为点之间的距离。 您的目标是在仅提供可用距离(以边权重表示)的情况下重建点的相对位置。例如,如果我给您,那么您知道这些点是四面体的顶点。您不知道它相对于原点的位置,位置或方向,或者是否已被镜像,但是您可以知道它是四面体。d0 ,1=d0,2=d0,3=d1,2=d1,3=d2,3= 1d0,1个=d0,2=d0,3=d1个,2=d1个,3=d2,3=1个d_{0,1} = d_{0,2} = d_{0,3} = d_{1,2} = d_{1,3} = d_{2,3} = 1 通常,如果我给您所有的边长,问题很容易解决。只需任意选择一个点在,然后选择一个相邻点并将其放置在,然后将一个公共邻居三角剖分到XY上平面,然后将最终的公共邻居三角剖分到半空间并打破了其余的对称性(假设您没有选择退化点)。您可以使用这四个点对所有其余的点进行三角剖分。(0 ,0 ,0 )p 1(d 0 ,1,0 ,0 )p 2 p 3 ž > 0p0p0p_0(0,0,0)(0,0,0)(0,0,0)p1p1个p_1(d0,1,0,0)(d0,1个,0,0)(d_{0,1},0,0)p2p2p_2p3p3p_3ž> 0ž>0z > 0 另一方面,当缺少一些边缘长度时,可能无法恢复嵌入。例如,如果有一个顶点在切割时使图形断开连接,那么如果移除了该顶点,它将分离的两个组件可能会相对摆动。 这就提出了问题: 找到解决方案的价格是多少? 您如何确定解决方案是否唯一,直到平移/旋转/镜像?3连通性足够吗?必要? 什么样的条件使问题变得微不足道? 如果我不保证边缘权重实际上对应于点距sin 3d,那么确定是否完全可以嵌入的代价是多少?

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.