Grover的搜索算法有哪些应用程序?


14

Grover的搜索算法通常是在未排序的数据库中查找标记的条目时谈论的。这是一种自然的形式主义,可将其直接用于寻找NP问题的解决方案(在这里容易识别出好的解决方案)。

我有兴趣了解格罗弗搜索在寻找一组数字的最小值,均值和中值的其他应用。这让我想知道是否还有其他已知的Grover搜索应用程序(或其一般化应用程序,例如振幅放大)?任何简短的见解如何做到这一点将不胜感激。

Answers:


7

除了您提到的以外,我知道的(一种改进的)格罗弗算法的另一个应用是解决复杂性理论,量子计算和计算数学中碰撞问题。也称为BHT算法

介绍

碰撞问题通常是由Scott Aaronson在其博士论文中描述的2对1版本。鉴于甚至和功能˚F { 1 Ñ } { 1 n }我们事先知道f是1对1或2对1。我们只能做出关于价值查询˚F 对于任何{ 1 2 nf:{1,...,n}{1,...,n}ff(i)。然后问题问我们需要确定多少个查询才能确定 f是1比1还是2比1。i{1,2,...,n}f

确定性地解决2对1版本需要查询,通常将r对1函数与1对1函数区分开需要n / r + 1个查询。n/2+1n/r+1

确定性经典解

这是信鸽原理的直接应用:如果一个函数是从r到1的关系,那么在查询之后,我们保证会发现一个碰撞。如果函数是一对一的,则不存在冲突。如果我们很不幸,那么n / r个查询可能会返回不同的答案。因此,n / r + 1个查询是必要的。n/r+1n/rn/r+1

随机经典解

如果我们允许随机性,那么问题就更容易了。根据生日悖论,如果我们随机选择(不同)查询,则很有可能在Θ 之后出现任何固定的2比1函数冲突 查询。Θ(n)

量子BHT解决方案

直观地讲,该算法将 使用(经典)随机性的 生日悖论的平方根加速与通过Grover(量子)算法的平方根加速进行了组合。

首先,的输入至˚F随机选择和˚F在所有这些查询。如果这些输入之间发生冲突,那么我们将返回碰撞的输入对。否则,所有这些输入将通过f映射到不同的值。然后,使用格罗弗(Grover)算法查找冲突的f的新输入。由于只有 Ñ 2 / 3这样的输入到˚F,Grover的算法可以通过使只找到一个(如果它存在) Ôn1/3ffffn2/3fO(n2/3)=O(n1/3)f

资料来源:

  1. https://zh.wikipedia.org/wiki/Collision_problem

  2. https://zh.wikipedia.org/wiki/BHT_algorithm

  3. 碰撞问题的量子算法-Gilles Brassard,Peter Hoyer,Alain Tapp


关于BHT解决方案的一些评论(我发现Wikipedia文章没有启发性):首先,选择 ñ1个/3 测试输入 F随意地。假设它们没有碰撞。对这些值进行排序X 根据 FX。现在,如果FX 是2比1,有 ñ1个/3 价值观 X尚未经过测试的设备与经过测试的设备发生冲突。因此,定义一个检查“尚未测试并碰撞”的函数。这定义了标记的条目。碰撞易于通过排序的值列表进行测试FX。知道标记条目的确切数量(如果是2比1),Grover(几乎)可以保证找到解决方案。
DaftWullie

@DaftWullie是的,那肯定是有道理的。Grover的算法不能保证解决方案,但是提供正确解决方案的可能性很高。但是从Wikipedia描述本身来看,这不是很明显吗?我不确定我是否理解您的意思或反对意见。我想念什么吗?
Sanchayan Dutta,

All I can say is that it wasn't obvious to me. On first reading, I understood (falsely) that for Grover's, instead of preparing a superposition of all possible states, it only prepared a superposition over the ones not already tested. But that seemed crucial to the way that the speed-up was explained. Also, I was initially concerned about how the collisions were being checked: which pairs were being checked for collisions, and how efficiently could the collision be calculated?
DaftWullie

@DaftWullie啊,好的。我明白你的意思。维基百科没有详细介绍算法。有关详细信息,您可以始终参考原始论文(arxiv.org/abs/quant-ph/9705002)(我想您已经这样做了)。稍后,我将尝试扩展此答案以包括所有详细信息。我还在读报纸。
Sanchayan Dutta

1
除非量子比特和量子门的价格比比特和经典门的价格便宜,否则关于BHT的任何讨论都应包含以下警告:成本超过使用范·奥肖特-维纳机的最新经典碰撞搜索。有关详细信息,请参见cr.yp.to/papers.html#collisioncostblog.cr.yp.to/20171017-collisions.html。(后者是对所谓的BHT改进的回应,该改进声称比经典的碰撞搜索更具成本效益。)
Squeamish Ossifrage

4

Grover的算法也广泛用于量子密码学中。它可以用于解决先验对数问题,多项式求根问题等问题。


您愿意详细说明吗?这些问题是什么?在哪里可以阅读有关它们的更多信息?
DaftWullie

1
ieeexplore.ieee.org/document/7016940这是一份ieee论文,旨在开发一种解决多项式求根问题的量子算法。您可以在此处了解更多信息
da281

0

Grover的算法可以比蛮力搜索更快地解决任何数值优化问题,因为任何优化问题都可以表述为搜索问题(在其中搜索大于或小于某个固定值的函数输出 中号 在每次运行中重复一次,然后使用二进制搜索重复对数运行,以找到最佳 中号):https//epubs.siam.org/doi/abs/10.1137/040605072?journalCode = sjope8

实际上,对于许多困难的优化问题(例如NP完全问题),格罗弗的算法是最著名的量子算法,这些问题的结构没有比蛮力搜索更聪明的经典算法:https:// link.springer.com/chapter/10.1007/978-3-540-78773-0_67

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.