Remove ads
来自维基百科,自由的百科全书
秀爾演算法(英語:Shor's algorithm)是一個於1994年發現的,以數學家彼得·秀爾命名,針對整數分解題目的的量子演算法(在量子計算機上面運作的演算法)。不正式地說,它解決的題目是:給定一個整數 ,找出它的質因數。在一個量子計算機上面,要分解整數,秀爾演算法的運作需要多項式時間(時間是 的某個多項式這麼長, 在這裏的意義是輸入的檔案長度)。準確來說,該演算法花費 的時間,展示出質因數分解問題可以使用量子計算機以多項式時間解出,因此在複雜度類BQP裏面。這比傳統上已知的最快的因數分解演算法普通數域篩選法所花費的次指數時間——大約 還要快了一個指數。
秀爾演算法非常重要,它意味着:假如有可用的量子計算機,我們可以破解基於公開金鑰加密的演算法(比如RSA加密演算法)。RSA演算法的基礎在於假設了我們不能有效率的分解一個已知的整數。就目前所知,這假設對傳統(即非量子)的電腦為真;沒有已知的傳統演算法可以在多項式時間內解決這個問題。但秀爾演算法展示了因數分解問題在量子計算機上可以很有效率的解決,所以一個足夠大的量子計算機可以破解RSA。這對於建立量子計算機和研究新的量子計算機演算法是一個強大的動力。
2001年,IBM的一個小組展示了秀爾演算法的實例,使用NMR實驗的量子計算機及7個量子位元,將15分解成3×5。[1]不過,對於IBM的實驗是否是量子計算的真實展示,有一些疑慮出現,因為沒有發現纏結現象。[2]IBM的實驗之後,也有其他的團隊以光學量子位元實驗秀爾演算法,並強調可觀察到其纏結現象。[3][4]
試着解決的問題是:給定一個合成數,找到整數在和之間且不包含和,並且整除於。
秀爾演算法包含兩個部份:
這個演算法使用的量子線路是為了在給定一個固定常數 以及一個任意常數 之下,找出 所設置的。給定 ,找出 = 2 且合乎(這同時表示)。輸入和輸出量子位元暫存器需要儲存從0到 -1所有值的疊加態,因此分別需要 個量子位元。這裏使用看起來比所需的數量還要更多一倍的量子位元,保證了即使週期 的大小逼近 /2,也至少有 個不同的 會產生相同的 。
程式如下:
此演算法包含兩個部份。演算法的第一部份是將因數分解問題轉成尋找一個函數的週期,而且這部份可以用傳統方式實作。第二部份則是使用量子傅立葉變換來搜尋這個函數的週期,而且這一部份是量子加速這整個演算法的理由。
小於N且互質於N的整數組成一個有限大,且對乘法同餘N的群。在步驟3之後,我們有一個屬於這個群的整數a。既然這個群是有限的,a必有一個有限大的階r,也就是最小的正整數令
因此可知,N是a r − 1的因數。先假設我們有能力獲得r,而且r是偶數。則
r是令a r ≡ 1最小的正整數,所以(a r / 2 − 1)必定不能整除於N。若(a r / 2 + 1)也不整除於N的話,則N必定與(a r / 2 − 1)或者(a r / 2 + 1)有一個非顯然的公因數。
證明:為了簡化,我們分別用u和v表示(a r / 2 − 1)和(a r / 2 + 1)。N | uv,故kN = uv(k是某個整數)。假設gcd(v, N) = 1:則必定存在某個整數m和n令mv + nN = 1 (這是最大公因數的一個性質)。兩邊同乘以u,我們得到mkN + nuN = u, 所以 N | u,從而產生矛盾(前文提到(a r / 2 − 1)必定不能整除於N)。故假設不成立,即gcd(v, N) ≠ 1。用類似的方法,可以得知若(a r / 2 + 1)不能整除於N, gcd(u, N) ≠ 1。故得證u和v不同時與N互質。
這給予我們一個N的因數分解。若N是兩個質數的乘積,則這是唯一可能的分解。
秀爾的週期尋找演算法非常倚賴量子計算機同時處於許多狀態的能力。物理學家稱呼這個特性為狀態的「疊加」。在計算函數f的週期時,我們會同時估計這個函數的所有點。
不過,量子物理不允許我們直接取得這些資訊。測量會令觀測結果塌陷到其中一個可能的結果,並摧毀所有其他可能。如果不是因為不可複製原理,我們可以先測量f(x)而非測量x,再製造幾個結果態的拷貝(將會是多個有着同樣的f(x)的態的疊加)。對這些態上的x的測量將會給出能給出相同f(x)的不同的x,由此推導出週期來。因為我們不能複製完全相同的量子狀態,這個方法行不通。因此在這裏我們需要小心的轉變疊加態,使其成為可以以高機率回傳正確答案的狀態。這可使用量子傅立葉變換來達成。
因此秀爾在這裏必須解決三個「實作」的問題,而且速度必須夠快,也就是可這些問題可以用量子門個數為的多項式來實作。
在這一些變換之後,測量會給出週期r的近似值。為簡明起見,假設存在y令yr/Q是整數,則測量到y的機率是1(理論上)。要推導出這個,我們首先注意到對任何整數b,
Note:另一種解釋秀爾演算法的方式是將之視為是喬裝過後的量子相位估計演算法。
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.