在实践中,“未知功能黑匣子”只是一个电路,检查其输入是否符合某些标准或是问题的解决方案。
这很有用,因为制作检测解决方案的电路比实际找到解决方案更容易。 Grover的算法然后将我们的检测器电路扩展为求解器电路:
Grover算法的经典等价物是像这样的强力搜索函数:
def bruteForceSearch(min, max, predicate): for i in min..max: if predicate(i): return i return none
您可以像这样使用它:
let mersennePrimeWithFiveDigitExponent = bruteForceSearch( 10000, 99999, i => isMersennePrime(2**i - 1))
请注意蛮力搜索如何转变我们对如何做的知识 认识 东西成为一种机制 发现 一些东西。 Grover的算法做了同样的事情,但是在二次方更快,并且需要注意识别器必须实现为可逆电路。