天天看點

Q Sharp-量子計算導論

介紹

關于量子計算有很多關于微軟的話題,微軟已經正式宣布了昆騰開發套件和量子計算語言Q#。在本文中,我将介紹Quantum Computing的一些基礎知識,并在Visual Studio 2017的本地計算機上設定一個環境,以開始使用Quantum程式設計。

什麼是量子理論?

量子理論是實體學的一個分支,它處理原子和它們内部較小(亞原子)的粒子的世界。實體定律在原子水準上是不同的,我們在日常生活中可以觀察到的古典實體定律在這裡不适用。

經典電腦的限制

古典電腦(我們日常生活中使用的機器,包括筆記本電腦,台式電腦,伺服器等)讓我們的生活變得非常簡單快捷。在上個世紀,随着計算機的出現,我們已經取得了很多的成就,世界已經完全改變了。但是古典電腦也有一些限制。

一台經典的計算機使用半導體來形成邏輯開關,它們允許電流通過(開啟)或限制電流(開關關閉)。随着時間的推移,半導體的尺寸變得非常小,這使得我們可以将數百萬個半導體安裝到一個小晶片上,進而産生計算能力增強的小型便攜式計算機(例如 - 智能手機),但是我們正在接近制造實體極限半導體更小。今天,半導體已經達到了1納米的大小。在一個原子範圍(小于1納米),電子行為怪異,不遵循通常适用于較大物體的實體原理。在原子尺度上,電子顯示量子隧穿效應,也就是說,它有時像波浪一樣,通過閉合的邏輯開關,進而使邏輯開關的存在無效。由于我們不能在這麼小的尺寸下擁有完美的半導體開關,是以我們已經達到了我們可以在一個小區域内安裝多少個半導體的最終限制,保持半導體的大小足以避免量子隧道效應。這又反過來阻礙了我們提高計算機的計算能力。

在計算方面有很多問題成倍增長,而且由于傳統計算機的局限性,解決這些問題還需要幾年的時間。是以,我們需要尋找更有效的方法來解決這些問題。答案在于量子計算機。

什麼是量子計算機?

量子計算機是建立在量子力學原理基礎上的機器,它采用了新的方法來處理資訊,進而使它們超強大。量子計算機使用Qubits來處理資訊。

什麼是Qubit?

經典計算機中處理資訊的基本機關是一個可以儲存二進制值('0'或'1')的位。與量子計算機中的位相似的是Qubit(“量子比特”的縮寫)。量子比特具有特殊的屬性,可以幫助他們比傳統比特更快地解決複雜的問題。其中一個屬性是疊加,它表示不像一個經典比特那樣保持一個二進制值(“0”或“1”),而是一個比特可以同時儲存“0”和“1”的組合。當多個量子比特連貫地互相作用時,與經典甚至最快的非量子體系相比,他們可以在一小部分時間内探索多種選擇和處理資訊。

圖: - 表示一個Qubit(圖檔來源: - 維基百科)

實際上,量子位必須被原子,離子,甚至更小的東西如電子和光子所儲存。

什麼是疊加原理?

疊加本質上是一個量子系統同時處于多個狀态的能力 - 也就是說,某個東西可以同時在“這裡”,“在那裡”或“上”和“下”。這種行為隻能在原子級别觀察到。

一個Qubit可以存在于零和一的疊加中,也就是說它可以存儲一個零,一個,兩個,零和一個,或者在它們之間存儲無限數量的值。他們還可以通過與其他Qubit進行互動來建立0和1的複雜疊加。n個 Qubits 可能的疊加總數是2 n。

什麼是糾纏?

糾纏是量子粒子之間非常強烈的相關性,事實上,兩個或多個量子粒子之間的聯系非常緊密,即使相距很遠,它們也能夠完美地協調一緻。這意味着每個粒子的量子态不能獨立描述。這些粒子如此固有地連接配接起來,即使放置在宇宙的兩端,它們也可以被瞬間“完美”地“跳舞”。

