量子算法:Simon周期性算法与Grover搜索算法解析
1. Simon周期性算法
1.1 问题引入
在函数分析中,我们常常会遇到寻找函数隐含模式的问题。假设给定一个函数 (f : {0, 1}^n \to {0, 1}^n),它以黑盒形式给出,我们可以对其进行求值。同时,存在一个秘密的二进制字符串 (c = c_0c_1c_2 \cdots c_{n - 1}),对于所有的字符串 (x, y \in {0, 1}^n),满足 (f(x) = f(y)) 当且仅当 (x = y \oplus c),这里的 (\oplus) 是按位异或操作。我们称 (c) 为 (f) 的周期,Simon算法的目标就是确定这个周期 (c)。
1.2 经典解法分析
经典方法是对不同的二进制字符串进行 (f) 求值,每次求值后检查该输出是否已经出现过。当找到两个输入 (x_1) 和 (x_2) 使得 (f(x_1) = f(x_2)) 时,我们可以通过 (x_1 \oplus x_2 = c) 得到 (c)。如果函数是二对一的,在最坏情况下,需要进行 (2^{n - 1} + 1) 次函数求值才能确定 (c)。
1.3 量子算法步骤
Simon算法的量子部分主要包括多次执行以下操作:
graph LR
A[|0⟩^n] --> B(H⊗n)
B --> C(Uf)
C --> D(H⊗n)
D --> E[|ϕ3⟩]
F[|0⟩^n] --> C
<
超级会员免费看
订阅专栏 解锁全文
88

被折叠的 条评论
为什么被折叠?



