量子算法:Deutsch - Jozsa 与 Simon 算法解析
1. Deutsch - Jozsa 算法
Deutsch - Jozsa 算法是对 Deutsch 算法解决问题的直接推广,旨在判断一个未知函数 (f) 是常量函数还是平衡函数。该函数 (f) 是从 (n) 位字符串到单个位的映射,即 (f : {0, 1}^n \to {0, 1})。
1.1 问题描述
- 输入 :一个用于计算未知函数 (f) 的黑盒。
- 承诺 :函数 (f) 要么是常量函数(对于所有输入 (x),(f(x)) 都相同),要么是平衡函数(对于一半的输入字符串 (x),(f(x) = 0);对于另一半输入,(f(x) = 1))。
- 问题 :通过对 (f) 进行查询,确定 (f) 是常量函数还是平衡函数。
1.2 经典算法分析
使用经典算法解决此问题时,在最坏情况下,即使对 (f) 进行了 (2^{n - 1}) 次查询且结果都为 (0),仍不能确定 (f) 是常量函数还是平衡函数,因为对剩余 (2^{n - 1}) 个输入的查询结果可能都为 (1)。所以,经典算法在最坏情况下需要 (2^{n - 1} + 1) 次查询才能确定 (f) 的性质。
1.3 量子算法优势
量子算法可以利用量子叠加和干涉来确定 (f) 的全局性质。Deutsch - Jozsa 算法只需对 (f) 的量子可逆电路进行一次查询,就能确定 (f) 是
超级会员免费看
订阅专栏 解锁全文
1013

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



