我们可以通过运行并行进程来加快Grover算法的速度吗?


10

在经典计算中,我们可以通过尽可能多地运行并行计算节点来运行关键字搜索(例如AES)。

显然,我们也可以运行许多Grover的算法。

我的问题是;是否可以像传统计算一样使用多个Grover算法来提高速度?

Answers:


6

当然!想像你有K=2k 搜索oracle的副本 US您可以使用的。通常,您可以通过重复操作来进行搜索

Hn(In2|00|n)HnUS,
从初始状态开始 (H|0)n。这需要时间Θ(N)。(我在用着In 表示 2n×2n 单位矩阵。)

您可以将其替换为 2k 并行副本,每个副本都由一个 x{0,1}k,使用

(IkH(nk))Ik(Ink2|00|(nk))(IkH(nk))US
从一个状态开始 |x(H|0)(nk) 运行这些程序所需的时间将减少为 O(N/K),但要求 K 倍的空间。

从规模上讲,人们可能会认为这是不相关的结果。如果您有固定数量的Oracle,K,那么您得到一个固定的(K)改进(就像,如果您有 K 并行经典核,您可以获得的最佳改进是 K),并且不会更改缩放比例。但这确实改变了基本运行时间。我们知道,格罗弗的算法完全是最优的。单个oracle将花费绝对最小的时间。因此,知道您得到了K 对于特定运行时间的基准值(特定值为),时间的改善是有用的 N


但是,如果这样做,与古典演奏的比较就失去了某些意义,不是吗?毕竟,您还可以通过运行检查给定值的操作来加快经典搜索的速度x是所有输入并行的目标。显然,这需要对可用资源进行额外的假设,但是您的论点中会做出相同的假设
glS

1
N 去无穷远, K才不是。您的问题越来越大,但是资源却很少。
AHusain

1
这个答案是正确的(尽管它可能不是最佳的,但DaftWullie确实会警告)。对并行化的要求与对经典电路复杂性的要求相同。如果您希望通过并行化来提高速度,则可以考虑电路深度(因为协调多个进程不会减少总工作量)。甚至都没有关系K是恒定的---您是否对并行化的深度改进感兴趣,或者您不感兴趣。与量子计算本身一样,仅仅将更多的计算机扔到一个问题上并不能使一切快速变魔术!
Niel de Beaudrap,

3

从某种意义上说,如果我们在不同的节点上并行执行此操作,则可以节省运行时间。但是,如果我们谈论复杂性(通常指的是加速),则需要进行一些分析。

您同意我们需要 N非并行情况下的操作。假设我们有两个节点,我们将N个元素的列表分为两个大小列表N1,N2。子列表上的搜索大约需要N1,N2

但是,我们有

N=N1+N2N1+N2

而且您仍然需要验证并行进程返回的输出中,哪个是您要寻找的输出。它增加了一个常数,因此我们通常将其隐藏在O 符号。

但是,这仍然很有趣,尤其是在我们必须对硬件进行群集的情况下,因为我们受量子位数量的限制或其他限制。


2
对于N1 = N2,它仍然是不等式:sqrt(2)* sqrt(N1)<2 * sqrt(N1)
Mariia Mykhailova

真是的 在我的脑袋$ \ sqrt {a b} = \ sqrt {a} \ sqrt {b} $我以为。我应该在午夜和疲倦时在这里停止回答。感谢您指出了这一点。
cnada 18-10-25

3
@cnada:至少有两种不同的复杂性概念,它们都与提速有关。一种是尺寸复杂度,一种是深度复杂度。除非另有说明,否则我们通常倾向于考虑大小复杂性,但深度复杂性仍然是量子计算复杂性中非常感兴趣的东西,例如在MBQC [arXiv:quant-ph / 0301052arXiv:0704.1736 ]中以及在无条件深度分隔[arXiv:1704.00690 ]。
Niel de Beaudrap

@NieldeBeaudrap我认为人们更多地关注深度复杂性。但是对于格罗弗,大小和深度复杂度大约相同。这是问题大小的平方(通常视为N个元素的列表的大小)。您认为我的做法不对吗?
cnada 18-10-25

2
您并不是在说任何错误,我只是指出您是在过分强调大小复杂性,而没有真正计算出深度复杂性的好处。如果您只做,不会有什么有趣的kO(1) 并行的Grover流程,但是正如DaftWullie的答案所建议的(并考虑到经典的后处理),深度复杂度来自于 Nlog(k)N/k 对于 k(N)Ω(1) 并行的Grover流程,这是以下方面的改进: k/log(k)(对数因子来自于确定哪个进程找到了解决方案)。
Niel de Beaudrap,
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.