糾纏的Q比特狀态不能彼此獨立描述。這意味着如果我們測量一個Qubit,那麼我們也得到一些關于如果我們測量另一個Qubit會發生什麼的資訊。

疊加和糾纏是量子計算的兩個基本原則

什麼是拓撲qubits?

Qubits聽起來很有趣,但是它們非常不穩定,即使系統中有一點點的幹擾也會引起整個操作。是以,微軟正在努力創造一個更穩定的Qubit,稱為拓撲Qubit。與其他Qubit相比,它可以以更穩定的形式存儲資訊。拓撲Qubit将允許量子計算機以更高的速度擴充,并允許我們建立一個足夠大而穩定的量子計算機來解決我們最具挑戰性的問題。

量子計算機比普通計算機更好

我們應該牢記的一個重點是量子計算機不是古典計算機的替代品。與傳統計算機相比,量子計算機能夠以極快的速度解決問題很少。其中一個問題就是大數分解

如果m = p * q,使得p和q是素數,那麼給定m的值,找出p和q的值。

另一類問題是傳統的計算機無法提供準确的輸出,例如在化合物如單氟化鈣(CaF)和雙原子鈉(Na 2)上發現鍵長。

如何在本地機器上設定Quantum Computing開發環境

先決條件: - 您需要在64位Windows機器上安裝Visual Studio 2017。它不适用于Windows或較低版本的Visual Studio的32位安裝。

您也可以從本地機器開始從事Quantum計算。微軟已經推出了Quantum Development Kit,你可以從這裡下載下傳。

一旦你點選“下載下傳”,一個檔案“ QsharpVSIX.vsix ”将被下載下傳。您隻需要像安裝任何其他程式一樣安裝它,并将開發工具包內建到Visual Studio 2017中。您需要重新啟動Visual Studio才能使更改生效。

現在打開VS 2017并導航到檔案>>建立>>項目

它會打開一個對話框。從左側菜單中選擇Visual C#,然後從安裝的模闆中選擇“ Q#Application ”。為您的項目命名,然後單擊确定。

在解決方案資料總管中,您可以看到如下的檔案結構。

在這裡, Operation.qs是包含Q#代碼的檔案,Driver.cs是我們常用的 C#代碼檔案。這是因為Quantum電腦就像一個代碼處理器。我們将從C#檔案中的main方法調用Q#檔案的代碼。我們可以在這個解決方案檔案中編寫和模拟Quantum程式,我将在下一篇文章中介紹。

模拟量子計算會給系統硬體帶來很多負擔。是以建議使用具有高記憶體(8 GB或更高)的系統。您還可以使用雲中托管的Azure Quantum Simulator,可以用來模拟大量的Qubits。

量子計算機面臨的挑戰是什麼?

目前,我們有量子計算機有能力操縱少于20個Qubits。谷歌,IBM和微軟正在努力建立一個大規模的昆騰計算機。IBM甚至還宣布了50個Qubits Quantum計算機的原型。另一個挑戰是随着Qubits數量的增加使系統穩定。

量子計算機領域廣泛,包括量子實體,超導體,納米技術等概念。其中每一個領域本身都是一個複雜的領域,正在得到充分發展,是以建立一個遵循這些領域原則的實體系統是一個真正的挑戰。

至少需要10年甚至更長時間,直到我們有一台量子計算機足夠大和穩定,足以解決我們大部分具有挑戰性的問題。

結論

量子計算機的潛力是巨大的,我們可以實作很多被認為幾乎不可能與傳統計算機。我們可以合成新藥,開發新的催化劑,加速人工智能的發展。在本文中,我介紹了量子計算機的一些基礎知識。請在評論部分發表您的寶貴意見。

原文釋出時間為:2017-12-18

本文作者:程式狼

本文來源:

今日頭條

,如需轉載請聯系原作者。

繼續閱讀