Grover算法及其与复杂度类别的关系?


12

我对Grover的算法及其与复杂度类的联系感到困惑。

该Grover的算法找到和元件中的一个数据库Ñ = 2 Ñ(使得˚F ķ = 1)与元件的kN=2nf(k)=1 对oracle的调用。

N=2n/2

所以我们有以下问题:

问题:在数据库中找到一个,使得f k = 1kf(k)=1

现在我知道这不是一个决定性的问题,因此我们对复杂度等级NP等的一般定义并没有真正应用。但是我很好奇,在这种情况下我们将如何定义复杂性类,而对于Nn而言,它是如何完成的呢?PNPNn

此外,格罗弗的算法可以用作子例程。我在几个地方都读到了Grover的算法不会改变复杂度等级的问题-是否有一种启发式的方式来解决这一问题。


考虑使用\text{}编写复杂性类的名称。例如\text{NP}\text{BQP}
Sanchayan Dutta

1
我不确定您在这里问什么。由于复杂度类包含计算问题,因此算法不能成为复杂度类的成员。您是在问问题中提到的问题是包含在“已知”复杂性类中还是完整的?您是在问格罗弗算法的“发现”是否导致关于已知复杂度类之间关系的定理?请澄清。
离散蜥蜴

Answers:


6

摘要

  • 有一个搜索问题(也称为关系问题)的复杂性理论。该理论包括称为FPFNPFBQP的类,这些类有效地解决了使用不同种类资源的搜索问题。
  • 从搜索问题中,您还可以定义决策问题,使您可以将搜索问题与常规类PNPBQP关联。
  • 无论您考虑问题的决策版本的搜索版本,还是考虑非结构化搜索问题的输入方式,都将确定您可以在其复杂性上设定哪些上限。

关系问题的复杂性

如您所述,格罗弗(Grover)问题解决了搜索问题,在复杂性文献中有时也将其称为关系问题。也就是说,这是以下问题:

一般搜索问题的结构。
给定输入和二元关系R,找到一个y,使R x y 成立。xRyR(x,y)

复杂度类FPFNP是根据这样的问题定义的,其中特别要关注的是长度最多为x长度的多项式函数,并且关系R x y 本身可以以x y 长度由多项式为边界的时间来计算。yxR(x,y)(x,y)

特别是:通常应用Grover搜索的“数据库搜索”问题的示例可以描述如下。

非结构化搜索。
给定一个输入预言,使得 ö | 一个| b = | 一个| b ˚F 对于某些功能 ˚F { 0 1 } { 0 1 },找到一个 ÿ使得 ö | ÿ | 0 = | ÿ | 1个O:H2m+1H2m+1O|a|b=|a|bf(a)f:{0,1}m{0,1}yO|y|0=|y|1

在这里,甲骨文本身就是问题的输入:它扮演的角色,我们正在计算的关系是 R Oy x

R(O,y)[O|y|0=|y|1][f(y)=1].

假设我们提供了一个特定的输入来代替oracle,它描述了函数f的计算方式,然后我们可以考虑此问题属于哪个复杂度类。所示,我们获得的适当的复杂度类取决于如何提供输入。xfpyramids

  • 假设输入功能被作为数据库(作为问题有时被描述),其中,每个条目到数据库具有一定的长度提供。如果n是用于描述整个数据库的字符串x的长度,则该数据库具有N = n /个条目。然后,可以通过依次查询N个条目中的每个条目来穷举搜索整个数据库,如果找到条目y使f y = 1则停止搜索。假设对数据库的每个查询都采用类似O nxN=n/Nyf(y)=1时间,在此时间过程暂停 ø Ñ 日志Ñ ø Ñ 登录Ñ ,从而使问题在FPO(logN)O(logn)O(NlogN)O(nlogn)

    假设数据库查找可以以连贯的方式进行,Grover算法允许在FBQP中解决此问题。然而,由于FP  ⊆  FBQP,经典的穷举搜索也证明这个问题是FBQP。由于节省了数据库查询数量,我们获得的所有结果(最多对数因子)都是二次加速的。

  • 假设输入功能简洁地描述的,通过一个多项式时间算法,需要一个规格和一个参数ÿ { 0 1 } 并且计算øħ + 1 2x{0,1}ny{0,1}mO:H2m+1H2m+1在标准状态下,其中可能比大得多Ω 日志Ñ 。一个例子是,其中X指定一些布尔函数的CNF形式˚F { 0 1 } { 0 1 }ø Ñ ,在这种情况下,我们可以有效地评估˚F Ý 上的输入ÿ |y|bmΩ(logn)xf:{0,1}m{0,1}mO(n)f(y),并由此有效地评估 ö标准基础状态。这使问题出现在FNP中y{0,1}mO

    给定一个程序,用于在n = |的时间O p n )中x y 计算x | ,格罗弗的算法解决非结构化搜索的问题Ø及时Ø p ñ f(y)(x,y)O(p(n))n=|x|OÔpÑO(p(n)2m) 。这不是n中的多项式,因此不足以将这个问题放在FBQP中:我们仅获得二次加速-尽管这仍然可能节省大量的计算时间,但前提是不会损失格罗弗算法提供的优势容错量子计算所需的开销。O(p(n)2n)n

