摘要
- 有一个搜索问题(也称为关系问题)的复杂性理论。该理论包括称为FP,FNP和FBQP的类,这些类有效地解决了使用不同种类资源的搜索问题。
- 从搜索问题中,您还可以定义决策问题,使您可以将搜索问题与常规类P,NP和BQP关联。
- 无论您考虑问题的决策版本的搜索版本,还是考虑非结构化搜索问题的输入方式,都将确定您可以在其复杂性上设定哪些上限。
关系问题的复杂性
如您所述,格罗弗(Grover)问题解决了搜索问题,在复杂性文献中有时也将其称为关系问题。也就是说,这是以下问题:
一般搜索问题的结构。
给定输入和二元关系R,找到一个y,使R (x ,y )成立。xRyR(x,y)
复杂度类FP和FNP是根据这样的问题定义的,其中特别要关注的是长度最多为x长度的多项式函数,并且关系R (x ,y )本身可以以(x ,y )长度由多项式为边界的时间来计算。yxR(x,y)(x,y)
特别是:通常应用Grover搜索的“数据库搜索”问题的示例可以描述如下。
非结构化搜索。
给定一个输入预言,使得 ö | 一个⟩ | b ⟩ = | 一个⟩ | b ⊕ ˚F (一)⟩对于某些功能 ˚F :{ 0 ,1 } 米 → { 0 ,1 },找到一个 ÿ使得 ö | ÿ ⟩ | 0 ⟩ = | ÿ ⟩ | 1个O:H⊗m+12→H⊗m+12O|a⟩|b⟩=|a⟩|b⊕f(a)⟩f:{0,1}m→{0,1}y。O|y⟩|0⟩=|y⟩|1⟩
在这里,甲骨文本身就是问题的输入:它扮演的角色,我们正在计算的关系是
R (O,y )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时间,在此时间过程暂停 ø (Ñ 日志Ñ )⊆ ø (Ñ 登录Ñ ),从而使问题在FP。O(logN)⊆O(logn)O(NlogN)⊆O(nlogn)
假设数据库查找可以以连贯的方式进行,Grover算法允许在FBQP中解决此问题。然而,由于FP ⊆ FBQP,经典的穷举搜索也证明这个问题是FBQP。由于节省了数据库查询数量,我们获得的所有结果(最多对数因子)都是二次加速的。
假设输入功能简洁地描述的,通过一个多项式时间算法,需要一个规格和一个参数ÿ ∈ { 0 ,1 } 米并且计算ø:ħ 米+ 1 2x∈{0,1}ny∈{0,1}mO:Hm+12→Hm+12在标准状态下,其中米可能比大得多Ω (日志Ñ )。一个例子是,其中X指定一些布尔函数的CNF形式˚F :{ 0 ,1 } 米 → { 0 ,1 }为米∈ ø (Ñ ),在这种情况下,我们可以有效地评估˚F (Ý )上的输入ÿ ∈|y⟩|b⟩mΩ(logn)xf:{0,1}m→{0,1}m∈O(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/ℓNnxON∈O(2n/2)O(N−−√)
关系问题的决策复杂性
有一个简单的方式来获得相关的问题,从理论这是众所周知的决策问题NP -完全问题:打开搜索问题的有效解决存在的问题。
xR∃y:R(x,y)
当关系R是可有效计算的时,可以从这类问题的角度来定义复杂度等级NP:最著名的NP完全问题(CNF-SAT,HAMCYCLE,3-COLOURING)仅涉及到以下问题的有效解有效验证的关系问题。从产生解决方案到简单地断言解决方案的存在的转换,也使我们能够描述BQP中的整数分解的版本(通过询问是否存在非平凡因子,而不是询问非平凡因子的值) 。R
xx 非结构化搜索的解决方案,它实际上没有找到解决方案,尽管通常尚不清楚如何以比实际找到解决方案更有利的方式来这样做。
Oracle的复杂性
OxO
OnOnx
O
x=11⋯1n
y∈{0,1}n
y∈{0,1}n
O|y⟩|0⟩=|y⟩|1⟩
NPOFNPOBQPOFBQPO
O
从后一种情况可以看出,如果我们仅将输入视为Oracle,这种情况看起来有点不直观,并且当然不可能谈论实现“数据库”的方式。但是,使用实际的预言来考虑问题的相对版本的一个优点是,我们可以证明事情,否则我们将不知道如何证明。如果我们能够证明简洁的非结构化搜索问题的决策版本在BQP中,那么我们将在实际计算中实现巨大的突破。如果我们可以证明决策问题实际上不在BQP中,那么我们将证明P≠PSPACEOONPOBQPO
\text{}
编写复杂性类的名称。例如\text{NP}
或\text{BQP}