【科普】量子計(jì)算通識(shí)-8-Deutsch-Jozsa算法解析

歡迎關(guān)注我的專欄( つ??ω??)つ【人工智能通識(shí)】
更多相關(guān)文章請(qǐng)點(diǎn)擊【量子計(jì)算通識(shí)】
上一篇:【科普】量子計(jì)算通識(shí)-7-Deutsch算法解析


這一篇我們來(lái)看一下多伊奇問(wèn)題n位算法是怎么推導(dǎo)出來(lái)的。關(guān)于多伊奇問(wèn)題請(qǐng)看【上一篇文章】的開(kāi)始部分。

多位電路

我們先看一下上篇文章使用過(guò)的這張電路圖:

上篇文章我們只考慮輸入一個(gè)|0>比特,忽略了n。

計(jì)算\Psi_1

在這個(gè)電路里面,輸入的是n個(gè)|0>和1個(gè)|1>比特,即:

\begin{align} \Psi_0&=\underbrace{|0>\otimes|0>\otimes \dots |0>}_{n} \otimes|1>\\ &=|0>^{\otimes n}|1> \end{align}

很多時(shí)候,量子位之間的\otimes被省略。

每個(gè)量子位都經(jīng)過(guò)Hadamard門,即|0>變?yōu)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Cfrac%7B%7C0%3E%2B%7C1%3E%7D%7B%5Csqrt%7B2%7D%7D" alt="\frac{|0>+|1>}{\sqrt{2}}" mathimg="1">,即|1>變?yōu)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Cfrac%7B%7C0%3E-%7C1%3E%7D%7B%5Csqrt%7B2%7D%7D" alt="\frac{|0>-|1>}{\sqrt{2}}" mathimg="1">,這就得到\Psi_1

\begin{align} \Psi_1&=H^{\otimes n}|0>^{\otimes n}H|1>\\ &=\underbrace{(\frac{|0>+|1>)}{\sqrt{2}})(\frac{|0>+|1>)}{\sqrt{2}})\dots}_{n}(\frac{|0>-|1>}{\sqrt{2}})\\ &=\frac{1}{\sqrt{2^n}}\underbrace{\begin{pmatrix}1\\1\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}\dots}_{n}(\frac{|0>-|1>}{\sqrt{2}})\\ \end{align}

我們注意到:
\frac{1}{\sqrt{2^n}} \underbrace{\begin{pmatrix}1\\1\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}\dots \begin{pmatrix}1\\1\end{pmatrix}}_{n}= \frac{1}{\sqrt{2^n}} \left.\begin{pmatrix}1\\1\\\dots\\1\end{pmatrix} \right \}2^n

這表示什么呢?還記得拋兩枚硬幣的情況嗎?

\begin{align} \begin{pmatrix}\frac{1}{4}\\\frac{1}{4}\\\frac{1}{4}\\\frac{1}{4}\end{pmatrix} =\frac{1}{4}\begin{pmatrix}1\\1\\1\\1\end{pmatrix} =\frac{1}{4}\left[\begin{pmatrix}1\\0\\0\\0\end{pmatrix}+\begin{pmatrix}0\\1\\0\\0\end{pmatrix}+\begin{pmatrix}0\\0\\1\\0\end{pmatrix} +\begin{pmatrix}0\\0\\0\\1\end{pmatrix}\right] \end{align}

這個(gè)表示4種狀態(tài)的每一種狀態(tài)可能性都是\frac{1}{4},它處于不確定的疊加態(tài)。對(duì)每一種狀態(tài)來(lái)說(shuō),都可以對(duì)應(yīng)一個(gè)十進(jìn)制數(shù)字,那么就是0,1,2,3,我們用下標(biāo)表示10進(jìn)制,也就有:

\frac{1}{4}\begin{pmatrix}1\\1\\1\\1\end{pmatrix}=\frac{1}{4}(|0_{10}>+|1_{10}>+|2_{10}>+|3_{10}>)

推而廣之,忽略10進(jìn)制下標(biāo),變成求和,從x=0x=2^n-1,就得到:

\frac{1}{\sqrt{2^n}} \underbrace{\begin{pmatrix}1\\1\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}\dots \begin{pmatrix}1\\1\end{pmatrix}}_{n}=\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}|x>

替換到\Psi_1中得到:
\begin{align} \Psi_1&=H^{\otimes n}|0>^{\otimes n}H|1>\\ &=\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}|x> (\frac{|0>-|1>}{\sqrt{2}})\\ &=\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}|x> (|0>-|1>)\\ \end{align}

計(jì)算\Psi_2

U操作的作用是:

U:|x>|y>\Rightarrow|x>|y\oplus f(x)>

我們?cè)谏弦黄恼峦茖?dǎo)過(guò),|0>-|1>經(jīng)U操作后,無(wú)論f(0)=0或f(0)=1都有:
|0\oplus f(0)>-|1\oplus f(0)>=(-1)^{f(0)}(|0>-|1>)

同樣f(1)=0或f(1)=1時(shí)候都有:
|0\oplus f(x)>-|1\oplus f(x)>=(-1)^{f(1)}(|0>-|1>)

