多伊奇-喬薩演算法(英語:Deutsch–Jozsa algorithm)是戴維·多伊奇理查德·喬薩於1992年提出的一種確定性量子演算法。1998年,理查德·克利夫英語Richard Cleve阿圖爾·埃克特英語Artur Ekert、基婭拉·馬基亞韋洛(Chiara Macchiavello)與米凱萊·莫斯卡英語Michele Mosca對其進行了改進。[1][2]儘管該演算法目前在現實中基本沒有用途,但可以證明它比任何可能的確定性經典演算法都快指數級,是最早提出的有此特性的量子演算法之一。[3]

問題描述

在多伊奇-喬薩問題中,我們有一個被稱為預言機的黑盒量子電腦,它能實現某一函數 。該函數以n位元值作為輸入,輸出結果則為0或1。問題承諾該函數要麼是常函數(即對任何輸入都輸出恆定值0或1),要麼是平衡(balanced)函數(即對一半的輸入返回1,另一半則返回0)。[4]問題的任務是通過預言機確定是常函數還是平衡函數。

問題背景

多伊奇-喬薩問題是專門為量子計算設計的一個問題,該問題對於量子演算法而言相對容易,但對任何確定性經典演算法來說都是十分困難的。其提出的動機是展示可以由量子電腦有效並且正確解決的一個黑盒問題,而同時確定性經典電腦則需要進行大量計算才能解決該問題。更準確地說,該問題表明了複雜度類別EQP英語Exact quantum polynomial time(即可以由量子電腦在多項式時間內精確地解決)與P之間的預言分離(oracle separation)。[5]

由於該問題在機率經典電腦上也很容易解決,因此它不會產生與複雜度類別BPP(即在機率經典電腦上以多項式時間解決且誤差有界)之間的預言分離。西蒙問題英語Simon's problem則是一個證明BQP和BPP之間產生預言分離的例子。

經典演算法

對於傳統的確定性演算法而言,假設n是位元數,則在最壞情況下需要次對的求值。為了證明是常函數,必須對超過一半的輸入進行計算並且發現它們有相同的輸出。最好情況是為平衡函數且恰好選擇的前兩個輸入值對應不同的輸出值。對於傳統的隨機演算法次求值足以產生高機率的正確答案(對 錯誤機率為)。然而,如果想保證獲得正確答案的話,仍需要次求值。多伊奇-喬薩量子演算法則僅需一次對的求值就能獲得準確的答案。

歷史

多伊奇-喬薩問題是戴維·多伊奇早期工作(1985年)的推廣。當時他提出的演算法針對的是的簡單情形,即有一個輸入為1位元的布林函數,需要確定該函數是否是常函數。[6]

多伊奇最早提出的演算法實際上並不是確定性的。1992年,多伊奇與喬薩共同提出了一種確定性演算法,並將該演算法推廣到位元的輸入值。與多伊奇的演算法不同,該演算法需要進行兩次而非一次函數求值。

後來克利夫等人[2]又對多伊奇-喬薩演算法進行了改進,提出了一種既具有確定性又僅需一次求值的演算法。不過為了紀念多伊奇和喬薩兩人開創性的貢獻,該演算法仍被稱為多伊奇-喬薩演算法。[2]

演算法

多伊奇-喬薩演算法成立的前提之一是由計算的預言機必須是一個不會將去相干的量子預言機。此外,它也不能在演算法結束後留下任何的拷貝。

Thumb
多伊奇-喬薩演算法量子電路

假設我們有位元量子態 ,即前n比特分別處於而最後一位元則是 。對每個位元應用阿達馬變換可以得到

.

是由量子預言機實現的函數。預言機將量子態對映到,其中是模2加法(由受控非門實現,可以看作是量子版異或門)。於是該量子預言機可以將上述量子態轉換為

.

對於每個的結果為0或1。為了檢驗這兩種可能性,我們注意到上面的量子態等價於

.

此時可以忽略最後一個量子位元,剩餘部分為:

.

再對每一量子位元進行阿達馬變換,得到

其中是每一位元相應乘積之和。

最後,我們可以檢驗測量得到 的機率

是常函數(建設性干涉)時此機率為1,當是平衡函數(破壞性干涉)時此機率為0。換句話說,如果是常函數的話測量結果為 (即所有量子位元全為零),其他結果則表明是平衡函數。

多伊奇演算法

多伊奇演算法是一般多伊奇-喬薩演算法的特例。此時我們需要檢查是否成立。這相當於檢查,當結果為零時表明是常函數,否則則不是常函數。

我們從兩位元量子態開始,對每一量子位元應用阿達馬變換,結果為

函數可以將對映為,將此函數應用於當前的量子態,可以得到

忽略最後一個位元與全域相位因子,可以得到量子態

再次應用阿達馬變換,得到

若且唯若測量結果為時有。反之,若且唯若測量結果為時有。因此我們可以肯定地知道是否為常函數。

參考文獻

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.