了解量子計算

量子運算可承諾解決我們行星的一些最大挑戰,包括環境、農業、健康情況、能源、氣候、材料科學等等。 面對部分問題,因為系統的大小成長,傳統運算逐漸遇到障礙。 當設計為調整時,量子系統可能會有超過現今最強大超級計算機的功能。 身為量子研究人員、科學家、工程師和業務領導者的全球社群,共同合作推動量子生態系統,我們預期會看到量子影響加速到每個產業。

提示

如果您想要加速量子運算旅程,請參閱 使用 Azure Quantum 撰寫程式代碼,這是 Azure Quantum 網站的獨特功能。 在這裡,您可以執行內 Q# 建範例或自己的 Q# 程式、從提示產生新的 Q# 程序代碼、在 VS Code for the Web 中開啟並執行程式碼,按下滑鼠,並詢問 Copilot 量子運算的任何問題。

為何要使用量子計算機?

量子計算機的概念源自於在傳統計算機上模擬量子系統的困難。 在 1980s 中,Richard Feynman 和 Yuri Manin 獨立建議根據量子現象的硬體可能會比傳統電腦更有效率地模擬量子系統。

有許多方法可以了解為何量子力學很難模擬。 最簡單的方式是在量子層級看到這一點,其可能設定 (稱為狀態) 。

量子運算會以指數方式成長

請考慮有 40$ 個可能位置的電子$系統。 因此,系統可能位於任何 $2^{40}$ 組態 (,因為每個位置都可以有或沒有電子) 。 若要將電子的量子狀態儲存在傳統計算機記憶體中,需要超過 $130$ GB的記憶體! 如果允許對象位於 41$ 個位置的任何$一個位置,則會在 2^{41}$ 的兩倍組態$,接著需要超過 $260$ GB 的記憶體來儲存量子狀態。

增加位置數目的這個遊戲無法無限期地播放。 如果我們想要以傳統方式儲存狀態,我們會快速超過全球最強大機器的記憶體容量。 在幾百個電子時,要儲存這個系統所需的記憶體會超過全宇宙的粒子數目;因此,我們的傳統電腦永遠不可能模擬出其量子動力學。

將困難轉換成機會

這種指數成長的觀察導致我們提出強大的問題:我們是否可以將此困難轉換成機會? 具體來說,如果量子動力學是如此難以模擬,那麼當我們要建立的硬體具有和基本操作一樣的量子效果時,會發生什麼情況? 我們是否可以使用利用完全相同物理法的機器來模擬與對象互動的量子系統? 我們可以使用該機器來調查量子物件不存在的其他工作,但對我們而言很重要嗎? 這些問題導致量子運算的生生。

在 1985 年,David Deutsch 顯示量子計算機可以有效率地模擬任何實體系統的行為。 此探索是第一個指出量子計算機可用來解決傳統計算機上無法追蹤的問題。

在 1994 年,Peter Shor 探索了一個量子演算法,用於分解比最佳已知傳統演算法更快速執行的整數。 解決要素功能可讓您中斷現今電子商務安全性的許多公鑰密碼編譯系統,包括 RSA 和橢圓曲線密碼編譯。 此探索對量子運算有很大的興趣,並導致針對許多其他問題開發量子演算法。

自該時間起,許多硬式傳統工作都開發了快速且有效率的量子計算機演算法:模擬化學、物理和材料科學中的實體系統、搜尋未排序的資料庫、解決線性方程序系統,以及機器學習。

什麼是量子位?

如同位元是傳統運算中資訊的基礎物件,量子位元是量子運算中資訊的基礎物件。

量子位是量子運算中資訊的基本單位。 量子位在量子運算中扮演類似的角色,因為位在傳統運算中扮演了類似的角色,但它們的行為非常不同。 傳統位是二進位,而且只能保留 0$ 或 $1$ 的位置$,但量子位可以保留所有可能狀態的迭加。 這表示量子位可以處於 0$、$1$ 或任何兩者量子迭加的狀態$。 0$ 和 $1$ 的無限可能迭加$,而且每個迭加都是有效的量子位狀態。

在量子運算中,信息會編碼為狀態 $0$ 和 $1$ 的迭加。 例如,使用 $8$ 個位,我們可以編碼 $256$ 個不同的值,但我們必須選擇其中一個來編碼它。 使用 $8$ 個量子位,我們可以同時編碼 $256$ 個值。 此行為是因為量子位可以處於所有可能狀態的迭加。

如需詳細資訊,請參閱 量子運算中的量子位

如何建置量子計算機

量子計算機是利用量子機械現象的計算機。 量子計算機會使用量子狀態來儲存和計算資訊。 &他們可以商號;程式&商;量子干擾,以比傳統計算機更快或更好的方式執行動作。

建置量子計算機時,我們必須思考如何建立量子位,以及如何儲存量子位。 我們也需要思考如何操作它們,以及如何讀取計算的結果。

