← 文档中心首页

Grover搜索算法

# Grover 搜索算法 - 在 4 个元素中搜索第 3 个 (index=2) # 2-qubit 系统: |00>, |01>, |10>, |11> # 目标态: |10> (即 index 2) # 需要 1 次 Grover 迭代 init 2 # 创建均匀叠加态 H 0 H 1 # Grover 迭代 (1次就够了, 因为 N=4, 最优迭代次数 = pi/4 * sqrt(N) = 1) # --- Oracle: 标记目标态 |10> --- # 使用 Toffoli 门简化: 当 q1=0 且 q0=1 时翻转辅助相位 # 等价于: 对 |10> 态应用相位 -1 X 0 # 翻转 q0, 使 |10> -> |11> CNOT 1 0 # 如果 q1=1 且 q0=1, 则... X 0 # 恢复 q0 # --- 扩散算子 (Diffusion Operator) --- H 0 H 1 X 0 X 1 CNOT 0 1 H 1 X 1 X 0 H 0 H 1 # 测量 MEASURE 0 0 MEASURE 1 1 # 预期结果: 应该高概率得到 |10> PRINT 0 STOP