實(shí)際上對(duì)于任意f(x)\in\{0,1\}都有:
|0\oplus f(x)>-|1\oplus f(x)>=(-1)^{f(x)}(|0>-|1>)

即:
U(|0>-|1>)=(-1)^{f(x)}(|0>-|1>)

我們把這個(gè)式子帶入\Psi_1得到經(jīng)過(guò)U操作的\Psi_2:

\begin{align} \Psi_2 &=U\Psi_1\\ &=U\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}|x> (|0>-|1>)\\ &=\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}|x>U (|0>-|1>)\\ &=\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}|x>(-1)^{f(x)}(|0>-|1>)\\ &=\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}|x>(|0>-|1>)\\ \end{align}

計(jì)算\Psi_3

在這里我們可以直接忽略最后一個(gè)比特了,就是忽略掉結(jié)尾的\frac{1}{\sqrt{2}}(|0>-|1>),專注前半段內(nèi)容:

\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}|x>

我們對(duì)每個(gè)|x>執(zhí)行Hadamard操作。注意這里的|x>可以是|1>,也可以是|10>、|17>、|198>...任意十進(jìn)制數(shù)字,如果轉(zhuǎn)為二進(jìn)制則是|1>、|1010>、|10001>、|11000110>...

怎么計(jì)算H^{\otimes n}|x>?我們先從另一個(gè)角度看Hadamard門:

\begin{align} H|0>&=\frac{|0>+|1>}{\sqrt{2}}\\ &=\frac{1}{\sqrt{2}}((-1)^{0\cdot0}\cdot|0>+(-1)^{0\cdot1}|1>)\\ &=\frac{1}{\sqrt{2}}\sum_{z\in\{0,1\}} ((-1)^{0\cdot z}|z>) \end{align}

\begin{align} H|1>&=\frac{|0>-|1>}{\sqrt{2}}\\ &=\frac{1}{\sqrt{2}}((-1)^{1\cdot0}\cdot|0>+(-1)^{1\cdot1}|1>)\\ &=\frac{1}{\sqrt{2}}\sum_{z \in\{0,1\}}((-1)^{1\cdot z}|z>) \end{align}

我們注意到|0>|1>的操作區(qū)別就是(-1)^{1\cdot z}(-1)^{0\cdot z}的區(qū)別,那么我們就有:

\begin{align} H|x_i>=\frac{1}{\sqrt{2}}\sum_{z\in\{0,1\}\ }((-1)^{ x_i\cdot z}|z>) \end{align}

但這只是針對(duì)單個(gè)比特的,如果是多個(gè)比特呢?先看2個(gè)比特的情況:

\begin{align} &H|x_1>H|x_2>\\ &=\frac{1}{\sqrt{2^2}}(\sum_{z_1 \in\{0,1\} }((-1)^{ x_1\cdot z_1}|z_1>))(\sum_{z_2 \in\{0,1\} }((-1)^{ x_2\cdot z_2}|z_2>))\\ &=\frac{1}{\sqrt{2^2}}\sum_{z_1,z_2\in\{0,1\} }(-1)^{x_1\cdot z_1}(-1)^{x_2\cdot z_2}|z_1>|z_2>\\ &=\frac{1}{\sqrt{ 2^2}}\sum_{z_1,z_2\in\{0,1\} }(-1)^{x_1\cdot z_1+x_2\cdot z_2}|z_1>|z_2> \end{align}

如果是n位的話,那么就有:

\begin{align} &H^{\otimes n}|x_1,x_2,x_3,\dots x_n>\\ &=\frac{1}{\sqrt{2^n}}\sum_{z_1,z_2,\dots z_n }(-1)^{x_1\cdot z_1+x_2\cdot z_2+\dots x_n\cdot z_n}|z_1,z_2\dots z_n> \end{align}

我們x表示x_1,x_2...x_n,我們z表示z_1,z_2...z_n,設(shè)定格式x\cdot z表示x_1\cdot z_1+x_2\cdot z_2+\dots x_n\cdot z_n,用那么就有:

\begin{align} &H^{\otimes n}|x>=\frac{1}{\sqrt{2^n}}\sum_{z=0}^{2^n-1}(-1)^{x\cdot z}|z> \end{align}

注意這里z_1,z_2,...z_n \in \{0, 1\}總計(jì)需要2^n次求和。比如前面的兩位的例子z_1,z_2\in \{ 0, 1\}就要進(jìn)行四次:
z_1=0,z_2=0;z_1=0,z_2=1;z_1=1,z_2=0;z_1=1,z_2=1;

好了,我們回到\Psi_3的上部分:

