复杂性下限:决策树和RAM之间的差距


15

我最近在决策树模型中发现了问题复杂性的二次下界,我不知道是否可以将此结果部分推广到随机访问机器模型。通过部分,我的意思是推广到RAM中的程序具有一定的时间/空间权衡。例如,我想表明我的问题无法通过线性时间和-space RAM程序解决。

AM Ben-Amram和Z. Galil在本文中证明,可以在指针机器上以时间模拟在时间和空间s中运行的RAM程序。我们是否知道可以应用于决策树的类似结果?ŤsØŤ日志s

或者,是否有可能以模拟太空运行的RAM程序有度的决策树?(直观上,可以使用度为节点模拟间接寻址)sss


我对经典查询复杂度(决策树复杂度)了解不多,但是在量子设置中的类似模型(量子查询复杂度)下工作时,有时会得到电路模型的下限。例如,对于HSP,您可以证明查询复杂度是多项式,但是查询之间的unit是门的指数级...而且,据我们怀疑一般HSP在多项式时间内不可行,因此查询复杂度仅给出下限非常宽松。还是您的下限很宽松?
Artem Kaznatcheev

实际上,我真的很想为运行在RAM上的(某些)程序获得一个超线性下限。这就是为什么我希望限制空间的复杂性可以有所帮助。
龙猫

1
我不懂你的问题。您如何在查询复杂度上有一个二次下限?同样,时空权衡通常使用直接乘积定理,因此您可能必须更加努力才能获得这样的结果。
哈特穆特·克拉克

1
决策树模型中的复杂度下限来自问题的可能输出数量的下限(其对数提供了树的高度的下限)。
龙猫

Answers:


10

可以模拟RAM的与决策树相关的自然模型是分支程序。基本上,这是一个决策树,其中合并了公共子树,产生了DAG。RAM上的时间T和空间S可以在分支程序中以高度T和大小2 ^ S模拟。(您可能需要使用多向分支。)

对于决策问题,很明显,任何决策树仅需要height =#个输入和space =输入中的总位数。请注意,使用多路分支时,输入中的#位可能大于输入#的常规度量(例如,n个指针各自占用log n位。)对于此类问题,nlog总输入位为n个,可以证明时间O(n)和space = O(n)位不能解决某些问题。那是你的问题形式吗?

您似乎建议您使用输出的#尝试获得更大的下限。通常,对于多输出问题,允许沿单个边缘而不是在叶节点处有多个输出(例如,参见Borodin-Cook 1982年发表的有关对下限进行排序的论文)。但是,即使没有这种假设,也可以使用height =#个输入和space =#个输入位来计算任何函数。(读取并记住输入,并在每个叶节点上输出所有值。)


谢谢您的回答。问题的输入是一组整数的集合,因此可以认为它们以列表形式给出。无论如何,谢谢您指出了鲍罗丁和库克的技术(我一点也不知道)。我希望这种方法可以应用于我的问题。
龙猫

1

与决策树相关的自然模型是分支程序,它可以无损地模拟RAM。基本上,这是一个决策树,其中合并了公共子树,产生了DAG。RAM上的时间T和空间S可以在分支程序中以高度T和大小2 ^ S模拟。(您可能需要使用多向分支。)

对于决策问题,很明显,任何决策树仅需要height =#个输入和space =输入中的总位数。请注意,使用多路分支时,输入中的#位可能大于输入#的常规度量(例如,n个指针各自占用log n位。)对于此类问题,nlog总输入位为n个,可以证明某些问题无法在RAM上的时间O(n)和space = O(n)位解决。)这是问题的形式吗?

您似乎建议您使用输出的#尝试获得更大的下限。但是,即使这样,您也可以使用height =#个输入和space =#个输入位来计算任何函数。(读取并记住输入,并输出每个叶子节点所需的所有值。通常在单个节点上允许多个输出。)


作者最好将此答案与上一个答案合并,因为它们几乎相同。
Oleksandr Bondarenko
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.