Questions tagged «time-complexity»

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

2
CNF-SAT是否有不确定的线性时间算法?
决策问题CNF-SAT可以描述如下: 输入:逻辑合取形式的布尔公式。ϕϕ\phi 问题:是否存在满足的变量赋值?ϕϕ\phi 我正在考虑使用非确定性两带图灵机解决CNF-SAT的几种不同方法。 我相信有一个NTM可以在步骤中解决CNF-SAT 。n⋅poly(log(n))n⋅poly(log⁡(n))n \cdot \texttt{poly}(\log(n)) 问题:是否有一个NTM可以在步骤中解决CNF-SAT ?O(n)O(n)O(n) 即使任何相关参考文献仅提供接近线性时间的不确定性方法,也应赞赏。

5
哪些值得注意的自动机模型具有多项式可确定的约束?
我正在尝试解决一个特定的问题,并且我认为我可以使用自动机理论来解决它。我想知道,自动机的哪些模型在多项式时间内可确定遏制能力?也就是说,如果您拥有机器可以有效地测试。M1,M2M1,M2M_1, M_2L(M1)⊆L(M2)L(M1)⊆L(M2)L(M_1) \subseteq L(M_2) 我想到的显而易见的是DFA和逆转边界计数器计算机,其中计数器的数目是固定的(请参阅本文)。 哪些其他值得注意的类可以添加到此列表? 自动机越强大,效果越好。例如,DFA不足以解决我的问题,并且计数器计算机无法使用固定数量的计数器来完成此任务。(自然地,如果您变得过于强大,那么遏制对于NFA来说是难以解决的,对于CFG而言则是不确定的)。

5
是否可以测试可计算数字是有理数还是整数?
是否可以通过算法测试可计算数是有理数还是整数?换句话说,将有可能为图书馆实现可计算数提供的功能isInteger还是isRational? 我猜测这是不可能的,并且这在某种程度上与以下事实有关:无法测试两个数字是否相等,但是我看不出如何证明这一点。 编辑:可计算的数字xxx由函数给出,该函数fx(ϵ)fx(ϵ)f_x(\epsilon)可以返回精度为ϵ的的有理近似值:| x − f x(ϵ )| ≤ ε,对于任何ε > 0。鉴于这样的功能,就是可以测试,如果X ∈ Q或X ∈ ž?xxxϵϵ\epsilon|x−fx(ϵ)|≤ϵ|x−fx(ϵ)|≤ϵ|x - f_x(\epsilon)| \leq \epsilonϵ>0ϵ>0\epsilon > 0x∈Qx∈Qx \in \mathrm{Q}x∈Zx∈Zx \in \mathrm{Z}
18 computability  computing-over-reals  lambda-calculus  graph-theory  co.combinatorics  cc.complexity-theory  reference-request  graph-theory  proofs  np-complete  cc.complexity-theory  machine-learning  boolean-functions  combinatory-logic  boolean-formulas  reference-request  approximation-algorithms  optimization  cc.complexity-theory  co.combinatorics  permutations  cc.complexity-theory  cc.complexity-theory  ai.artificial-intel  p-vs-np  relativization  co.combinatorics  permutations  ds.algorithms  algebra  automata-theory  dfa  lo.logic  temporal-logic  linear-temporal-logic  circuit-complexity  lower-bounds  permanent  arithmetic-circuits  determinant  dc.parallel-comp  asymptotics  ds.algorithms  graph-theory  planar-graphs  physics  max-flow  max-flow-min-cut  fl.formal-languages  automata-theory  finite-model-theory  dfa  language-design  soft-question  machine-learning  linear-algebra  db.databases  arithmetic-circuits  ds.algorithms  machine-learning  ds.data-structures  tree  soft-question  security  project-topic  approximation-algorithms  linear-programming  primal-dual  reference-request  graph-theory  graph-algorithms  cr.crypto-security  quantum-computing  gr.group-theory  graph-theory  time-complexity  lower-bounds  matrices  sorting  asymptotics  approximation-algorithms  linear-algebra  matrices  max-cut  graph-theory  graph-algorithms  time-complexity  circuit-complexity  regular-language  graph-algorithms  approximation-algorithms  set-cover  clique  graph-theory  graph-algorithms  approximation-algorithms  clustering  partition-problem  time-complexity  turing-machines  term-rewriting-systems  cc.complexity-theory  time-complexity  nondeterminism 


