JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

疊加態與振幅

疊加是計算領域被吹捧得最厲害的概念,所以我們得老實地聊聊它。處於疊加態的[[qubit|量子位元]]並不是在偷偷地同時嘗試每一個答案——它持有的是一組可以相加或相消的振幅。本指南幫你建立真正的直覺:振幅到底是什麼、為什麼干涉才是真正的訣竅,以及為什麼一次測量永遠只給你一個答案。

是振幅,不只是機率

普通的位元要麼是 0 要麼是 1。量子位元卻可以處於兩者的[[superposition|疊加態]]——但「疊加」這個詞被用得太隨便了,值得我們放慢腳步細說。一個量子位元的狀態用兩個數來描述,稱為振幅:一個對應結果 0,一個對應結果 1。我們通常把它們叫做 alpha 和 beta。

|psi> = alpha|0> + beta|1>
單個量子位元的狀態。符號 |0> 和 |1> 只是這兩個結果的標籤;alpha 和 beta 是分別附在每個結果上的振幅。

下面這一點正是量子區別於普通機率之處:振幅不是機率。機率永遠是介於 0 和 1 之間的數。而振幅可以是負的,並且一般來說它是一個複數(它帶有某種方向,即相位)。這聽上去像是個技術細節,但它其實就是問題的全部——正是負振幅和複振幅,才讓量子態能做到拋硬幣永遠做不到的事。

「同時算出所有答案」的迷思

你大概聽過這樣的說法:量子電腦「同時嘗試所有答案」。這是關於量子計算最常見的一句話,而它具有誤導性。沒錯,一組處於疊加態的量子位元確實可以同時持有數量極其龐大的可能性所對應的振幅。但持有振幅,並不等於*知道答案*。

玄機在於你去觀測時會發生什麼。一次[[quantum-measurement|測量]]並不會把整張可能性清單交給你——它只會返回恰好一個結果,這個結果是隨機選出的,機率由振幅決定。其餘的一切都隨之塌縮消失。如果你只是把一個暫存器置於十億種可能性的均勻疊加態再去測量它,你得到的不過是一種隨機的可能,並不比瞎猜更高明。疊加態本身並不能為你換來任何好處。

干涉:真正的訣竅

正是在這裡,那些負振幅和複振幅終於派上了用場。因為振幅可以是正的也可以是負的,它們就能干涉——就像池塘上的漣漪一樣。當通向同一結果的兩條路徑其振幅符號相同時,它們便相加增強(相長干涉)。當符號相反時,它們便相消(相消干涉)。這就是[[quantum-interference|量子干涉]],也是量子計算真正的引擎。

一個真正的量子演算法,是對振幅精心編排的一場舞蹈。你要把計算安排得讓通向錯誤答案的振幅相消趨於零,同時讓通向正確答案的振幅相加。只有到這時你才去測量。因為此時錯誤結果的振幅平方已經變得極小,你就極有可能讀出自己想要的答案。這裡沒有平行宇宙式的蠻力——有的只是被刻意設計出來的干涉。

歸一化

有一條規則是振幅必須始終遵守的。既然測量總會給出某個結果,那麼所有結果的機率加起來就必須等於 1。對單個量子位元來說,這意味著兩個振幅大小的平方之和必須等於一:|alpha|^2 + |beta|^2 = 1。這叫做歸一化,一個合法的量子態永遠是歸一化的。

歸一化還悄悄地施加了一種取捨。如果一個量子位元被均分,alpha 和 beta 各自的平方大小都是 1/2,於是兩個結果你各有 50/50 的機會。把更多振幅推向 0,你就必然要把它從 1 那邊拉走。你可以把這份確定性挪來挪去,但你能花的總量永遠不會超過 1。

為什麼你不能把它全部讀出來

人們很容易這樣想:你可以準備一個內容豐富的疊加態,測量它,然後設法把藏在裡面的所有振幅都還原出來。你做不到。一次[[quantum-measurement|測量]]只返回一個結果——對量子位元來說是 0 或 1——而就在它返回的那一刻,疊加態便消失了(它「塌縮」了)。你永遠無法直接看到 alpha 和 beta。你所能得到的,永遠只是一個從 |alpha|^2 和 |beta|^2 中抽出的樣本。

那麼,能不能在測量之前給這個狀態備份一個副本,好多了解一些?不能——量子力學直接禁止複製一個未知的狀態,這條規則帶來的實際後果我們以後會遇到。而把同一段計算執行許多次,也只能給你關於機率的統計數據;它依然永遠無法直接揭示底層的振幅或它們的相位。