赞
踩
假设有n个量子比特,用来记录数据库中的每一个数据的索引,一共可以表示2n2n个数据,记为N 个,希望搜索得到的数据有M个。
假设10为目标,通过Oracle操作使10态进行翻转,然后把所有态关于均值翻转,使得目标态的概率变大,当经过多次的Grover迭代后,目标态的概率会接近于1。
下面是Grover算法的量子线路图:
为了表示一个数据是否是搜索的结果,建立一个函数:
f(x){01(x≠x0)(x=x0)f(x){0(x≠x0)1(x=x0)
其中