2
计算离散傅立叶变换的复杂性?
计算整数的向量的标准离散傅里叶变换的复杂度(在标准整数RAM上)是多少?ñnn 经典的算法快速傅立叶变换,不适当[1]归因于库利和Tukey,通常被描述为在运行时间。但是,此算法中执行的大多数算术运算均始于第个复数的单位根(对于大多数)是无理的,因此在恒定时间内进行准确的评估是不合理的。朴素的 -时间算法(乘以具有复数单位根的Vandermonde矩阵也会出现相同的问题。n n O (n 2)Ø (ñ 日志n )O(nlog⁡n)O(n \log n)ñnnñnnØ (ñ2)O(n2)O(n^2) 甚至还不清楚如何准确表示DFT的输出(以任何有用的形式)。换句话说,尚不清楚计算DFT实际上是否可行! 因此,假设我们在每个输出值中只需要位精度。 作为和的函数,计算离散傅里叶变换的复杂度是多少? (具体而言,请随意假设是的幂。)n b n 2bbbñnnbbbñnn222 还是文献中“ FFT”的每个实例实际上意味着“快速数论变换 ”?[2] 有关高斯消去和欧几里得最短路径的复杂性,请参阅我的相关问题。 [1]它应该真正被称为(Gauss-Runge-König-Yates-Stumpf-Danielson-Lánczos-Cooley-Tukey算法的(其前缀)。 [2]如果是这样,为什么大多数教科书只描述复数算法?

3
在时间和查询复杂度之间进行权衡
直接以时间复杂度或电路下限工作很可怕。因此,我们开发了诸如查询复杂度(或决策树复杂度)之类的工具来处理下限。由于每个查询至少需要一个单元步骤,并且查询之间的计算被视为免费,因此时间复杂度至少与查询复杂度一样高。但是,我们能谈谈分离吗? 我对古典或量子文学中的作品感到好奇,但由于我比较熟悉,因此提供了QC的示例。 一些著名的算法,例如Grover的搜索和Shor的周期发现,时间复杂度在查询复杂度的多对数因子之内。对于其他问题,例如“隐藏子组问题”,我们具有多项式查询复杂度,但多项式时间算法未知。 由于时间和查询复杂度之间可能存在差距,因此尚不清楚最佳时间复杂度算法是否必须具有与最佳查询复杂度算法相同的查询复杂度。 在时间和查询复杂度之间是否存在取舍的例子? 是否存在最知名的时间复杂度算法与最知名的查询复杂度算法具有不同查询复杂度的问题?换句话说,我们可以执行更多查询以简化查询之间的操作吗? 还是有一个论据表明总是存在一种渐近最优查询算法的版本,该算法的实现具有渐近最佳时间复杂性?

2
线性时间中的“几乎排序”整数
我有兴趣对线性时间中的正整数值的数组进行排序(在采用均等成本度量的RAM模型中,即整数可以具有对数大小,但假定对其进行算术运算单位时间)。当然,使用基于比较的排序算法是不可能的,因此我对计算“近似”排序很感兴趣,即,计算一些置换通常不是真正排序的,而是的排序版本的“良好近似” 。我将假定我们按递减顺序对整数进行排序,因为它使续集的陈述更加令人愉快,但当然可以反过来说明问题。L=v1,…,vnL=v1,…,vnL = v_1, \ldots, v_nvσ(1),…,vσ(n)vσ(1),…,vσ(n)v_{\sigma(1)}, \ldots, v_{\sigma(n)}LLLLLL 用于近似的排序的一个可能的准则是以下的(*):让NNN是∑ivi∑ivi\sum_i v_i,对于每1≤i≤n1≤i≤n1 \leq i \leq n,我们要求(即, “准排序”列表从上方受递减函数。很容易看出实际排序满足以下条件:不得大于因此最多为,即,通常不得大于vσ(i)≤N/ivσ(i)≤N/iv_{\sigma(i)} \leq N/ii↦N/ii↦N/ii \mapsto N/ivσ(2)vσ(2)v_{\sigma(2)}vσ(1)vσ(1)v_{\sigma(1)}(vσ(1)+vσ(2))/2(vσ(1)+vσ(2))/2(v_{\sigma(1)} + v_{\sigma(2)})/2≤N/2≤N/2\leq N/2vσ(i)vσ(i)v_{\sigma(i)}(∑j≤ivσ(i))/i(∑j≤ivσ(i))/i(\sum_{j \leq i} v_{\sigma(i)})/i,即。≤N/i≤N/i\leq N/i 例如,可以通过以下算法(@Louis建议)来实现要求(*)。我的问题是:是否通过强加诸如(*)这样的实际排序可以满足的要求来完成线性时间“几乎排序”整数的任务?下面的算法或它的某些变体是否具有确定的名称? 编辑:修复了算法并添加了更多说明 算法: INPUT: V an array of size n containing positive integers OUTPUT: T N = Σ_{i<n} V[i] Create n buckets indexed by …

2
相似矩阵
给定两个 ×矩阵和,确定是否存在置换矩阵使得等于(图同构)的问题。但是,如果我们放松使其只是一个可逆矩阵,那么复杂度是多少?除了作为一个排列之外,对可逆矩阵是否还有其他限制,将这个问题与其他困难问题联系起来?A B P B = P − 1 A P P Pn×nn×nn \times nAAABBBPPPB=P−1APB=P−1APB = P^{-1}APGIPPPPPPGI

1
您可以为PTIME中不包含负数的单调布尔表达式确定等效项吗?
是PTIME中的以下问题,还是coNP-hard: 给定变量两个布尔表达式和,它们不带负数(即,这些表达式完全通过和构建)。确定是否对变量的所有赋值都具有相同的值。ë 2 X 1,... ,X Ñ ∧ ∨ ë 1 ≡ ë 2Ë1个Ë1个e_1Ë2Ë2e_2X1个,… ,xñX1个,…,Xñx_1,\dots,x_n∧∧\wedge∨∨\veeË1个≡ è2Ë1个≡Ë2e_1 \equiv e_2 如果两个表达式都用DNF给出,那么问题就出在PTIME中,因为我们可以首先按字典顺序对连接子句进行排序并进行比较。但是将任意表达式带到DNF可能会成倍增加。类似的观点似乎适用于二进制决策图。 显然,问题在于coNP。 我正在谷歌搜索相当多的内容,但是找不到任何答案。 道歉的基本问题。

1
不?
我希望答案是“否”,但我实际上无法构造一个反例。区别在于,在,我们可能无法统一选择算法在。∩ ε > 0 d Ť 我中号È(ø (Ñ 2 + ε))ø (Ñ 2 +∩ε>0DTIME(O(n2+ε))∩_{ε>0} \mathrm{DTIME}(O(n^{2+ε})) ε)εO(n2+ε)O(n^{2+ε})εε 通过一个燕尾式参数(例如,参见此问题),如果存在一决定语言使得,则为在。中号我大号∀ ε > 0 ∃ 中号我 ∈ ø (Ñ 2 + ε)大号d Ť 我中号ë(Ñ 2 + Ö (1 ))MiM_iLL∀ε>0∃Mi∈O(n2+ε)∀ε>0 ∃M_i ∈ O(n^{2+ε})LLDTIME(n2+o(1))\mathrm{DTIME}(n^{2+o(1)}) 在给定图灵机的情况下,该机是否在时间是π^ 0_3 -complete。语言(给机器识别代码)是否在\ mathrm {DTIME}(n ^ {2 + o(1)})中为Σ^ 0_4(和Π^ 0_3 -hard);语言是否在∩_{ε> …

3
线性时间原位浅滩混洗算法
是否存在线性时间就地浅滩混洗算法?这是一些特别灵巧的手能够执行的算法:均匀划分偶数大小的输入数组,然后交织两半的元素。 Mathworld上有一个关于浅滩混洗的简短页面。特别是,我对混洗类型感兴趣,该混洗类型将输入数组1 2 3 4 5 6转换为1 4 2 5 3 6。请注意,在其定义中,输入长度为2n2n2n。 如果我们有第二个大小为nnn或更大的数组,则可以在线性时间内直接执行此操作。首先将最后nnn元素复制到数组中。然后,假设为基础的0索引,复制所述第一nnn元件从索引[0,1,2,...,n−1][0,1,2,...,n−1][0,1,2,...,n-1]至[0,2,4,...,2n−2][0,2,4,...,2n−2][0, 2, 4,...,2n-2]。然后复制nnn从第二阵列回输入数组元素,映射索引[0,1,2,...,n−1][0,1,2,...,n−1][0,1,2,...,n-1]到[1,3,5,...,2n−1][1,3,5,...,2n−1][1,3,5,...,2n-1]。(我们可以做的工作比这少一点,因为输入中的第一个和最后一个元素不会移动。) 一种尝试就地执行此操作的方法包括将置换分解为不相交的循环,然后根据每个循环重新排列元素。同样,假设基于0的索引,则6元素情况下涉及的置换为 σ=(001224314355)=(0)(5)(1243).σ=(012345024135)=(0)(5)(1243). \sigma=\begin{pmatrix} 0 & 1 & 2 & 3 & 4 & 5 \\ 0 & 2 & 4 & 1 & 3 & 5\end{pmatrix}=\begin{pmatrix}0 \end{pmatrix} \begin{pmatrix}5 \end{pmatrix} \begin{pmatrix}1 & 2 & 4 &3 …

2
计算矩形矩阵秩的最快算法是什么?
给定一个矩阵(假设米≥ Ñ),什么是最快的算法来计算其列秩和依据?m×nm×nm \times nm≥nm≥nm \ge n 我知道它可以通过线性拟阵相交,这意味着一个来解决时间确定性算法和ø (米Ñ ω - 1)时间随机化算法。是否有一个ø (米Ñ ω - 1)时间确定性算法更直接减少的问题(或高斯消元),以矩阵乘法?O(mn1.62)O(mn1.62)O(mn^{1.62})O(mnω−1)O(mnω−1)O(mn^{\omega-1})O(mnω−1)O(mnω−1个)O(mn^{\omega-1})

3
可以在恒定时间内解决的非平凡问题?
恒定时间是时间复杂度的绝对下限。也许有人会想:在恒定时间内可以计算出任何平凡的东西吗?如果我们坚持使用图灵机模型,那么将无能为力,因为答案只能取决于输入的恒定长度的初始部分,因为输入的其他部分甚至无法在恒定时间内到达。 另一方面,如果我们采用功能更强大(更现实)的单位成本RAM模型,其中对位数字的基本运算被计为单个步骤,那么我们也许能够解决非平凡的问题任务,即使是在恒定的时间。这是一个例子:O(logn)O(log⁡n)O(\log n) 实例:整数,每个整数以O (log n )位的二进制格式给出。n,k,l,dn,k,l,dn, k, l, dO(logn)O(log⁡n)O(\log n) 问题:是否存在一个顶点图,其顶点连通性为k,其边缘连通性为l,其最小度为d?nnnkkklllddd 请注意,从定义来看,问题甚至不在于NP。原因是自然见证人(图形)可能需要位长的描述,而输入仅由O (log n )位给出。另一方面,以下定理(请参阅B. Bollobas的《极值图论》)得到了拯救。Ω(n2)Ω(n2)\Omega(n^2)O(logn)O(log⁡n)O(\log n) 定理:令为整数。当且仅当满足以下条件之一时,存在一个具有顶点连通性k,边缘连通性l和最小度 d的n顶点图:n,k,l,dn,k,l,dn, k, l, dnnnkkklllddd , 0≤k≤l≤d&lt;⌊n/2⌋0≤k≤l≤d&lt;⌊n/2⌋0\leq k\leq l \leq d <\lfloor n/2 \rfloor 1≤2d+2−n≤k≤l=d&lt;n−11≤2d+2−n≤k≤l=d&lt;n−11\leq 2d+2-n\leq k\leq l = d< n-1 k=l=d=n−1.k=l=d=n−1.k=l=d=n-1. 由于可以在恒定时间内检查这些条件(在单价RAM模型中),因此在该模型中,定理导致了恒定时间算法。 问:恒定时间算法还有哪些其他重要的例子?

1
矩阵乘法的计算复杂度
我正在寻找有关矩形矩阵的矩阵乘法的计算复杂性的信息。维基百科指出乘法的复杂性由乙∈ [R Ñ × p是ø (米Ñ p )(教科书倍增)。甲∈ řm × n一种∈[R米×ñA \in \mathbb{R}^{m \times n}乙∈ řÑ × p乙∈[Rñ×pB \in \mathbb{R}^{n \times p}ø (米Ñ p )Ø(米ñp)O(mnp) 我有一种情况,其中和n远小于p,我希望在p中获得比线性更好的复杂度,但代价是使对m和n的依赖性比线性差。米米mññnpppppp米米mññn 有任何想法吗? 谢谢。 注意:我希望之所以成为可能是因为众所周知的结果是,如果m = n = p(矩阵都是平方的话),则三次方依赖性较小。pppm = n = p米=ñ=pm=n=p

3
数据结构的下界
是否知道结果排除了“过于真实”数据结构的存在? 例如:可以在一个添加和Ĵ ö 我Ñ功能的顺序维护数据结构(参见迪茨和Sleator STOC '87),并且仍然获得Ô(1 )时的动作?小号p 升我吨小号p升一世ŤSplitĴØ 我ñĴØ一世ñJoinO(1)Ø(1个)\mathcal{O}(1) 或者:是否可以用整数键和时间操作实现有序集?当然,这至少和发现用于对整数排序的线性时间算法一样困难。O(1)Ø(1个)\mathcal{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.