Questions tagged «space-time-tradeoff»

3
在对数空间中识别回文症需要多少时间?
众所周知,回文可以在磁带Turing机器上以线性时间识别,而在单磁带Turing机器上则无法识别(在这种情况下,所需时间是二次的)。线性时间算法使用输入的副本,因此也使用线性空间。222 我们是否可以仅使用对数空间在多带图灵机的线性时间内识别回文?更普遍的说,回文法已知哪种时空权衡?

1
在亚线性空间中编辑距离
使用输入大小为次线性的工作空间来计算相同长度的两个字符串之间的精确编辑距离最著名的复杂度是什么?我假设输入以某种只读格式存储。这是先前研究的问题吗? 为了使问题更具体一点,空间怎么样,其中是每个输入字符串的长度。Θ(n−−√)Θ(n)\Theta(\sqrt{n})nnn 编辑。根据David Eppstein的回答,似乎一个好问题是,是否可以在多项式时间和空间。任何下限也将很有趣。Θ(n−−√)Θ(n)\Theta(\sqrt{n})

3
高效的日志空间算法
不难发现,在确定性对数空间()中可确定的任何问题都将在最多多项式时间()中运行。许多已知的对数空间算法(例如:无向st-连通性,平面图同构)在中运行,其中异常大。LLLPPPO(nk)O(nk)O(n^k)kkk 我正在寻找在确定性对数空间和时间可同时解决的自然问题的示例,其中。关于10没有什么特别的。看一下当前已知的logspace算法,我认为足够有趣。O(nk)O(nk)O(n^k)k≤10k≤10k \leq 10k≤10k≤10k \leq 10 Aleliunas等。表明无方向性的st- 连通性在(随机日志空间)中。他们的算法的运行时间为。在和线性时间(或接近线性时间,即时间是否存在可以同时解决的自然问题?RLRLRLO(n3)O(n3)O(n^3)RLRLRLO(nlogin)O(nlogin)O(n{\log}^i{n}) 编辑:为了使事情变得更有趣,让我们来看至少是 -hard的问题。NC1NC1NC^1

1
需要简要介绍数据简洁算法
(已经在主要网站上提出要求,但是在这里也要求获得更好的报道,抱歉) 由于我了解简洁的数据结构,因此迫切需要对这一领域的最新发展进行良好的概述。 我已经在Google上搜索并阅读了很多文章,这些文章是我在脑海中提出的,我可以在google搜索结果中看到的很多文章。我仍然怀疑我在这里错过了一些重要的事情。 以下是我特别感兴趣的主题: 二进制树的简洁编码,通过有效的操作来获取父树,左/右孩子,子树中的元素数量。 这里的主要问题如下:我所知道的所有方法都假定树节点以呼吸优先顺序枚举(例如在该领域的先驱工作中,Jacobson,G. J(1988)。简洁的静态数据结构),该方法没有似乎适合我的任务。我处理的是深度优先布局中给出的巨大的二叉树,而深度优先节点索引是其他节点属性的关键,因此更改树布局对我来说有一些成本,我希望将其最小化。因此,有兴趣参考其他BF树布局来获得对作品的引用。 外部存储器中的大型可变长度项数组。数组是不可变的:我不需要添加/删除/编辑项目。唯一的要求是O(1)元素访问时间和尽可能低的开销,这比直接的偏移量和大小方法更好。这是一些我收集的有关典型数据的统计信息: 典型的物品数量-数亿个,最高达数十毫巴; 大约30%的项目的长度不超过1 位; 40%-60%的项目长度小于8位; 只有百分之几的项目的长度在32到255位之间(限制为255位) 平均项目长度〜4位+/- 1位。 从理论上讲,商品长度的任何其他分布都是可能的,但所有实际有趣的情况下的统计数据都接近上述值。 链接到各种复杂性的文章,任何晦涩难懂的教程,或多或少有文献记载的C / C ++库,-在类似任务中对您有用的任何东西,或者您的有根据的猜测看起来像的东西-都应受到感激。 更新:我忘记添加问题1:我正在处理的二叉树是不可变的。我没有更改它们的要求,我只需要以各种方式遍历它们(总是从节点移动到子节点或到父节点),因此此类操作的平均成本为O(1)。 同样,典型的树有千千万万个节点,因此不应完全存储在RAM中。

1
时空权衡的某些结果的早期历史?
我对有关通用时空权衡的已发布结果的早期历史很感兴趣。特别是,我想知道谁首先描述了以下类型的算法,该算法使用与数据流图的深度(而非宽度)成正比的空间(加上大小)来评估具有任意度为O(1)的任意数据流图的计算通过对图形进行直接的深度优先评估来实现。更详细地: 令数据流图为G =(V,E),其中V是计算顶点的集合(O(1)大小的数据值),E是边的集合(v_p,v_s),使得后继值顶点v_s \ in V立即取决于先前顶点v_p \ in V的值。令v_f为顶点,没有后继代表计算的最终结果。令我成为输入顶点的规范排序集合(无前任),因为i \ in I给出了x(i)的值。对于其他顶点v \ in S,其值由x(v)= F_v(x(P(v)))定义,其中P(v)是v的前任的规范排序列表,x(P(v))为它们的值的对应列表,F_v是顶点函数,该函数根据其前任值列表确定其值。 有了这种设置,所讨论的算法就非常明显且微不足道: def eval(v): (v can be any vertex in the graph) let P := P(v), the list of v's predecessors (has O(1) elements by assumption) let val[] := uninitialized array of |P| data values …

2
时空权衡和最佳算法
考虑某种语言LLL: L∈DTIME(O(f(n)))∩DSPACE(O(g(n)))L∈DTIME(O(f(n)))∩DSPACE(O(g(n)))L \in DTIME(O(f(n))) \cap DSPACE(O(g(n))) 这样 L∉DTIME(o(f(n)))∪DSPACE(o(g(n)))L∉DTIME(o(f(n)))∪DSPACE(o(g(n)))L \not\in DTIME(o(f(n))) \cup DSPACE(o(g(n))) 换言之,最快的机器计算在时间和空间效率最高的机器计算而利用空间。MMMLLLO(f(n))O(f(n))O(f(n))M′M′M'LLLO(g(n))O(g(n))O(g(n)) 关于M的空间效率或M'的时间效率,该怎么说呢?更确切地说,如果是所有在中计算机器的集合,那么对于最节省空间的机器,我们能说什么呢?对于明显的空格版本,同一件事呢:。MTMT\mathbb{M}_TLLLO(f(n))O(f(n))O(f(n))MTMT\mathbb{M}_TMSMS\mathbb{M}_S 或者,可以使用和g (n )定义一些良好的时空权衡吗?在什么条件下Ť 小号∈ ø (˚F (Ñ )克(Ñ ))或更一般地用于某些空间-时间的折衷ħ (Ť ,小号)什么条件下是。f(n)f(n)f(n)g(n)g(n)g(n)TS∈o(f(n)g(n))TS∈o(f(n)g(n))TS \in o(f(n)g(n))h(T,S)h(T,S)h(T,S)h(T,S)∈h(o(f(n)),o(g(n)))h(T,S)∈h(o(f(n)),o(g(n)))h(T,S) \in h(o(f(n)),o(g(n)))

1
时空权衡下限
在讨论了3SAT [ 1 ]的下界之后,我想知道制定为时空权衡的主要下界结果是什么。我排除了诸如Savitch定理之类的结果;一个好的条目将集中在单个问题及其边界上。一个例子是: “让T和S为任何SAT算法的运行时间和空间范围。那么我们必须经常无限地使T⋅S≥n2cos(π/ 7)-o(1)无限。” (在Ryan Williams的[ 1 ]中给出。) 要么 “ 在一般随机访问不确定的图灵机上,对于任何ε> 0而言,在n 1 + 0(1)时间和n1 -ε空间中无法同时求解SAT 。” (Lance Fortnow在10.1109 / CCC.1997.612300中) 此外,我包括定义自然时空权衡复杂类(不包括电路类)的。

2
空间复杂度以计算Levenshtein编辑距离的最佳字符串对齐方式
如果给定两个大小分别为n1n1n_1和字符串n2n2n_2,则标准的Levenshtein编辑距离是通过具有时间复杂度O(n1n2)O(n1n2)O(n_1 n_2)和空间复杂度的动态算法来计算的O(n1n2)O(n1n2)O(n_1 n_2)。(可以根据编辑距离进行一些改进ddd,但我们不对d做任何假设dddO(max(n1,n2))O(max(n1,n2))O(\max(n_1, n_2)) 但是,如果您想获得最佳编辑脚本的实际编辑,是否可能比内存使用情况做得更好,可能会花费运行时间?O(n1n2)O(n1n2)O(n_1 n_2)

2
计算可传递补全/路径存在预言
已经有几个问题(1,2,3约在这里传递完成),这让我觉得如果这样的事情是可能的: 假设我们得到一个有向图的输入,并想回答“GGG(u,v)∈G+(u,v)∈G+(u,v)\in G^+?”,即询问图的传递完成中两个顶点之间是否存在边 GGG?(等效地,“是否存在从uuu 至 vvv 在 GGG?”)。 给定后 GGG 您可以及时运行预处理 f(n,m)f(n,m)f(n,m) 然后需要及时回答查询 g(n,m)g(n,m)g(n,m)。 显然,如果 f=0f=0f=0 (即不允许进行预处理),最好的办法是及时回答查询 g(n)=Ω(n+m)g(n)=Ω(n+m)g(n)=\Omega(n+m)。(从运行DFSuuu 至 vvv 并返回true(如果存在路径)。 另一个琐碎的结果是,如果 f=Ω(min{n⋅m,nω})f=Ω(min{n⋅m,nω})f=\Omega(min\{n\cdot m,n^\omega\}),您可以计算可传递闭包,然后在 O(1)O(1)O(1)。 中间的东西呢?如果允许,请说f=n2f=n2f=n^2 预处理时间,您可以比 O(m+n)O(m+n)O(m+n)?也许将其改进为O(n)O(n)O(n)? 另一个变化是:假设您有 poly(n,m)poly(n,m)poly(n,m) 预处理时间,但仅 o(n2)o(n2)o(n^2) 空间,您是否可以使用预处理比以下方法更有效地回答查询 O(n+m)O(n+m)O(n+m)? 我们可以说些什么吗? f,gf,gf,g 可以回答此类查询的折衷方案? 在GPS系统中考虑了一种类似的权衡结构,在该系统中,不可能拥有位置之间所有成对距离的完整路由表,因此它使用了距离预言机的思想,该预言表存储了部分表,但在计算整个距离时可以显着提高查询速度图(通常只产生点之间的近似距离)。
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.