Answers:
当然!想像你有 搜索oracle的副本 您可以使用的。通常,您可以通过重复操作来进行搜索
您可以将其替换为 并行副本,每个副本都由一个 ,使用
从规模上讲,人们可能会认为这是不相关的结果。如果您有固定数量的Oracle,,那么您得到一个固定的()改进(就像,如果您有 并行经典核,您可以获得的最佳改进是 ),并且不会更改缩放比例。但这确实改变了基本运行时间。我们知道,格罗弗的算法完全是最优的。单个oracle将花费绝对最小的时间。因此,知道您得到了 对于特定运行时间的基准值(特定值为),时间的改善是有用的 。
从某种意义上说,如果我们在不同的节点上并行执行此操作,则可以节省运行时间。但是,如果我们谈论复杂性(通常指的是加速),则需要进行一些分析。
您同意我们需要 非并行情况下的操作。假设我们有两个节点,我们将N个元素的列表分为两个大小列表。子列表上的搜索大约需要。
但是,我们有
而且您仍然需要验证并行进程返回的输出中,哪个是您要寻找的输出。它增加了一个常数,因此我们通常将其隐藏在 符号。
但是,这仍然很有趣,尤其是在我们必须对硬件进行群集的情况下,因为我们受量子位数量的限制或其他限制。