大部分使用的量子位技術都是截獲的電離量子位、超導量子位和拓撲量子位。 對於量子位記憶體的某些方法,裝載量子位的單位會維持在接近絕對零的溫度,以最大化其一致性並減少干擾。 其他類型的量子位元裝載則會使用真空室以便將震動降到最低,並使量子位元保持穩定。 訊號可以使用各種方法傳送至量子位,包括電壓、雷射和電壓。

量子計算機的五個準則

良好的量子計算機應該具有下列五個功能:

  1. 可伸縮: 它可以有許多量子位。
  2. 可初始化: 它可以將量子位設定為特定狀態, (通常是 $0$ 狀態) 。
  3. 彈性: 它可以長時間讓量子位保持迭加狀態。
  4. 普遍: 量子計算機不需要執行每個可能的作業,只需要一組稱為 通用集的作業。 一組通用量子作業,可讓任何其他作業分解成一連串的量子作業。
  5. 可靠: 它可以精確地測量量子位。

這五個準則通常稱為量子計算的 Di Vincenzo 準則。

建置符合這五個準則的裝置,是人類有史以來最嚴苛的工程挑戰之一。 Microsoft 與世界各地最頂尖的數個量子電腦製造商合作,使您得以透過 Azure Quantum 存取最新的量子運算解決方案。 如需詳細資訊,請參閱 Azure Quantum 提供者的完整清單。

量子運算和 Azure Quantum 可以用於什麼?

量子電腦並非可以更快完成所有運算的超級電腦。 事實上,量子運算研究的其中一個目標是研究量子計算機可以比傳統計算機更快解決哪些問題,以及加速程度有多大。

量子計算機非常適合需要計算大量可能組合的問題。 您可以在許多領域中找到這類問題,例如量子模擬、密碼編譯、量子機器學習和搜尋問題。

如需 Microsoft 量子運算研究的最新資訊,請參閱 Microsoft Research Quantum Computing 頁面。

資源估計

現今可用的量子計算機可啟用有趣的實驗和研究,但無法加速解決真實世界問題所需的計算。 雖然產業等候硬體進展,但量子軟體創新正積極進行進度,併為量子未來做好準備。 現今建立演算法,最終將在明天的容錯調整量子計算機上執行,是一項令人困難的工作。 這些創新面臨問題,例如需要哪些硬體資源? 需要多少個實體和邏輯量子位,以及哪種類型? 運行時間多久?

您可以使用 Azure Quantum Resource 估算器來協助回答這些問題。 因此,您將能夠精簡您的演算法,並建置解決方案,以在量子計算機可用時利用調整的量子計算機。

若要開始使用,請參閱 執行您的第一個資源估計值。

深入瞭解如何使用 arXiv:2211.07629中的 Azure Quantum 資源估算器來評估調整到實際量子優勢的需求。

量子模擬

量子機制是基礎 &商;操作系統&商;我們的宇宙。 其描述本質的基本構成要素的表現方式。 本質的行為,例如化學反應、生物反應和材質構成物,通常牽涉到許多主體的量子互動。 為了模擬內部量子機械系統,例如量子運算,量子運算是可行的,因為 量子位 (量子位) 可用來表示有問題的自然狀態。 我們可以建立模型的量子系統範例包括光合成、超導性,以及複雜的分子結構。

Azure Quantum Elements 是專為加速科學探索而建置的。 使用優化模擬工作流程來重新建立研究與開發生產力,以在 Azure High-Performance 運算 (HPC) 叢集、AI 加速運算、使用 AI 增強的推斷、與量子工具整合以開始實驗現有的量子硬體,以及未來存取 Microsoft 量子超級計算機。 如需詳細資訊,請參閱 解除鎖定 Azure 的動態功能

量子加速

量子運算研究的其中一個目標,就是要研究量子電腦可以比傳統電腦更快解決哪些問題,以及加速的速度。 兩個已知的範例是 Grover 的演算法和 Shor 的演算法,分別產生多項式和指數加速,分別代表其傳統對應專案。

在量子計算機上執行的 Shor 演算法可能會中斷傳統密碼編譯配置,例如 Rivest–Shamir–Adleman (RSA) 配置,這在電子商務中廣泛使用以進行安全的數據傳輸。 此機制根據分解質數的實際難度,使用傳統演算法分解質數。 量子加密藉由運用基本物理而非複雜度假設,來保證資訊安全性。

就像Shor的分解演算法一樣,隱藏移位問題是量子計算機對於最佳已知傳統演算法具有指數優勢之問題的自然來源。 這最終有助於解決反卷積問題,並讓我們有效率地尋找複雜數據集中的模式。 事實上,量子計算機可以以高速計算卷積,而後者則是以量子計算機計算四ier 轉換的能力為基礎。 在 Azure Quantum 工作區的範例資源庫中,您會發現 Azure 帳戶 (需要 隱藏的 Shifts Jupyter Notebook 範例) 。