nxOxN=n/NnxONO(2n/2)O(N)

关系问题的决策复杂性

有一个简单的方式来获得相关的问题,从理论这是众所周知的决策问题NP -完全问题:打开搜索问题的有效解决存在的问题。


xRy:R(x,y)

当关系R是可有效计算的时,可以从这类问题的角度来定义复杂度等级NP:最著名的NP完全问题(CNF-SAT,HAMCYCLE,3-COLOURING)仅涉及到以下问题的有效解有效验证的关系问题。从产生解决方案到简单地断言解决方案的存在的转换,也使我们能够描述BQP中的整数分解的版本(通过询问是否存在非平凡因子,而不是询问非平凡因子的值) 。R

xx 非结构化搜索的解决方案,它实际上没有找到解决方案,尽管通常尚不清楚如何以比实际找到解决方案更有利的方式来这样做。

Oracle的复杂性

OxO

OnOnx

O
x=111n

  • y{0,1}n

  • y{0,1}n

O|y|0=|y|1

NPOFNPOBQPOFBQPO

O

从后一种情况可以看出,如果我们仅将输入视为Oracle,这种情况看起来有点不直观,并且当然不可能谈论实现“数据库”的方式。但是,使用实际的预言来考虑问题的相对版本的一个优点是,我们可以证明事情,否则我们将不知道如何证明。如果我们能够证明简洁的非结构化搜索问题的决策版本在BQP中,那么我们将在实际计算中实现巨大的突破。如果我们可以证明决策问题实际上不在BQP中,那么我们将证明P≠PSPACEOONPOBQPO


2

nmn

m2n/2m2n1

但是,物理学家喜欢诉诸这样的观点,即这仍然是指数级的加速,没有已知的(或确实容易想到的)经典等效方法。这在数据库示例中最为明显,其中oracle函数是数据库查找,并且Grover的算法可以使查找所需的数据少于数据库中的数据。从这个意义上讲,尽管它在复杂性等级图中完全消失了,但仍然具有明显的优势。


物理学家喜欢诉诸这样的概念,即这仍然是指数式加速,而未知数...。您的意思是写“ 仍然是多项式加速 ”吗?
glS

不,这确实是指数级的加速(仅不足以将指数型运行时变成非指数型运行时)。
金字塔

2

n

NP

f(x)x{0,1}nxf(x)=1pxmpoly(n)g(x,px)=1f(x)=1g(x,px)poly(n)

让我举几个例子(也许这是您在这里要求的?):

  • f(x)xxf(x)g(x,px)=f(x)

  • f(x)xx=72px=(8,9)g(x,p)x

  • G1G2xf(x)pxG1G2g(x,px)pxG1G2

  • xf(x)pxg(x,px)

NPPP

PNPNPPPNP

NPxpxm=poly(n)g(x,px)=1O(2mpoly(m))g(x,px)=1pxO(2m/2poly(m))。这是相当快的,但是不会改变对运行时间是多项式还是更差的评估;它还没有成为多项式时间算法。例如,图同构将必须搜索所有可能的排列。扫雷人员必须搜索未发现的正方形上所有可能的地雷分配。

当然,在某些时候,问题中的其他结构允许采用不同的解决方案,而这些解决方案不需要搜索所有可能的证明。在那里,格罗弗的搜索对我们来说用得很少,甚至没有用,但是也许我们可以用另一种方式提出多项式时间算法。例如,在复合测试的情况下:传统上,发现数字的因素似乎很困难:我们不能比测试所有可能的因素做得更好,因此利用这种形式的证明并没有多大帮助,但是,正如已经提到的,可以通过另一种途径AKS素数测试有效地解决该问题。


P和NP类通常定义为语言或决策问题类,例如在回答该问题时。尽管可以像在此处那样将它们“编码”为具有二进制输出的函数,但这在复杂性理论上还是有点不标准。
离散蜥蜴,

f(x)

您可以根据自己的喜好定义事物,但我认为有必要提一下,例如读者检查其他资源时,这不是标准的。因此发表评论。
离散蜥蜴

-1

忘记数据库。Grover的算法解决了布尔可满足性问题,即:

n10

已知该问题是NP完全的。


3
您所说的是有道理的---人们几乎应该总是将oracle视为评估函数而不是数据库查找;并且如果该函数可以在多项式时间内求值,那么它实际上就是SAT的一个实例,它确实是NP完全的。但是,考虑到Grover的加速最多是二次的,因此尚不清楚SAT的NP完整性是否与Grover算法的实际作用有关。
Niel de Beaudrap,

2
由于无知或不道德的投票,我不再为这个论坛做贡献。
kludg

我承认@kludg的不赞成票之一是我的,因此让我解释一下;您的回答没有进一步的背景信息或解释,不会回答我在OP中提出的任何问题。这提出了一个有趣的观点,但到目前为止,这与我的具体问题无关。现在我可能在这一点上是错误的,您的回答实际上是在回答我的一些问题-如果是这种情况,我不认为他们会以任何明确的方式回答。
量子面条化'18
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.