本小節將比較經典算法與Deutsh-Jozsa算法下的差異
Last updated 5 years ago
Was this helpful?
在經典情況下,當你必須計算 f(0)⊕f(1)f(0)\oplus f(1)f(0)⊕f(1) ,ㄧ定必需query兩次並且相加才能找出答案
首先我們必須先準備一個qbit,並初始化在 ∣0⟩|0\rangle∣0⟩ ,並經過hadamard gate變成 ∣0⟩+∣1⟩2\frac{|0\rangle+|1\rangle}{\sqrt{2}}2∣0⟩+∣1⟩ ,接著我們query一次phase oracle,得到下者
接著我們思考 f(0)f(0)f(0) 和 f(1)f(1)f(1) 的關係
而根據(1),我們又可以得到下者
而以上算法相較於經典算法只需要一次quey就能得出答案。
這時,我們只要再經過一次hadamard gate,並且觀測 ∣ψ′⟩|\psi'\rangle∣ψ′⟩ ,就能一路推回去了,以下我舉個例子: