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

測量與坍縮

一個量子位元可以同時承載 |0> 與 |1> 的混合,但你一旦去讀它,得到的就是一個普通的位元。本指南解釋測量如何把振幅變成結果(玻恩定則)、為什麼讀取會摧毀原本的混合(坍縮),以及為什麼你不能悄悄複製一個態先拿去檢查(不可複製)。一旦你看懂這些規則,就會明白為什麼好的量子演算法要在那唯一一次窺視之前,先想方設法讓正確答案變得*更可能*出現。

你只能窺視一次

這條規則決定了量子計算裡其他的一切:當你讀取一個 量子位元 時,你拿回來的是一個樸素的、古典的位元——一個 0 或一個 1。不是分數,不是混合,也不是一串可能性的清單。就是一個位元。

這感覺很不公平,因為量子位元在你讀取它之前,可以處於一種 疊加態——也就是 |0> 與 |1> 真正同時存在的混合。你也許指望把這個豐富的 量子態 整個掏出來檢查一番。但你做不到。測量 只遞給你一個位元,再無其他,而且你沒法倒帶重問。

玻恩定則

那麼,既然讀取給你的是一個看似隨機的位元,是什麼決定了它究竟是哪一個呢?是態本身。一個量子位元由兩個被稱為振幅的數寫成,一個掛在 |0> 上,一個掛在 |1> 上:

|psi> = a|0> + b|1>
a 是結果 0 的振幅,b 是結果 1 的振幅。振幅可以是負數或複數——正是這種符號與相位,才讓之後的干涉成為可能。

玻恩定則說:讀到 0 的機率是 |a|^2,讀到 1 的機率是 |b|^2。你把振幅的大小取平方,就得到那個機率。因為測量時總得發生*某件事*,這些機率必須加起來等於 1:|a|^2 + |b|^2 = 1

坍縮

測量不只是*報告*一個值——它會改變這個態。在你讀到 0 的那一瞬間,量子位元真的就變成了 |0>。你再讀一次,每次都會得到 0。疊加態消失了;這種不可逆的跳變就叫做坍縮

這給單次執行能告訴你的東西劃了一道硬上限。無論量子位元原本承載著 |0> 與 |1> 怎樣精微的混合,坍縮都會把它壓成一個確定的位元,另一種可能性就這麼沒了。你永遠看不到振幅本身——只能看到它們讓其變得可能的那個結果。

不可複製:你沒法先複製一份

有一條誘人的脫身之路:既然測量會摧毀這個態,那何不先把量子位元複製上一百份,再去測量這些副本、把原本的混合重建出來呢?這在古典電腦上是行得通的。但在這裡,它是不可能的。

[[no-cloning-theorem|不可複製定理]] 證明了:不存在任何操作,能拿一個未知的量子態,再造出它的第二份獨立副本。那些讓量子 資訊 變得有用的定律,同時也禁止複製一個未知的態。所以你得到的那唯一一次測量,真的就是你唯一的窗口——根本沒有備份副本可以拿到一旁研究。

圍繞測量來設計

把這三條規則合在一起,設計上的難題就清楚了。你只有一次窺視(每次執行得到一個坍縮後的位元),你得到的那個位元由 |振幅|^2 決定(玻恩定則),而且你沒法先複製一個未知的態來檢查它(不可複製)。量子電腦不是一顆暗地裡把每個選項都算一遍的、更快的古典 CPU——它是一台用來塑造振幅的機器。

所以一個量子演算法的全部工作,就是透過干涉,安排好讓正確答案的振幅在你測量*之前*就變得很大。Grover 搜尋溫和地做這件事,在許多步裡一點點把目標的振幅往上推,從而帶來二次方(平方根)的加速——而不是什麼神奇的指數級加速。Shor 演算法之所以能拿到它那著名的指數級優勢,只是因為因數分解有一種隱藏的結構,可以被它的干涉圖樣所利用;而大多數問題並沒有這樣的結構。