\begin{align} &\Psi_{3'}=H^{\otimes n}\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}|x>\\ &=\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}H^{\otimes n} |x>\\ &=\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}\left[\frac{1}{\sqrt{2^n}}\sum_{z=0}^{2^n-1}(-1)^{x\cdot z}|z>\right]\\ &=\frac{1}{2^n} \sum_{x=0}^{2^n-1}(-1)^{f(x)}\left[\sum_{z=0}^{2^n-1} (-1)^{x\cdot z}|z>\right]\\ &=\frac{1}{2^n} \sum_{z=0}^{2^n-1}\left[\sum_{x=0}^{2^n-1}(-1)^{f(x)+x\cdot z}\right]|z>\\ \end{align}

最終測(cè)量

注意上面式子里的x_iz_i都是0或1。
這里的求和\sum來(lái)自最早的Hadamard操作,表示從0到2^n-1;而f(x)中的x則是來(lái)自U操作,它代表任意數(shù)字。|z>表示的是具有n個(gè)量子位的|z_1,z_2...z_n>,類似|100...01011>這種。

關(guān)于測(cè)量,其實(shí)就是計(jì)算每個(gè)方向上的可能性。而每個(gè)方向就是每種狀態(tài),對(duì)于單比特就是每個(gè)軸向,橫正向和豎正向。

數(shù)學(xué)上:
\begin{align} &\begin{pmatrix}\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}\end{pmatrix}=\frac{1}{\sqrt{2}}\begin{pmatrix}1\\1\end{pmatrix} =\frac{1}{\sqrt{2}}(\begin{pmatrix} 1\\0 \end{pmatrix}+\begin{pmatrix} 0\\1\end{pmatrix})\\ &=\frac{1}{\sqrt{2}}|0>+\frac{1}{\sqrt{2}}|1> \end{align}

測(cè)量得到|0>=\begin{pmatrix}1\\0\end{pmatrix}|1>=\begin{pmatrix}0\\1\end{pmatrix}兩個(gè)方向上的概率都是(\frac{1}{\sqrt{2}})^2=\frac{1}{2}。

對(duì)于四項(xiàng)的豎列也是同樣,比如拋兩枚硬幣得到的結(jié)果就有4個(gè)方向或者說(shuō)四個(gè)狀態(tài):

\begin{pmatrix}1\\0\\0\\0\end{pmatrix} ,\begin{pmatrix}0\\1\\0\\0\end{pmatrix},\begin{pmatrix}0\\0\\1\\0\end{pmatrix},\begin{pmatrix}0\\0\\0\\1\end{pmatrix}

這也對(duì)應(yīng)了四個(gè)比特表示|00>、|01>、|10>、|11>,也可以用四個(gè)十進(jìn)制數(shù)字表示|0>、|1>、|2>、|3>。如果有一個(gè)a|00>+b|01>+c|10>+d|11>那么它在四個(gè)狀態(tài)上的概率就是a^2、b^2、c^2、d^2,并且概率之和是1,就是a^2+b^2+c^2+d^2=1

好了,回到我們的\Psi_3'

\begin{align} &\Psi_{3'}=\frac{1}{2^n} \sum_{z=0}^{2^n-1}\left[\sum_{x=0}^{2^n-1}(-1)^{f(x)+x\cdot z}\right]|z>\\ \end{align}

它也可以視為nz求和,類似a|z_0>+b|z_1>...+d|z_n>這種情況。

我們只關(guān)注假設(shè)|z_0>=|0>^{\otimes n}=|000...0>的情況,那么求和\sum的每一次z_i都是0,就有x\cdot z=x_1\cdot z_1+x_2\cdot z_2+\dots x_n\cdot z_n也都是0,測(cè)量|z>狀態(tài)的概率,就是對(duì)它的系數(shù)求平方:

\begin{align} \left (\frac{1}{2^n} \left[\sum_{x=0}^{2^n-1}(-1)^{f(x)}\right]\right )^2 \end{align}

當(dāng)f(x)是Constant常數(shù)操作的時(shí)候,如果f(x)=0,(-1)^{f(x)}=1,求和結(jié)果是2^n,最終平方后是1;如果f(x)=1,(-1)^{f(x)}=-1,求和結(jié)果是-2^n,最終平方后還是1。就是說(shuō)如果f(x)是常數(shù)操作,那么最終測(cè)得|z>=|0>^{\otimes n}的概率為1,也就是必然測(cè)得|0>^{\otimes n}。

當(dāng)f(x)是Balanced平衡操作的時(shí)候,一半情況f(x)=0,另一半情況f(x)=1,而進(jìn)行2^n次求和,這是全部可能,也是個(gè)偶數(shù),(-1)^0=1(-1)^1=-1各占一半,正好抵消,結(jié)果將是0。也就是說(shuō)如果f(x)是Balanced平衡,那么就不會(huì)測(cè)得|0>^{\otimes n}

雖然在數(shù)學(xué)上似乎是推導(dǎo)完成了,但是很多地方仍然缺乏較好的解釋,后續(xù)將繼續(xù)學(xué)習(xí)和改進(jìn)。


歡迎關(guān)注我的專欄( つ??ω??)つ【人工智能通識(shí)】
更多相關(guān)文章請(qǐng)點(diǎn)擊【量子計(jì)算通識(shí)】


每個(gè)人的智能新時(shí)代

如果您發(fā)現(xiàn)文章錯(cuò)誤,請(qǐng)不吝留言指正;
如果您覺(jué)得有用,請(qǐng)點(diǎn)喜歡;
如果您覺(jué)得很有用,歡迎轉(zhuǎn)載~


END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容