Grover 的演算法 可加速非結構化數據搜尋的解決方案,以比任何傳統演算法少的步驟執行搜尋。 事實上,任何可讓您檢查指定值 $x$ 是否為有效解決方案的問題, (&引號;是或沒有問題&商數;) 可以根據搜尋問題來制定。 以下是一些範例:

  • 布爾值滿足性問題:布爾值 $集合 x$ 解譯 (值指派給符合指定布爾公式的變數) ?
  • 旅遊銷售人員問題: $x$ 是否描述連接所有城市的最短可能迴圈?
  • 資料庫搜尋問題:資料庫數據表是否包含記錄 $x$?
  • 整數分解問題:數位 x 是否可區分固定數位 $$N$?$

如需 Grover 演算法的更深入檢查,請參閱 在 中Q#實作 Grover 演算法教學課程。

量子運算如何解決問題?

量子電腦是可控制的量子機械裝置,其會利用量子物理的屬性來執行計算。 針對某些運算工作,量子運算可提供指數型加速。 這些加速可能歸功於量子力學的三種現象:疊加、干擾與糾纏。

疊加

想像一下,您正在客廳運動。 您先把身體往左轉到底,然後再往右轉到底。 現在,同時往左和往右轉到底。 您不可能做到這一點 (至少不把自己切成兩半是辦不到的)。 很明顯地,您無法同時處於這兩種狀態,您不可能同時間既面向左邊又面向右邊。

不過,如果您是量子粒子,由於有稱為疊加 (也稱為相干性) 的現象,您會有一定的概率面向左邊以及一定的概率面向右邊

不同於傳統物件,如果兩個狀態 $A$ 和 $B$ 是量子物件的有效量子狀態,則狀態的任何線性組合也是有效的量子狀態: $\text{量子位狀態}=\alpha A + \beta B$。 這個量子狀態 $A$ 和 $B$ 的線性組合稱為迭加。 在這裡,$\alpha$和 $\beta$ 分別是 A$ 和 $B$ 的$機率幅度,因此 $|\alpha|^{{2} + |\beta|^{2}= 1$。

只有離子、電子超導電路等量子系統可存在於疊加狀態,並啟用量子運算的能力。 例如電子的量子物件有自己的「向左或向右」屬性,也就是 旋轉,稱為向上或向下,因此電子的量子狀態是商數的 &迭加;啟動&引號; 和 "微調&引號;。

一般而言,為了附會傳統的二進位運算,如果量子系統可能處於兩種量子狀態,這些狀態即稱為 0 狀態和 1 狀態。

量子位元和概率

傳統電腦會以位元儲存和處理資訊,位元的狀態可以是 1 或 0,但不會同時是兩者。 量子運算的等價物是量子位元。 量子位元是可疊加兩個量子狀態 (0 和 1) 的任何量子系統。 每個可能的量子狀態都有相關的機率幅。 只有在測量量子位元後,量子位元的狀態會根據相關的機率,塌縮為 0 狀態或 1 狀態,所以特定機率會取得其中一個可能的狀態。

量子位元會塌縮向哪一方的概率則由量子干涉決定。 測量期間為了干涉特定結果的機率,量子干涉會影響量子位元的狀態,而此機率狀態便是量子運算卓越的能力。

例如,傳統電腦有兩個位元,每個位元會儲存 1 或 0,因此合起來您可以儲存四個可能值:00011011,但一次只會儲存其中一個。 但對於疊加的兩個量子位元來說,每個量子位元可以是 1 或 0 或兩者,因此您可以同時表示相同的四個值。 如果有三個量子位元,您就可以表示八個值,有四個量子位元就可以表示 16 個值,依此類推。

如需詳細資訊,請參閱 量子運算中的量子位

糾纏

量子力學最有趣的現象是兩個以上的量子系統糾纏的能力。 糾纏是量子系統間的量子相互關聯。 量子位元糾纏時,會形成全域系統,使個別子系統的量子狀態無法獨立描述。 當全域系統的狀態無法寫入為子系統狀態的組合時,兩個系統會糾纏,特別是當全域系統的狀態無法寫入為子系統狀態的 張量乘 積時,就會糾纏兩個系統。 產品狀態不包含相互關聯。

糾纏的量子系統仍會維持這種相互關聯性,即使以大型距離分隔也一定。 所以無論您對單一子系統套用什麼作業或程序,都會相互關聯另一個子系統。 由於糾纏在一起的量子位元之間會相互關聯,因此測量某個量子位元的狀態,就會提供另一個量子位元狀態的相關資訊,這個特性對於量子運算非常有用。

注意

兩個量子位元之測量間的關聯性,並不一定代表這兩個量子位元是糾纏的。 除了量子相互關聯之外,也有傳統相互關聯。 傳統與量子相互關聯之間的差異很細微,但對於量子計算機所提供的加速而言非常重要。 如需詳細資訊,請參閱 瞭解傳統相互關聯

如果您想要深入瞭解,請參閱 使用 探索量子糾纏教學 Q#課程。

後續步驟