用最簡單的例子告訴你:什麼是量子電腦的運算方式?

作者 | 發布日期 2018 年 10 月 25 日 19:07 | 分類 尖端科技 , 電腦 follow us in feedly

我們都經常聽到量子電腦(Quantum computer)是未來的趨勢,但量子電腦究竟是什麼?CS Dojo YouTube 頻道創辦人 YK Sugi 參觀了知名量子電腦公司 D-Wave Systems 後,提出一個簡單例子,讓不熟悉量子物理或電腦科學的人也能理解量子電腦的概念。



不論傳統電腦或量子電腦,包含數字、文字、圖片等所有訊息都使用一系列 0 和 1 表示並儲存。傳統電腦中,最小儲存單位稱為位元(bit),而量子電腦中,最小儲存單位稱為量子位元(qubits)。

但除了名稱差異,量子位元和位元究竟有何不同?讓我們這麼說吧;每個位元都是 0 或 1,但每個量子位元都可以是 0 和 1。如果還是難以理解,我們不妨從以下的數學例子來理解兩者的差異。

假設你經營一家旅行社,必須安排團員從一個地方移動至另一個地方,為此你預訂了 2 輛計程車,現在必須規劃如何分配座位。為了確保旅程氣氛和樂,你希望透過座位分配達成兩個目標:最大化同輛車的朋友數量,同時最小化同輛車的敵人數量。

為了保持題目單純,讓我們先假設團員只有 3 個人──Alice、Becky 和 Chris,而你所知道的 3 人關係如下:

  • Alice 和 Becky 是朋友
  • Alice 和 Chris 是敵人
  • Becky 和 Chris 是敵人

在如此單純的條件下,許多人大概不需要電腦就能隨手算出最好的分配解答,儘管如此,我們還是先來看看傳統電腦和量子電腦解決問題方面的差異。

計程車分配問題:傳統電腦

要說明傳統電腦如何解決這個問題,我們就必須先理解電腦如何用位元儲存訊息。

首先,我們將兩台計程車分別設定為「#1」和「#0」,這樣就能用 3 個位元表示分配座位的各種情況。當不考慮計程車搭乘人數的上限和下限,每個人都有 2 個選擇,因此共有 23=8 種方法將這組人分成兩輛車。

▲ 3 人搭計程車的所有可能組合。

為了確定哪種組合是最佳解決方案,我們必須先定義如何計算每項組合的「分數」,才能比較每個方案達到目標的程度。這裡我們先簡單地定義分數如下:

  • (朋友共享同一輛車)-(敵人共用同一輛車)=得分

在這個定義下,假設 3 人都進入出租車#1(位元表示為 111),配置的總分便為 1(Alice 和 Becky)-2(Alice 和 Chris、Becky 和 Chris)= -1。

使用傳統電腦時,你基本上需要列出並計算完所有組合,確定哪個得最高分才能獲得最佳解答。在這個問題中,所有組合的分數情況如下:

▲ 得分為 1 的 001 和 110 是兩個最佳解答。

由於問題相對簡單,傳統電腦很快就能解決,但如果人數增加呢?3 個人有 23 種組合,4 個人就需要 24 種組合,不考慮計程車能否容納的問題之下,如果有 100 個人,我們就需要 2100 種組合,傳統電腦無法解決這種問題。

但如果使用量子電腦呢?解釋如何處理 100 個人的問題之前,我們先回到將 3 人安排分搭 2 輛計程車的情況。

計程車分配問題:量子電腦

正如先前提到的,這個問題有 8 種組合,運用一般電腦時,3 個位元一次只能代表一種可能性(像是 001、101),但使用量子電腦,只要 3 個量子位元就可以同時代表 8 種可能性。

簡單來說,當你將第一個量子位元設定為 0 和 1 時,就有點像創造 2 個平行世界。其中一個世界,量子位元為 0,另一個世界量子位元為 1,當你再將第二個量子位元設為 0 和 1 時,這就像創造了 4 個平行世界。

這種思考方式或許有些奇怪,但能稍微解釋量子位元在現實世界的行為方式。

與傳統電腦用位元列出所有 8 種可能性的情況不同,當您對這 3 個量子位元應用某種運算時,實際上是同時在 8 個平行世界應用相同計算,同時計算所有方案的得分。

當然,你還是得讓量子電腦學會用量子位元表示所有潛在解決方案,同時將每個潛在解決方案轉換為分數,一但做到這兩件事,量子電腦便能在幾毫秒內提供最佳解決方案之一。在 3 人計程車問題,答案便是 001 或 110。

然而儘管理論上來說,量子電腦每次運算都會提供最好解決方案之一,但量子電腦實際運算有一些錯誤。它可能提供第二好或第三好的解答,隨著問題越來越複雜,這些錯誤也就變得更明顯。

因此實用時,你可能必須在量子電腦進行相同運算數十次或數百次,然後從獲得的眾多結果選出最好的一個。

處理大量計算的優勢

儘管有這些錯誤,量子電腦還是有強大的優勢。因為和傳統電腦不同,面對需要龐大計算量的問題時,量子電腦並不會有擴展問題。

由於量子電腦同時計算所有組合搭配的分數,因此當有 3 個人時,需要執行的次數為 1,4 個人時次數仍為 1,即使數字增加至 100 人,操作次數仍然是 1。透過一次操作,量子電腦會同時計算所有 2100 種組合的分數。

當然因為有前述提到的問題,實際應用時為了得出最佳結果,最好還是操作量子電腦數十次或數百次,並從眾多結果中選擇最好的一個。

儘管有些麻煩,但仍比傳統電腦運算相同問題,得重複與結果數相同的計算次數要好得多。以 100 人計程車問題來說,這個數字大概是 1 百穰次。(1 穰次等於 10 的 28 次方)

(首圖來源:shutterstock)