Questions tagged «lower-bounds»

3
真的有可能证明下界吗?
给定任何计算问题,为这种计算找到下界的任务确实可行吗?我想它可以归结为如何定义单个计算步骤以及我们用于证明的模型,但是鉴于此,我们是否真的能证明通常的下界?我的意思是,我们能否证明“问题不能比时间更快地解决”而不是“问题可以在时间内或更快地解决”?XXXt(X)Ť(X)t(X)XXXt(X)Ť(X)t(X) 我试图找到有关下限及其证明的信息,但是我真的找不到任何有趣的东西,关于该主题的书籍/论文/网站有什么建议吗?

4
排序(排序)5个元素所需的比较次数最少
找到排序(排序)五个元素所需的最少数量的比较,并设计一种算法,使用该数量的比较对这些元素进行排序。 解决方案:有5个!= 120个可能的结果。因此,用于排序过程的二叉树将至少具有7个级别。事实上, ≥120意味着≥7.但7比较是不够的。排序(排序)五个元素所需的最少比较次数是8。2h2h2^hhhh 这是我的实际问题:我确实找到了可以在8次比较中完成的算法,但是如何证明在7次比较中无法完成?

1
是否在检测“双重”算术级数3SUM困难?
这是受采访问题启发的。 我们给出一个整数数组并且必须确定是否有不同的使得 i < j < ka1,…,ana1,…,ana_1, \dots, a_ni<j<ki<j<ki \lt j \lt k ak−aj=aj−aiak−aj=aj−aia_k - a_j = a_j - a_i k−j=j−ik−j=j−ik - j = j - i 也就是说,序列和都在算术级数上。{ 我,Ĵ ,ķ }{ a一世,一Ĵ,一ķ}{ai,aj,ak}\{a_i, a_j, a_k\}{ i ,j ,k }{i,j,k}\{i,j,k\} 有一个简单的算法,但是找到次二次算法似乎很困难。Ø (ñ2)O(n2)O(n^2) 这是一个已知问题吗?我们可以证明这一点的3SUM难度吗?(或者提供次二次算法?) 如果愿意,可以假定,并且对于已知常数。(在面试问题中,)。一个[R + 1 - 一- [R ≤ ķ ķ …


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)

1
断头台削减与一般削减
切割问题是将某个大物体切割成几个小物体的问题。例如,假设你有一个工厂,与大的片材宽度的原始玻璃,作品和长度。有几个买家,每个买家都想要无限数量的小玻璃板。买方想要长为且宽度为纸张。您的目标是从大张纸上切下小张纸,以使总使用量最大化,浪费最小化(还有其他类型的切割和包装问题)。w ^w ^W大号大号L一世一世i升一世升一世l_iw一世w一世w_i 切割问题的一个普遍限制是,切割必须是断头台切割,即每个现有的矩形只能切割成两个较小的矩形;显然,具有断头台切割的最大使用面积可能小于没有限制的最大使用面积。 我的问题是:最佳断头台切割与最佳普通切割之间的比率是否有上限和下限? 相关工作:Song等。(2009年)描述了一种使用限制型断头台切刀的算法- 两次断头台切刀。他们使用几何约束证明,最大两次断头台切工与最大断头台切工之间的比率受。我正在寻找关于最大断头台切割量与最大常规切割量之间的比率的可比结果。6767\frac{6}{7}

6
在一个间隔中找到两个数字的最大异或:我们能做得比二次更好吗?
lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r 天真的算法只检查所有可能的对。例如在红宝石中,我们有: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end 我感觉到,我们可以做得比二次。是否有针对此问题的更好算法?

4
每个线性时间算法都是流算法吗?
在关于反计数的这个问题上,我发现了一篇论文,证明了所有(精确)流算法的空间复杂度下限。我声称这个界限扩展到了所有线性时间算法。通常来说,线性时间算法可以随意跳动(随机访问),而流式算法则不能随意跳动;它必须按顺序调查元素。我可以执行多次,但只能连续多次(对于线性运行时)。 因此我的问题是: 是否可以将每个线性时间算法表示为不断通过的流算法? 随机访问似乎阻止了(简单的)构造证明是肯定的答案,但是我也未能提出反例。 根据机器型号,在运行时,随机访问甚至可能不是问题。我会对这些模型的答案感兴趣: 图灵机,平面输入 RAM,作为​​数组输入 RAM,作为​​链接列表输入

1
约束空间的选择算法?
有一种众所周知的最坏情况选择算法,可以找到整数数组中的第k个最大元素。它使用中位数中位数方法找到足够好的枢轴,将输入数组划分为适当的位置,然后递归继续搜索第k个最大元素。O (n )O(n)O(n) ķkkķkk 如果不允许我们触摸输入数组,那么要找到O (n )时间中的第个最大元素,需要多少额外空间呢?我们能否在O (1 )的额外空间中找到第k个最大元素,并且仍然保持运行时O (n )?例如,查找最大或最小元素需要O (n )时间和O (1 )空间。 ķkkO (n )O(n)O(n)ķkkO (1 )O(1)O(1)O (n )O(n)O(n)O (n )O(n)O(n)O (1 )O(1)O(1) 凭直觉,我无法想象我们可以做得比空间更好,但是有证据吗?O (n )O(n)O(n) 可有人点到基准或拿出一个说法,为什么 “个元素将需要Ø (ñ )空间中找到Ø (ñ )的时间?⌊ Ñ / 2 ⌋⌊n/2⌋\lfloor n/2 \rfloorO (n )O(n)O(n)O(n)O(n)O(n)

1
推断优化类型
在工作中,我的任务是推断一些有关动态语言的类型信息。我将语句序列重写为嵌套let表达式,如下所示: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 由于我从一般类型信息开始,并试图推断出更具体的类型,因此自然的选择是精简类型。例如,条件运算符返回其真假分支类型的并集。在简单的情况下,它效果很好。 但是,在尝试推断以下类型时遇到了障碍: function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

2
在度量空间点集中找到小于
我在度量空间中定义了一组个点,因此我可以测量点之间的“距离”,而没有别的。我想在此集合中找到最中心的点,将其定义为与所有其他点的距离总和最小的点。度量计算很慢,因此需要尽可能避免。nnn 查找该点的明显方法是使用公制距离计算,因为它简单地(a)为每个点计算到所有其他点的距离之和,然后(b)取最小点。n2n2n^2 有没有办法在少于距离比较中做到这一点?(可能以某种方式利用三角不等式,这应该适用于我的指标。)O(n2)O(n2)O(n^2) 如果不存在确切的方法,则一个良好的近似值可能就足够了。

2
经二分模型在O(n)中是否可以进行整数排序?
据我所知,不存在可以解决以下问题的最坏情况算法:O (n )O(n)O(n) 给定长度为的序列,该序列由有限整数组成,请找到每个元素小于或等于其后继元素的排列。ñnn 但是在跨二分法的计算模型中是否存在不存在的证据? 请注意,我并没有限制整数的范围。我也不将解决方案限制为比较排序。

4
元素唯一性可以在确定的线性时间内解决吗?
考虑以下问题: 输入:列出整数的X,YX,ÿX,Y 目标:确定两个列表中是否都存在整数。XXx 假设两个列表的大小均为n。是否存在确定性的线性时间算法来解决此问题?换句话说,您可以在不使用随机性的情况下确定地在O (n )时间内解决此问题吗?X,YX,ÿX,YññnO (n )Ø(ñ)O(n) 不幸的是,您不能假定列表元素都很小。 我可以看到如何使用随机算法在预期时间内求解它:随机选择一个2通用哈希函数h,将X的元素存储到哈希表中(使用h作为哈希函数),然后查找Y的每个元素以查看其是否在哈希表中。预期的运行时间为O (n )。但是,我看不到如何找到运行时间为O (n )的确定性算法。如果您尝试对此进行非随机化并修复单个特定的哈希函数,则将存在最坏情况的输入,导致此过程在O (n )Ø(ñ)O(n)HHhXXXHHhÿÿYO (n )Ø(ñ)O(n)O (n )Ø(ñ)O(n)时间。我能找到的最好的确定性算法涉及对值进行排序,但这不是线性时间。我们可以达到线性运行时间吗?Θ (n2)Θ(ñ2)\Theta(n^2) 另外,如果您假设所有列表元素都是范围内的整数(基本上,进行计数排序),我可以看到如何在线性时间内解决它-但我对一般情况会感兴趣我们无法假设的情况。[ 1 ,n ][1个,ñ][1,n] 如果答案取决于计算模型,那么您会想到RAM模型,但对于任何合理的计算模型,我都会对结果感兴趣。我知道用于元素唯一性的决策树算法的下界,但这不是确定的,因为有时即使在Ω (n log n )界中也可以找到线性时间算法决策树模型。Ω (n 对数n )Ω(ñ日志⁡ñ)\Omega(n \log n) Ω (n 对数n )Ω(ñ日志⁡ñ)\Omega(n \log n)
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.