Deutsch-Josza 算法

Posted JustinRochester

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Deutsch-Josza 算法相关的知识,希望对你有一定的参考价值。

Deutsch 算法

已知函数 \\(f:\\{0, 1\\}\\to \\{0,1\\}\\) ,问是否满足 \\(f(0)=f(1)\\)

问题等价于询问 \\(f(0)\\odot f(1)=\\overline{f(0)\\oplus f(1)}\\) 的值

假定量子电路输入为 \\(\\left|x,y\\right>\\) ,输出为 \\(\\left|x,y\\oplus f(x)\\right>\\)

先考虑一个最简单的情况:\\(f(x)=1-x\\)

当输入 \\(\\left|x,y\\right>=\\left|0,0\\right>\\) 时,输出 \\(\\left|x,y\\oplus f(x)\\right>=\\left|0,1\\right>\\)

当输入 \\(\\left|x,y\\right>=\\left|0,1\\right>\\) 时,输出 \\(\\left|x,y\\oplus f(x)\\right>=\\left|0,0\\right>\\)

当输入 \\(\\left|x,y\\right>=\\left|1,0\\right>\\) 时,输出 \\(\\left|x,y\\oplus f(x)\\right>=\\left|1,0\\right>\\)

当输入 \\(\\left|x,y\\right>=\\left|1,1\\right>\\) 时,输出 \\(\\left|x,y\\oplus f(x)\\right>=\\left|1,1\\right>\\)

现在我们将 \\(\\left|x\\right>\\) 处于叠加态,令 \\(\\left|x\\right>={1\\over \\sqrt 2}(\\left|0\\right>-\\left|1\\right>)=\\left|+\\right>\\)

此时,\\(f(\\left|x\\right>)={1\\over \\sqrt 2}[f(\\left|0\\right>)+f(\\left|1\\right>)]={1\\over \\sqrt 2}(\\left|1\\right>+\\left|0\\right>)=\\left|+\\right>\\)

故当 \\(\\left|y\\right>=\\left|0\\right>\\)\\(\\left|x,y\\oplus f(x)\\right>=\\left|+\\right>\\oplus {1\\over \\sqrt 2}(\\left|1\\right>+\\left|0\\right>)=\\left|+,+\\right>\\)

\\(\\left|y\\right>=\\left|1\\right>\\)\\(\\left|x,y\\oplus f(x)\\right>=\\left|+\\right>\\oplus {1\\over \\sqrt 2}(\\left|0\\right>+\\left|1\\right>)=\\left|+,+\\right>\\)

我们令 \\(\\left|y\\right>\\) 也处于叠加态 \\(\\left|y\\right>={1\\over \\sqrt 2}(\\left|0\\right>-\\left|1\\right>)=\\left|-\\right>\\)

以上是关于Deutsch-Josza 算法的主要内容,如果未能解决你的问题,请参考以下文章

Deutsch-Josza 算法

算法都有哪些分类

Java 虚拟机原理垃圾回收算法 ( 标记-清除算法 | 复制算法 | 标记-整理算法 )

Java 虚拟机原理垃圾回收算法 ( 标记-清除算法 | 复制算法 | 标记-整理算法 )

页面置换算法(最佳置换算法FIFO置换算法LRU置换算法LFU置换算法)

算法的描述、特性以及概念