1.1 什麼是量子演算?量子演算就是使用量子電腦來進行計算的方法。在此所說的量子電腦指的是利用量子的性質來進行運算的電腦。量子電腦與我們身邊的 PC 以及智慧型手機這些傳統電腦是以不同的原理在運作。此外,與歷來的電腦相比,人們期待它能做出超高速的計算。
量子電腦的種類大致可分為「量子閘型式」與「量子退火式」。在此各將之稱為閘型量子電腦、退火型量子電腦。此外,從退火型量子電腦發想得出的「模擬退火量子電腦」也在進行開發中。量子演算本是指使用量子電腦的運算手法,但也與模擬退火量子電腦有著很深的關係。關於量子演算的概要,以下將會包含模擬量子電腦在內,按歷史長短順序介紹。
1.1.1 閘型量子電腦
一般說起「量子電腦」,幾乎是指閘型量子電腦(圖 1.1)。自1980 年代提倡量子電腦以來,就進行了設想使用量子閘構成量子電路的閘型的研究。以往的電腦都是利用電子電路的邏輯閘來進行演算,所以做為應對的量子電腦,可以說設想出閘型是很自然的流程。
但是,說到量子電腦時,我們會將以往的電腦稱為古典電腦。這意思不是老舊的電腦。其由來是我們會將在高中學到的普通力學稱為古典力學以與量子力學作區分那樣。
● 量子電腦的理論基礎
量子電腦的研究是從理論的基礎開始。1985 年,多伊奇(David Elieser Deutsch)以理論將量子電腦公式化。在 1990 年代,發表了秀爾(Peter Williston Shor)的質因數分解演算法(1994 年,又稱秀爾演算法)以及格羅弗(Lov Kumar Grover)的量子搜索演算法(1996 年)等知名的「量子演算法」。這些量子演算法都是用量子電路表現了由量子位元所展示的演算程序。
構成量子電路的是量子位元以及操作量子位元的量子閘,還有讀取量子位元狀態的測量,圖 1.2 即為其例子。橫向延伸的線對應著每一個量子位元。寫在線左邊的記號是表示量子位元最初的狀態。線中段出現的四角形及圓形記號則是表示量子閘,是從左至右的方向順序進行操作。右邊如儀表的記號則是測量。詳細會在第 5 章中進行說明。閘型量子電腦可以說就是像這樣,以量子電路的形式來進行計算的電腦。
要利用閘型量子電腦來進行計算,就需要量子演算法。其是否能比古典電腦進行更高速的計算,則要視所使用的量子演算法而定。先前提過的秀爾演算法與格羅弗的演算法已經理論證明,使用量子電腦會比用現在已知的古典演算法更能快速求出解答。
實際上,我們須要注意「現在已知」這點,因為或許還有著尚未被發現的高速古典演算法。也有古典演算法可以利用量子電腦進行高速計算的可能性並非為零。
但是在 1980、90 年代尚未實現的量子電腦為什麼可以說能進行高速計算呢?其實此處所說的計算速度並非進行時間的實測值。理論上,計算的速度會使用「計算量」來進行討論。計算量是表示計算時必需的時間與工夫(操作的進行次數)。也就是說,計算量小的演算法就會是快速的。計算量在理論上是能估計得出的。因此即便不是實際用量子電腦來進行計算,也可以估算其進行高速的計算。
● 要實現量子電腦很困難
使用量子電腦,理論上來說能夠進行高速計算,但實際上能否進行則是另一個問題。很遺憾,現在還沒有能在實用規模下進行按照理論計算的量子電腦。因為製作量子電腦的技術非常難。
第一個問題就是擔任量子電腦運算的「量子位元」。量子位元有一個性質是,對來自外部的雜訊很敏感,狀態容易改變。明明沒有進行任何操作,狀態也會改變,這就會消除掉量子位元所給予的資訊。量子位元若在短時間內失去資訊,就無法進行長時間的計算。
為了演算而操作量子位元也會產生雜訊。因此量子位元會有某種程度的機率發生沒有達到預期的狀態,亦即「失誤」。為了糾錯校正,就須要量子錯誤校正。實際上我們平時在使用的電腦也有在進行古典位元的糾錯校正。如果沒有糾錯校正,電腦就會做出預料之外的動作,或是突然停止,無法適當地使用。
我們稱能進行量子錯誤糾正的量子電腦為容錯量子電腦。要能實現這點就需要許多的量子位元。據說該數目高達 100 萬個以上。已在 2022 年發表的閘型量子電腦頂多就是數百量子位元的程度,所以尚未有所進展。
不僅是量子位元數,量子位元的品質與量子閘的錯誤率也是重點。量子位元的品質指的是在用量子電腦進行計算時,能多長時間保有必要的量子性質(詳細在第 5 章中會說明)。量子位元的品質若不好,所持有的資訊就容易損壞、容易發生錯誤。量子閘的錯誤率就是操作量子位元時發生錯誤的比例。若錯誤率大,糾錯校正時就會需要許多必要的量子位元。
● 現在的閘型量子電腦
我們稱會受到雜訊影響、無法進行糾錯校正、中等規模的(數百量子位元左右的)量子元件為 NISQ(Noisy Intermediate-Scale Quantum,雜訊中等規模量子)元件(圖 1.3)。現在的閘型量子電腦開發正在進入 NISQ 元件的時代。
實現量子位元的方式有好幾種,例如「離子阱」「超導電路」「光學脈波」等。其中現在開發最有進展的就是超導電路。全世界首次實現利用超導量子位元的量子運算是在 1999 年,當時隸屬NEC(日本電氣)的中村泰信 ‧ 蔡兆申等人成功做出並控制了超導量子位元。現在世界上也在進行研究開發的量子位元數與量子閘操作正確度也提高到相較於當時不可同日而語的程度。2019年,以 Google 為主的研究團隊發表了運用超導量子位元的閘型量子電腦來測試驗證量子計算優越性。
量子計算優越性就是「用量子電腦可以高速解決用古典電腦無法在現實性時間內解決的問題」。不過,這裡所解決的問題不一定是實務性的。因為解決實務性問題與能做出高速計算沒有直接的關係。實際上,在 2019 年展示出量子計算優越性的實驗中所解決的問題,一點都沒有實務性* 1。即便如此,在展示利用量子電腦能高速解決問題這點上仍有重大意義。
在超導電路的方法中,雖然閘型量子電腦在 2022 年是以超越了 100 量子位元的程度登場,但還無法進行糾錯校正。一般認為,NISQ 元件的時代還會持續一陣子。因此現正盛行研究適合於NISQ 元件的演算法,而看起來特別有希望的就是量子化學計算以及機器學習的領域。有多數提案都是配合古典電腦的計算,由量子電腦來負責部分擅長的計算。
量子電腦的種類大致可分為「量子閘型式」與「量子退火式」。在此各將之稱為閘型量子電腦、退火型量子電腦。此外,從退火型量子電腦發想得出的「模擬退火量子電腦」也在進行開發中。量子演算本是指使用量子電腦的運算手法,但也與模擬退火量子電腦有著很深的關係。關於量子演算的概要,以下將會包含模擬量子電腦在內,按歷史長短順序介紹。
1.1.1 閘型量子電腦
一般說起「量子電腦」,幾乎是指閘型量子電腦(圖 1.1)。自1980 年代提倡量子電腦以來,就進行了設想使用量子閘構成量子電路的閘型的研究。以往的電腦都是利用電子電路的邏輯閘來進行演算,所以做為應對的量子電腦,可以說設想出閘型是很自然的流程。
但是,說到量子電腦時,我們會將以往的電腦稱為古典電腦。這意思不是老舊的電腦。其由來是我們會將在高中學到的普通力學稱為古典力學以與量子力學作區分那樣。
● 量子電腦的理論基礎
量子電腦的研究是從理論的基礎開始。1985 年,多伊奇(David Elieser Deutsch)以理論將量子電腦公式化。在 1990 年代,發表了秀爾(Peter Williston Shor)的質因數分解演算法(1994 年,又稱秀爾演算法)以及格羅弗(Lov Kumar Grover)的量子搜索演算法(1996 年)等知名的「量子演算法」。這些量子演算法都是用量子電路表現了由量子位元所展示的演算程序。
構成量子電路的是量子位元以及操作量子位元的量子閘,還有讀取量子位元狀態的測量,圖 1.2 即為其例子。橫向延伸的線對應著每一個量子位元。寫在線左邊的記號是表示量子位元最初的狀態。線中段出現的四角形及圓形記號則是表示量子閘,是從左至右的方向順序進行操作。右邊如儀表的記號則是測量。詳細會在第 5 章中進行說明。閘型量子電腦可以說就是像這樣,以量子電路的形式來進行計算的電腦。
要利用閘型量子電腦來進行計算,就需要量子演算法。其是否能比古典電腦進行更高速的計算,則要視所使用的量子演算法而定。先前提過的秀爾演算法與格羅弗的演算法已經理論證明,使用量子電腦會比用現在已知的古典演算法更能快速求出解答。
實際上,我們須要注意「現在已知」這點,因為或許還有著尚未被發現的高速古典演算法。也有古典演算法可以利用量子電腦進行高速計算的可能性並非為零。
但是在 1980、90 年代尚未實現的量子電腦為什麼可以說能進行高速計算呢?其實此處所說的計算速度並非進行時間的實測值。理論上,計算的速度會使用「計算量」來進行討論。計算量是表示計算時必需的時間與工夫(操作的進行次數)。也就是說,計算量小的演算法就會是快速的。計算量在理論上是能估計得出的。因此即便不是實際用量子電腦來進行計算,也可以估算其進行高速的計算。
● 要實現量子電腦很困難
使用量子電腦,理論上來說能夠進行高速計算,但實際上能否進行則是另一個問題。很遺憾,現在還沒有能在實用規模下進行按照理論計算的量子電腦。因為製作量子電腦的技術非常難。
第一個問題就是擔任量子電腦運算的「量子位元」。量子位元有一個性質是,對來自外部的雜訊很敏感,狀態容易改變。明明沒有進行任何操作,狀態也會改變,這就會消除掉量子位元所給予的資訊。量子位元若在短時間內失去資訊,就無法進行長時間的計算。
為了演算而操作量子位元也會產生雜訊。因此量子位元會有某種程度的機率發生沒有達到預期的狀態,亦即「失誤」。為了糾錯校正,就須要量子錯誤校正。實際上我們平時在使用的電腦也有在進行古典位元的糾錯校正。如果沒有糾錯校正,電腦就會做出預料之外的動作,或是突然停止,無法適當地使用。
我們稱能進行量子錯誤糾正的量子電腦為容錯量子電腦。要能實現這點就需要許多的量子位元。據說該數目高達 100 萬個以上。已在 2022 年發表的閘型量子電腦頂多就是數百量子位元的程度,所以尚未有所進展。
不僅是量子位元數,量子位元的品質與量子閘的錯誤率也是重點。量子位元的品質指的是在用量子電腦進行計算時,能多長時間保有必要的量子性質(詳細在第 5 章中會說明)。量子位元的品質若不好,所持有的資訊就容易損壞、容易發生錯誤。量子閘的錯誤率就是操作量子位元時發生錯誤的比例。若錯誤率大,糾錯校正時就會需要許多必要的量子位元。
● 現在的閘型量子電腦
我們稱會受到雜訊影響、無法進行糾錯校正、中等規模的(數百量子位元左右的)量子元件為 NISQ(Noisy Intermediate-Scale Quantum,雜訊中等規模量子)元件(圖 1.3)。現在的閘型量子電腦開發正在進入 NISQ 元件的時代。
實現量子位元的方式有好幾種,例如「離子阱」「超導電路」「光學脈波」等。其中現在開發最有進展的就是超導電路。全世界首次實現利用超導量子位元的量子運算是在 1999 年,當時隸屬NEC(日本電氣)的中村泰信 ‧ 蔡兆申等人成功做出並控制了超導量子位元。現在世界上也在進行研究開發的量子位元數與量子閘操作正確度也提高到相較於當時不可同日而語的程度。2019年,以 Google 為主的研究團隊發表了運用超導量子位元的閘型量子電腦來測試驗證量子計算優越性。
量子計算優越性就是「用量子電腦可以高速解決用古典電腦無法在現實性時間內解決的問題」。不過,這裡所解決的問題不一定是實務性的。因為解決實務性問題與能做出高速計算沒有直接的關係。實際上,在 2019 年展示出量子計算優越性的實驗中所解決的問題,一點都沒有實務性* 1。即便如此,在展示利用量子電腦能高速解決問題這點上仍有重大意義。
在超導電路的方法中,雖然閘型量子電腦在 2022 年是以超越了 100 量子位元的程度登場,但還無法進行糾錯校正。一般認為,NISQ 元件的時代還會持續一陣子。因此現正盛行研究適合於NISQ 元件的演算法,而看起來特別有希望的就是量子化學計算以及機器學習的領域。有多數提案都是配合古典電腦的計算,由量子電腦來負責部分擅長的計算。