联合树问题的随机查询复杂度


23

Childs等人在2003年发表重要论文。引入了“联合树问题”:一个承认指数量子加速的问题,这与我们所知道的任何其他此类问题都不一样。在这个问题中,我们得到了一个指数级的图形,如下图所示,它由两个深度为n的完整二叉树组成,它们的叶子通过一个随机周期相互连接。我们提供了ENTRANCE顶点的标签。我们还提供了一个预言机,该预言机给定任何顶点的标签,告诉我们其相邻节点的标签。我们的目标是找到EXIT顶点(可以轻松识别,它是图形中除ENTRANCE顶点之外唯一的2度顶点)。我们可以假设标签是随机的长字符串,因此,以极大的概率,除ENTRANCE顶点以外的其他顶点由oracle赋予。

查尔兹等。表明量子游走算法能够简单地遍历该图,并在poly(n)步骤之后找到EXIT顶点。相比之下,他们还表明,任何经典的随机算法都需要exp(n)步骤才能高概率地找到EXIT顶点。他们将其下界表示为Ω(2 n / 6),但我认为仔细检查其证明会得出Ω(2 n / 2)。直观地讲,这是因为以极大的概率,图上的随机游走(甚至是自我规避的游走等)将在广阔的中间区域停留一段指数时间:任何时候,步行者开始向出口走去,远离EXIT的大量边缘将作为“排斥力”,将其推向中间。

他们对参数进行形式化的方式是表明,直到访问〜2 n / 2个顶点之前,随机算法甚至都没有在图中找到任何循环:到目前为止,所看到的诱导子图只是一棵树,没有提供有关退出顶点可能在哪里的任何信息。

我有兴趣更精确地确定此问题的随机查询复杂度。我的问题是这样的:

谁能提出一种经典算法,以不到2 n的步长找到EXIT顶点,比如O(2 n / 2)或O(2 2n / 3)?或者,有人能给出比Ω(2 n / 2)更好的下界吗?

(请注意,根据生日悖论,在O(2 n / 2)个步骤之后在图形中查找循环并不难。问题是,是否可以使用循环来获取有关EXIT顶点在哪里的任何线索。)

如果有人可以改善超过Ω(2 n / 2)的下界,那么据我所知,这将提供具有指数量子加速比的黑盒问题的第一个可证明示例,其随机查询复杂度大于√N 。(其中N〜2 n是问题大小。)

更新:我从安德鲁·柴尔兹(Andrew Childs)那里了解到,在本笔记中,芬纳(Fenner)和张(Zhang)明确将联合树的随机下界提高到Ω(2 n / 3)。如果他们愿意接受恒定的(​​而不是指数上较小的)成功概率,我相信他们可以将界限进一步提高到Ω(2 n / 2)。

在此处输入图片说明

Answers:


22

我想我有一个确定性算法,可以在 oracle调用中找到出口。O(n2n/2)

首先,找到距离入口所有顶点的标签。这需要O 2 n / 2)个查询。然后,从入口开始,步行n + 1步,到达距入口n + 1距离的节点X。我们将尝试到达此节点的出口。n/2O(2n/2)n+1Xn+1

出发,我们有两个选择,我们希望选择一个更靠近出口的地方。要做到这一点,挑的任意一个选项,到达一个节点ÿ。然后探索从Y步行n / 2步的所有O 2 n / 2方法。如果其中一个给与入口的距离标记为n / 2,则我们知道从XY的选择是错误的选择。否则,Y是正确的选择。因此在O 2 n / 2XYO(2n/2)n/2Yn/2XYY我们发现到入口处的节点 X 2的距离为 n + 2O(2n/2)X2n+2

我们可以继续这种方式。为了找到距入口的距离的节点,我们从X 2开始并走了两个任意步骤。然后,我们探索步行n / 2个附加步骤的所有选项(同时不要向后走),并检查其中是否有距入口n / 2的距离。当且仅当我们从X 2走出的第一步错误时,才会发生这种情况。n+3X2n/2n/2X2

到达出口需要这样做次,总共执行O n 2 n / 2)个 oracle调用。另外,也许令人惊讶的是,该算法是确定性的。nO(n2n/2)

编辑:为了明确起见,要从X t + 1,我们走t任意步,然后进行深度n / 2的搜索,总共需要t + 2 n / 2步。如果第一步离开出口,那么所有前t步都完成了,因此我们找到了距入口n / 2的标签。这意味着t + 2 n / 2步就足以确定从X t采取的下一步骤XtXt+1tn/2t+2n/2tn/2t+2n/2Xt


我不明白 要找到,您需要从X tt个任意步,然后再加上n / 2个附加步?这难道不给2 t 2 n / 2步太多了吗?Xt+1tXtn/22t2n/2
domotorp 2014年

我第二次请domotorp感到困惑。难道不是,您越接近出口,到达起点时要获得的点之一所需的路径就越长?不过,也许您可​​以利用这样一个事实,即从出口附近开始的路径极有可能向中心左移直到到达中心为止?(这会为您的算法增加一些随机性。)2n/2
Scott Aaronson 2014年

仔细考虑一下,如果我们利用以下事实这一事实,即从图形右半部分的任意一个顶点,您有1/2的机会选择一个方向,该方向将导致您无情地回到中心位置?这可能足以使我们离开EXIT顶点n / 2,然后可以让我们通过进一步的查询来查找EXIT顶点本身。2n/2
Scott Aaronson

1
要找到,请从X t任意选择t步,但仅执行一次。这需要t步,而不是2 t步。然后以所有可能的方式进行n / 2个步骤。这需要2 n / 2步。总数为t + 2 n / 2。我使用的事实是,如果t个步骤中的第一个错误,那么所有tXt+1tXtt2tn/22n/2t+2n/2tt这些步骤中的一部分远离出口(然后又回到入口)。在最初的步之后情况不再如此,这就是为什么您需要开始详尽搜索的原因。t
沙廖夫

1
从两端开始搜索并导致相对于朴素算法的sqrt()改进的想法被称为双向搜索,并且在各种情况下(例如Google地图中的路线计划)已被独立地多次重新发现。原始参考文献似乎是:GB Dantzig。线性编程和扩展。普林斯顿大学出版社,1962
。–亚历克斯·洛佩兹·奥尔蒂斯2014年
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.