• 沒有找到結果。

量子搜尋法在傳統電腦上的模擬研究

N/A
N/A
Protected

Academic year: 2021

Share "量子搜尋法在傳統電腦上的模擬研究"

Copied!
103
0
0

加載中.... (立即查看全文)

全文

(1)國立台中教育大學自然科學教育學系碩士論文. 指導教授 : 葉聰文 博 士. 量子搜尋法在傳統電腦上的模擬研究 A Study of Simulation of Quantum Search Algorithm on the Traditional Computer. 研究生:陳瓊如撰. 中 華 民 國 九十五 年 六 月.

(2) 摘要 本研究探討量子 Grover 搜尋法 (簡稱 QGSA) 實際運用的可行性。 為建構儲存 資料及執行資料搜尋的量子系統, 本研究採用 QuaSi2 模擬軟體在傳統三十二位元電 腦上模擬對 N 筆資料進行單一資料的量子搜尋過程。 透過針對 256 筆資料數進行單一 資料搜尋, 設計對應的 256 個搜尋模擬電路, 然後對每一個電路進行模擬量子搜尋。 研 究結果顯示模擬的量子搜尋結果與 QGSA 的理論預測結果非常接近, 證實在 256 筆 資料數以內的量子搜尋法的可行性。 關鍵字: 量子搜尋法、 模擬電路、Grover 搜尋法.

(3) Abstract We investigate the applicability of the quantum Grover search algorithm (QGSA) for real cases. In order to have a quantum system for storing the data and performing the search procedures, we employ the quantum simulator(QuaSi2) software to simulate the system on a traditional personal computer of 32 bits. We investigate the cases of the number, equal to or smaller than 256, of the data. By designing the corresponding quantum circuits to carry out the QGSA simulation, we found the simulation results being close to the predictions of the QGSA theory. It is shown in our studies that the QGSA for the number of the data less than 256 are applicable. Keyword: Quantum Search Alogrithm , Quantum Circuit, Grover Search Alogrithm.

(4) 目錄. 1 緒論. 1. 1.1 簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2 量子演算法的發展歷史 . . . . . . . . . . . . . . . . . . . . .. 2. 1.3 Dirac表述法 . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.4 量子平行運算與量子糾纏態 . . . . . . . . . . . . . . . . . .. 4. 1.5 論文架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2 量子電路. 6. 2.1 概論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6. 2.2 量子閘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.2.1. 單量子閘 . . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.2.2. 多位元量子閘 . . . . . . . . . . . . . . . . . . . . .. 12. 2.2.3. 電路設計原則 . . . . . . . . . . . . . . . . . . . . .. 15. 3 Grover搜尋法. 17. 3.1 古典搜尋法 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 17. 3.2 Grover量子搜尋法 . . . . . . . . . . . . . . . . . . . . . . .. 18. 4 GSA電路設計模組. 24 I.

(5) 4.1 模組簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 4.2 GSA電路設計模組: 以N = 8為例 . . . . . . . . . . . . . . .. 26. 4.3 G迭代次數與量測 . . . . . . . . . . . . . . . . . . . . . . .. 29. 5 研究分析. 31. 5.1 模擬器簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31. QuaSi2 操作說明 . . . . . . . . . . . . . . . . . . . .. 32. 5.2 GSA模擬電路設計 . . . . . . . . . . . . . . . . . . . . . . .. 35. 5.3 執行 GSA 程式模擬 . . . . . . . . . . . . . . . . . . . . . .. 37. 5.3.1. 以n = 8為例 . . . . . . . . . . . . . . . . . . . . . .. 37. 5.3.2. 模擬結果分析 . . . . . . . . . . . . . . . . . . . . .. 38. 5.3.3. 比較不同 n 值模擬結果 . . . . . . . . . . . . . . . .. 40. 5.4 其他模擬器 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 5.1.1. 5.4.1. Quack . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 5.4.2. Open Qubit . . . . . . . . . . . . . . . . . . . . . .. 43. 5.4.3. Fraunhofer Quantum Computing Simulation . . . .. 43. 5.4.4. QCSim . . . . . . . . . . . . . . . . . . . . . . . . .. 44. 5.4.5. QuIDDpro . . . . . . . . . . . . . . . . . . . . . . .. 44. 5.4.6. QCL . . . . . . . . . . . . . . . . . . . . . . . . . .. 45. 5.4.7. JQuantum . . . . . . . . . . . . . . . . . . . . . . .. 45. 5.4.8. QCE . . . . . . . . . . . . . . . . . . . . . . . . . .. 45. 6 結論. 47. 6.1 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. II. 47.

(6) 參考文獻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A 附錄. 49 52. III.

(7) 圖目錄. 2.1 布洛赫球面 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.2 反閘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.3 反閘電路 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.4 哈達馬閘 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10. 2.5 哈達馬閘電路 . . . . . . . . . . . . . . . . . . . . . . . . . .. 10. 2.6 鮑立轉換 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 2.7 CN閘電路 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 2.8 CCN閘電路 . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 2.9 (a) 控制位元為 0,(b) 控制位元為 1 . . . . . . . . . . . . . . .. 15. 2.10 電路的串連與並連 . . . . . . . . . . . . . . . . . . . . . . .. 15. 2.11 量測符號 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 3.1 擴散轉換前[8] . . . . . . . . . . . . . . . . . . . . . . . . .. 21. 3.2 擴散轉換後[8] . . . . . . . . . . . . . . . . . . . . . . . . .. 21. 4.1 GSA電路模組 (電路畫法參考[18]) . . . . . . . . . . . . . . .. 24. 4.2 GSA的G 迭代電路模組 . . . . . . . . . . . . . . . . . . . .. 24. 4.3 N=8, 電路模組[18]) . . . . . . . . . . . . . . . . . . . . . .. 26. 4.4 N = 8, 量子狀態向量圖示[18] . . . . . . . . . . . . . . . . .. 26. IV.

(8) 4.5 G迭代對|ψi的影響[18] . . . . . . . . . . . . . . . . . . . . .. 29. 5.1 QuaSi2 介面 . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 5.2 電路設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 5.3 波長及方向 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 5.4 實數與虛數部分 . . . . . . . . . . . . . . . . . . . . . . . .. 34. 5.5 數字部份 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 34. 5.6 N=256,|5i的搜尋電路 . . . . . . . . . . . . . . . . . . . . .. 38. 5.7 用QuaSi2 執行 GSA 電路, 搜尋|5i的結果 . . . . . . . . . . .. 38. 5.8 比較理論與模擬電路機率值之曲線圖 . . . . . . . . . . . . . .. 41. 5.9 不同n值模擬程式搜尋機率圖 . . . . . . . . . . . . . . . . . .. 42. V.

(9) 表目錄. 2.1 CN閘真值表 . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 2.2 CCN閘真值表 . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 5.1 機率表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 40. 5.2 不同 n 值的比較 . . . . . . . . . . . . . . . . . . . . . . . .. 42. VI.

(10) 第1章 緒論 1.1 簡介 二十世紀的量子理論發展不但解釋了微小粒子世界的現象, 其特殊的物理特性也被應 用在生活上, 像是量子的隱形傳輸、 量子密碼學等。 量子理論也對古典搜尋方法造成了 新的影響, 假設有 N 筆未經整理的資料, 依照古典數學演算法中逐一檢查的傳統搜尋 法, 需要花費 N2 個步驟才能找到目標物。 1996 年 L. Grover 提出了針對未經整理的 資料庫加速搜尋的方法[9], 他將量子行為及現象置入演算法, 在相同的N 筆未經整理 √ 的資料裡尋找目標物時, 利用 Grove 所提出的量子搜尋方法, 僅需要 N 步驟即可完 成。 現在我們稱此種方法為Grover Serach Algorithm(簡稱 GSA)。 量子演算法 (包括 GSA) 必須在量子電腦上操作以實現其運算, 量子資訊融合了 資訊科學與量子物理這兩個領域; 目前的研究主要包括量子演算 (又稱量子計算), 量 子通訊及量子資訊理論三大方向。 量子資訊之所以被重視與發展, 一方面是因為傳統 電腦在未來將面臨量子效應的挑戰, 另一方面則是科學家們在繁瑣艱澀的量子理論中, 發現量子世界的奧妙, 學習著如何將其與古典物理不一樣的特色, 應用在實際的生活 裡。 量子平行計算 (Quantum Parallelism) 及量子態之間的纏結 (Quantum En-. tanglement) 等效應, 是發展量子演算 (Quantum Algorithm) 中不可或缺的要 素[1]。 目前, 量子電腦的研發仍在持續進行, 科學家們構想以不同的量子系統來作為量子 1.

(11) 第 1 章 緒論. 電腦的基礎架構, 例如光子的偏振(photon polarization)、 空腔量子電動力學 (cav-. ity quantum electrodymamics, CQED)、 離子阱 (iontrap) 以及核磁共振 (nuclear magmetic resonance, NMR) 等[2]。 華裔科學家Chuang 等人為主的研究 團隊, 在 1999 年, 成功的率先建立 3 個量子位元的核磁共振 (NMR) 量子電腦, 並以 此實現 Grover 演算法[10]。 其他例如用人工合成的分子(內含七個量子位元), 實現了. Shor 質因數分解演算法[11]。 直至目前為止, 能與古典電腦能力相當的量子電腦仍未建立完成, 因此尚未能完全 的比較量子演算法與古典演算法的差異性。 不過, 為了探尋更多效率更加的量子演算 法, 有必要先對已知的演算法進行模擬運算, 以研究量子演算法的可行性, 並探索演算 過程中量子系統的演化過程及相關的物理現象。 目前我們要做的, 是結合量子計算上 本身的特徵優勢, 配合上傳統電腦快速執行的能力, 進行相關的模擬研究。 本論文的研究目的即是運用量子電路模擬軟體(QuaSi2)[12], 依據Grover 提出的 量子搜尋法 (GSA) 理論, 設計適當的量子電路, 並以傳統電腦執行, 進行其模擬研究。. 1.2 量子演算法的發展歷史 所謂 「演算法」, 指的是解題方案的準確性與完整的描述。 解決一個數值問題, 可用的 方法可能不只一種, 當下最好的方法, 或許在不久後會有新的方法取而代之。 如果用 解題步驟或次數來看的話, 演算法可以解釋為將解題的過程分解成有限個步驟的過程。 例如對一個 n 位元的正整數進行因數分解的計算過程, 其演算步驟隨著變數 n 的增 加而成指數型態驟增的話, 我們稱為 NP(non-deterministic) 類問題; 若其演算步 驟可以簡化成多項式步驟內完成的, 我們稱為 P(polynomial) 類問題[3]。 「量子演算 法」 所具有的最大優勢與特徵在於: 可以將傳統演算法的NP 類問題, 轉變成 P 類問 題, 或者是縮減原來古典演算法所需要的演算步驟。 量子演算法具有這樣的特殊性質, 應與量子力學的特性有關。 2.

(12) 第 1 章 緒論. 從人類有第一台電子計算機開始, 便不斷的構想並想超越每一個新的計算模型。 量 子演算的概念最早由美國科學家 Landauer 及 Bennett 於 70 年代提出。 80 年代, 美 國阿岡國家實驗室的 Benioff 提出一個重要的概念, 他認為利用量子物理的二態系統 模擬數為 0 與 1, 應該可以設計出更有效能的計算工具[13]。 在此後又經過Feynman 的引申, 使得有更多的物理學家注意到量子力學與計算科學之間可能的關連[14]。 一 直到了在1985 年, 牛津大學的 Deutsch 提出量子杜林機 (Quantum Turing ma-. chine) 的概念, 量子演算才開始具備了數學的基本型式[15]。 真正使得量子演算的潛力引起大家注意的是在1994 年, Shor在 IEEE 基礎理論年 會發表突破性工作, 稱為快速整數因數分解方法 (現在稱為 Shor’s Algorithm)[16]。. Shor的理論, 使得RSA 密碼系統, 面臨被破解的可能。 接續在 Shor 的快速因數分 解法後, 另一個重要的量子演算法, 就是 1996 年由 Grover 所提出的量子資料庫搜尋. (Quantum Seaching)[9], 我們也稱作為Grover Serach Algorithm(簡稱 GSA), 當在一堆資料中找到目標物時, 運用 Grover 在量子世界的的搜尋計算理論, 可以輕 易的將這個問題簡化。 這樣兩個嶄新的結果, 使得量子演算 (Quantum Algorithm) 成為一門新興的研究領域。. 1.3. Dirac 表述法. 海森堡 (Heisenberg) 在 1927 年提出的 「測不準原理」 時表示: 微觀粒子的位置和動 量不能被同時正確的測量。 這樣的粒子-波動二相性的反應, 使得科學家們選擇以 「波 函數」 來描述量子現象, 波函數可以表述量子的機率分佈及其動量表現。 對於一個粒 子, 當描述它的波函數ψ(r)確定後, 我們可以說它出現在 r 點的機率是|ψ(r)|2 , 而透 過Fourier 轉換, 也可求得動量的機率密度是|ψ(p)|2 。 在量子力學裡, 一個物理系統 所組成之向量空間是複數的, 而狄拉克(Dirac) 所發展的括弧 (bracket) 符號, 幫助 我們描述這樣的複數向量空間。 而么正矩陣的置入, 可以幫助我們瞭解量子演算中量 3.

(13) 第 1 章 緒論. 子狀態的改變情形[4]。 狄拉克(Dirac) 所發展的括弧 (bracket), 以括矢(|i)(ket vector) 和包矢(h|)(bra. vector) 為其基本符號。 一個量子系統中量子狀態向量可以用 (|i) 來表示, 括矢可以 組成一個複數線性向量空間 (complex linear space), 像是量子電腦中的量子位元, 其處於 0 與 1 的量子態可作任意的線性疊合, 可表示成c|0i + d|1i, 這仍舊是一個量子 態, 而係數 c 和 d 可以是任意的複數, 其平方代表的是系統處於|0i和|1i的機率, 且必 須符合|c|2 +|d|2 = 1的條件。 另外定義每一括矢(|i)有一個對應的包矢(h|), 包矢也可 以組成包空間 (bra space), 與括空間對應。 包矢hα|與括矢|βi的內積, 以hα|βi表示, 如果hα|αi = 1, 則稱|αi為歸一化的括矢。 包矢hα|與括矢|βi的外積, 則以|αihβ|表 示, 他是一個算符 (operator), 可直接作用在括矢或包矢上[5]。 么正矩陣(Unitary matrix) 指的是: 一個n ∗ n的矩陣 A, 如果滿足AA+ =. A+A = I, 則稱之為么正矩陣。 其中A+ 為A的共軛轉置矩陣, I為固定值。 量子演算的 過程需要改變量子位元的狀態, 量子電路中的量子閘, 可以改變量子位元的狀態, 但是 量子位元在被改變的前後, 其量子疊加態必須是相等的, 也就是各種狀態的機率幅平 方和要為 1。 不同的么正矩陣各代表著不同的量子閘[6]。. 1.4 量子平行運算與量子糾纏態 量子演算時所常運用的量子現象, 以量子平行運算和量子糾纏態為其重要的演算理論 依據。 量子平行運算(Quantum parallelism) 的意義在於只需要 n 個么正轉換 (Uni-. tary transform), 就可以準備出2n 個可能狀態, 在這樣的情況下, 這2n 個狀態是以線 性組合的方式疊加呈一個狀態, 相當於是一個準備狀態, 這時候再進行一次么正轉換, 就可以將全部的位元同時進行改變。 而這樣的工作, 僅需要n個量子位元即可完成。 量 子糾纏態 (Quantum Entanglement) 指的是量子系統間存在的一種特別的關係, 它 在所有的量子運算中會自然產生, 許多人認為, 量子糾纏態的特性是使得量子計算加速 4.

(14) 第 1 章 緒論. 的原因之一, 目前已知這樣的特性在量子通訊上佔有極大的影響力。 [2][3] 量子演算不論在表述方法或基礎理論應用上, 都與古典演算法不同。 我們希望能藉 著量子平行計算及量子糾纏態等物理特性, 解決或省視更多的演算問題。. 1.5 論文架構 本論文的架構如下: 首先在第二章, 介紹的是量子電路的基本設計原則, 以及如何運用布洛赫(Bloch) 球面來描述單一量子位元狀態的改變, 再以矩陣的形式將基本幾個量子閘對量子位元 的作用方式及結果表示出來。 作為進行 GSA 電路設計的基本概念。 第三章則是介紹 Grover 的搜尋理論 (GSA), 對其搜尋理論與步驟作逐一的解釋 說明。 第四章探討 GSA 的模擬電路模組的設計原則, 例如: 設計 GSA 模擬電路需要 幾個量子位元? 需要幾個步驟將搜尋目標的機率振幅放大? 如何求得理論的機率值? 在這一個章節將以舉實際的例子的方式進行介紹, 在第五章進入研究分析的段落, 在這個章節裡介紹本研究的模擬器 (QuaSi2) 的 基本操作, 以及運用模擬器進行電路的程式模擬, 並將模擬結果與理論的值相互比較。 在本章最後, 列舉了幾個電路模擬器, 並作了簡要的介紹, 提供對模擬電路有興趣的同 好參考。 最後, 在第六章的結論中, 總結本研究的研究結果、 本論文的貢獻以及對未來的期 許。. 5.

(15) 第2章 量子電路 2.1 概論 傳統電腦與量子電腦不同的地方, 在於傳統電腦的電路是由電線及邏輯閘組成, 電線 負責傳送資料, 邏輯閘則負責對資料進行運算。 在量子電路的模型中, 傳遞資料的是處 於疊加的量子位元, 這些量子位元可以是光子、 電子與核子或者是原子。 科學家運用 光子的兩個極化狀態, 電子、 核子自旋的兩個自旋狀態, 或者是原子的基態和激發態, 用來實現訊息中的 0 與 1 的兩個狀態。 若以狄拉克表示法來表示, 可以表示為|0i與|1i, 這些量子位元可以用來儲存和處理資訊。 量子電路上的邏輯閘 (量子閘) 代表著各式 不同的么正轉換, 若在量子電路的最後進行量測的動作, 可以讀出量子位元經過運算 後的內容。 傳統的電腦資訊以 0 與 1 做為代表資訊的基本單位, 這個基本單位我們稱之為位元. (bit)。 一個位元可以代表 0 或 1(非 0 即 1), 傳統電腦以 0 與 1 構成的串列代表變數, 在 某一特定時刻, 只能存在一種狀態。 量子電腦的基本單位則是量子位元 (qubit), 他 具有成為量子疊加狀態的特質, 具有機率幅與相位。 一個量子位元, 處在狀態|0i與狀 態|1i之疊加態可以表示為:. . iφ. cos( θ2 ). e θ θ |ψi = eiφ cos( )|0i + sin( )|1i =  2 2 sin θ2 6.  . (2.1).

(16) 第 2 章 量子電路. 這是以自旋子描述方式表達, 其中 (θ, φ) 給描述的量子位元在布洛赫球 (Bloch. ball) 上的空間方位, 如圖 (2.1)。. 圖 2.1: 布洛赫球面. 相對於傳統電路中的位元有 0 與 1 的狀態, 在量子位元的狀態表示上, 我們可以用 下列的數學模式來表示:. , 其中C0 , C1 ∈ C 且. |ψi = C0 | 0i + C1 | 1i. (2.2). | C0 |2 + | C1 |2 = 1. (2.3). 寫成矩陣模式為. . 或者表示成. | ϕi = . C0 C1.  . |ψi = cos(θ) | 0i + sin(θ)eiφ | 1i , 其中 0 ≤ θ ≤ π 且 0 ≤ φ ≤ 2π 7. (2.4). (2.5).

(17) 第 2 章 量子電路. 像上述式子的寫法, 我們可以任何單量子的狀態對應到布洛赫球面上, 而點的位置 則由 θ 以及 φ決定, 這並且也表示了量子的疊加狀態 (superposition)[6]。. 2.2 量子閘 在量子電腦裡是沒有電流也沒有電線的, 我們運用的是量子位元。 而所謂的 「量子閘」, 其實指的是透過某些特定物理動作使得量子狀態改變的過程。 隨著時間的流轉, 量子 的狀態因為我們做了某些物理上的動作(例如加了一小段時間的某個方向磁場) 而改 變, 我們就指這個動作為量子閘[6]。 在傳統電腦裡最簡單的電路就是反閘, 它的作用 是將0 變成 1, 或者是將 1 變成 0。 在量子電腦裡我們也預期會有這麼一個量子閘能作用    於量子位元上, 使得|0i變成|1i,|1i變成|0i。 把它寫成向量形式即成為 . . 也預期希望其可以使得 . c0 c1. . . →. c1. . 0 1. 1. . 0. ,. , 於是反閘也就是一個2 ∗ 2的矩陣:. c0 . N =. 0 1 1 0.  . 由此可知這是一個么正矩陣, 我們可以推導他作用在量子位元上的方式如下:      0 1 c c  0  =  1  N (| ϕi) =  1 0 c1 c0. (2.6). (2.7). 如圖 (2.2) 所示, 假設原本狀態在A點, 經過反閘的運作, 將會轉到 B 點, 這可以 解釋成是以 X 軸為中心, 在球面上轉了 180 度的結果。 接下介紹常見的幾個量子閘, 以單量子閘及多位元量子閘來進行說明: 2.2.1 單量子閘. (一) 哈達馬閘 (Hadamard gate) 8.

(18) 第 2 章 量子電路. 圖 2.2: 反閘 0123 7654. 圖 2.3: 反閘電路. 哈達馬閘的作用結果, 可視為將量子狀態在布洛赫球面上繞著y = 0, x = z 為軸 旋轉 180 度。 其作用如圖 (2.4) 所示, 其矩陣形式為:. . . 1 1 1  H=√  2 1 −1. 作用在量子狀態上的式子如下:     1 1 c 1  0  =  H(| ϕi) = √  2 1 −1 c1. (2.8). √1 (c0 2. + c1 ). √1 (c0 2. − c1 ).  . (2.9). (二) 鮑立 (Pauli) 矩陣 在單量子閘的分解上, 我們可以運用鮑立 (Pauli) 矩陣, 將任意的單量子閘分解成 三個旋轉動作, 以簡化某些繁複的么正轉換。 鮑立矩陣共有三個, 分別是σx , σy , σz 。. (1)Pauli-σx矩陣 9.

(19) 第 2 章 量子電路. 圖 2.4: 哈達馬閘. H 圖 2.5: 哈達馬閘電路. Pauli-σx矩陣的作用結果, 視為將量子狀態在布洛赫球面上繞x軸旋轉 180 度。 其矩陣形式為:. . σx = . 0 1 1 0.  . 作用在量子狀態上的式子如下:        c0 0 1 c c  0  =  1  σx   =  c1 1 0 c1 c0. (2.10). (2.11). 由矩陣形式及結果可知, Pauli-σx與反閘的作用相同。. (2)Pauli-σy矩陣 Pauli-σy 矩陣的作用結果, 視為將量子狀態在布洛赫球面上繞y軸旋轉 180 度。 其 矩陣形式為: 10.

(20) 第 2 章 量子電路. . σy = . 0 −i i. 0.  . 作用在量子狀態上的式子如下:          c0 0 −i c −ic1 −c1  0  =   = i  σy   =  c1 i 0 c1 ic0 c0. (2.12). (2.13). (3)Pauli-σz矩陣 Pauli-σz 矩陣的作用結果, 視為將量子狀態在布洛赫球面上繞z軸旋轉 180 度。 其 矩陣形式為:. . σz = . 1. 0. 0 −1.  . 作用在量子狀態上的式子如下:        c0 1 0 c c  0  =  0  σz   =  c1 0 −1 c1 −c1 鮑立矩陣對量子狀態的影響, 如圖 (2.6) 所示。. 11. (2.14). (2.15).

(21) 第 2 章 量子電路. 圖 2.6: 鮑立轉換 2.2.2 多位元量子閘. 在量子電路中, 單量子位元閘描述的是單一量子位元的狀態, 如果要描述多量子位元, 就要考慮到量子電路的問題。 在描述量子電路時, 我們通常以圖形來表示, 在量子電路 圖中, 一條水平線代表一個量子位元, 而這條 「電線」 代表的是時間過程, 「量子閘」 的 相對位置代表的是作用的相對時間, 每條水平線代表經過閘的作用前後的量子態, 時間 的演變從左邊到右邊, 一個符號代表一個閘。 多位元量子閘中基本的有控制-反閘 (稱 為 CN 閘)、、 控制-控制-反閘 (稱為 CCN 閘, 又稱 Toffoli 閘)。 分別介紹如下:. (一) 控制-反閘 (CN 閘) 控制-反閘 (CN 閘) 是多量子閘中最基本的量子閘, CN閘會同時作用在兩個量子 位元上, 一個量子位元是控制位元, 另一個是目標位元。 CN閘會利用第一個量子位元 的狀態來控制是否要對第二個量子位元作反閘的動作, 當控制位元的值是| 1i的時候, 會使目標位元的值反向; 當控制位元的值是| 0i的時候, 目標位元的值就不變。 CN閘 的電路表示法如圖 (2.7) 所示。 其真值表如表 (2.1) 所示:. 12.

(22) 第 2 章 量子電路. 表 2.1: CN 閘真值表 輸入 X Y 0 0 0 1 1 0 1 1. 輸出 X Y 0 0 0 1 1 1 1 0. • 0123 7654. 圖 2.7: CN閘電路. CN閘可以表示成 4*4 的么正矩陣: . 1 0   0 1 CN =   0 0  0 0 作用於量子位元的式子如下:    c  0      c1     CN   =  c2      c3. 0 0. .   0 0   0 1  1 0 . (2.16). . . . c c  0   0      0 1 0 0   c1   c1    =       0 0 0 1   c2   c3      c2 c3 0 0 1 0 1 0 0 0. (2.17). CN閘在量子電路中很有用, 他可以被用來作為量子糾纏 (Quantum Entanglement) 狀態的製造機器。. (二) 控制-控制-反閘 (CCN 閘) 當量子位元擴增到三個時, 我們可以運用 CCN 閘。 作用的方式是由前兩個量子位元控制第三個量子位元。 當兩個控制位元的狀態都 13.

(23) 第 2 章 量子電路. 表 2.2: CCN 閘真值表 X 0 0 0 1 1 1 1 1. 輸入 Y 0 0 1 0 0 1 0 1. Z 0 1 1 0 1 0 0 1. X 0 0 0 1 1 1 1 1. 輸出 Y 0 0 1 0 0 1 0 1. Z 0 1 1 0 1 1 0 0. • •. '&%$ !"#. 圖 2.8: CCN閘電路. 在|1i時, 才會對第三個量子位元做反閘的運作。 其真值表如表 (2.2) 所示: CCN閘的 作用於量子位元的矩陣形式為:     c0   1 0     c1   0 1        c2   0 0        c3   0 0    CCN   =  c  0 0  4     c  0 0  5         c6   0 0    0 0 c7. . 0 0 0 0 0 0    0 0 0 0 0 0    1 0 0 0 0 0    0 1 0 0 0 0    0 0 1 0 0 0    0 0 0 1 0 0    0 0 0 0 0 1   0 0 0 0 1 0. 14. . . c0      c1       c2       c3    =  c4       c5        c6     c7. . c0   c1    c2    c3    c4    c5     c7   c6. (2.18).

(24) 第 2 章 量子電路 2.2.3 電路設計原則. 在量子電路圖上, 一條水平線代表一個量子位元, 而這條 「電線」 代表的是時間過程, 「量子閘」 的相對位置代表的是作用的相對時間, 每條水平線代表經過閘的作用前後的 量子態, 時間的演變從左邊到右邊, 一個符號代表一個閘。 在量子電路上的控制位元可 以是|1i, 也可以是|0i。 若是以|0i為控制位元時, 在電路圖中我們以白色小圓圈表示。 若是以|1i為控制位元時, 我們以黑色圓圈表示  . •. '&%$ !"#. '&%$ !"#. (a). (b). 圖 2.9: (a) 控制位元為 0,(b) 控制位元為 1. 在電路的設計上, 可以比擬傳統電腦。 量子位元彼此間也有串聯與並聯的方式, 所 謂的 「串聯」, 指的是對 「同一個量子位元」 順序性的施以不同 「閘」 的運作。 而 「並聯」 則是 「不同種類的閘」, 作用在 「各別的」 量子位元, 彼此獨立、 沒有時間關係的, 如圖. (2.10) 而不同量子之間的相互關係, 則可用多位元量子閘來進行電路的設計, 決定哪 些是控制量子位元、 哪個是目標位量子位元[6]。. H. H. 串聯 並聯. H H. 圖 2.10: 電路的串連與並連. 在量子電路中我們用圖(2.11) 的符號來代表量測的動作, 量測的動作多在量子電 路的末端進行。 不過量子理論中的一個特性是當量子系統被量測時, 所代表的量子資 15.

(25) 第 2 章 量子電路. fe. 圖 2.11: 量測符號. 訊將產生被破壞而縮併的現象, 使得量子狀態呈現古典結果。 所以在量測方法上, 我們 以量測時所使用的基底作為計算基底。. 16.

(26) 第3章 Grover 搜尋法. 如果資料庫的資料數目是 N, 若以往傳統的演算法, 其搜尋到目標物的步驟次數為O( N2 ), √ 而Grover 的量子搜尋方法, 僅需要O( N )個步驟就能找到。 這種加速搜尋的方法。 現被稱為Grover Search Algorithm(簡稱 GSA), 當資料數不多時, 傳統演算法和. GSA 的搜尋步驟差異不大, 但是當資料總數以指數方式增加時, 很明顯的, GSA將減 少了許多的搜尋步驟。 在這個章節中, 將會介紹幾個傳統搜尋法的搜尋方法及搜尋結果; 並針對 GSA 搜 尋法的理論進行說明。. 3.1 古典搜尋法 如果將搜尋問題, 用以下方式描述: 具有N (N ≥ 0)個項目的有序陣列 L, 被搜尋的項 X, 則搜尋情形為何?. (一) 循序搜尋法 依照順序, 在序列中逐一找尋, 搜尋情形有兩種: 1.被計算後的項目就摒除在陣列 外, 這平均需要O( N2+1 )次, 才能找出答案。 2.被計算後的項目留在陣列內, 平均需要 計算 N 次, 才能找出答案。. (二) 對分搜尋法 對分搜尋法 (又稱二分搜尋), 針對的是已有排序的數列 (假定次序是由小到大)。 17.

(27) 第 3 章 Grover搜尋法. 首先先將搜尋項 X 和中間項做比較, 如果 X 大於中間項, 則表示 X 項一定是在序 列的後半部, 那前半部就不用考慮了。 如果 X 小於中間項, 則表示 X 項一定是在序 列的前半部, 這樣後半部也就不用考慮。 然後再將 X 與考慮的那部分 (後半部或前半 部) 的中間項做比較, 以此類推, 直到找到 X 為止。 此演算法搜尋到目標物的次平均 數為O(log2 N + 1)次。. (三) 分塊搜尋 分塊搜尋又稱為索引搜尋。 他主要用於 「分塊有序」 的串列搜尋, 是將序列 L 分成. m 個子串列, 先利用對分搜尋, 尋找 X 項可能的的子串列, 再從確定的子串列中找到 X 項。 其搜尋到目標物的平均次數為O(log 2(m + 1) +. n 2m ). [7][19]. 3.2 Grover 量子搜尋法 若以量子力學的語言, 針對上述問題再次描述, 可以改寫為: 一具有N = 2n狀態的系統之N維希爾伯特空間, 其 N 個正交歸一基底是|ai : a = 1, 2, . . . , N ; 若系統中有一狀態|ωi符合條件f (ω) = 1, 其他2n − 1個狀態則為f (i) = 0, i 6= ω; 請找出狀態ω, 使得f (ω) = 1。 將所有原始資料輸入量子電腦後, 進行使用 GSA 來找尋目標。 GSA的搜尋方法, 是以逐步的對整個量子系統做各種么正轉換, 最後量測到目標為止。 而所謂的 「么正轉 換」, 就是一種轉換矩陣, 這個矩陣必須符合總機率固定的條件。 在實際的運作上需要 藉助邏輯運算閘 (量子閘) 來完成。. GSA的搜尋中包含了單一量子位元哈達馬 (Walsh Hadamard)、 選擇性狀態相 位轉換 (Phase Shift) 及擴散轉換 (diffusion transformation) 三個基本么正轉 18.

(28) 第 3 章 Grover搜尋法. 換[8]。 其搜尋步驟為: 〈一〉 均勻疊加態的準備 在GSA 中, 運用哈達馬轉換運算來準備均勻疊加態: 單一量子位元的哈達馬轉換運算定義為:   1 1 ˆ = √1   W 2 1 −1. ˆ | 0i = 所以可知 W. √1 (| 2. ˆ | 1i = 0i+ | 1i), W. √1 (| 2. (3.1) 0i− | 1i);. 如果將哈達馬轉換運算, 分別作用在 n 個量子位元, 由上述之操作, 可以推論 Wˆn 的. ˆ2 |yi是: 矩陣元素hx|W n. Wn.xy = 2− 2 (−1)xy 其中x · y = (x0 ∧ y0 ). L. 所以可以定義其一般式為:. (x1 ∧ y1 ). L. .... L. (3.2). (xn−1 ∧ yn−1) ,. 1 X (−1)x·y |yi Wˆn|xi = √ n 2. (3.3). 並可以由哈達馬轉換產生一個均勻疊加態:. Wˆn|0i = Wˆn |0i|0i . . . |0i|0i 1 = √ (|0i + |1i + . . . + |2n − 1i) 2n 如果把起始狀態設定為: |0i = |00 . . . 0i, 分別對 n 個量子位元做哈達馬轉換, 則均勻疊加態為:. 19. (3.4).

(29) 第 3 章 Grover搜尋法. Wˆn|0i = Wˆn |0i|0i . . . |0i|0i 1 = √ (|0i + |1i + . . . + |2n − 1i) = |si 2n 這個過程約需O(log N )個步驟。. (3.5). (二) 重複么正運算 將選擇性狀態相位轉換運算及擴散轉換重複作用在步驟 (一) 所準備的疊加態上, √ 重複次數為O( N )。 兩個運算轉換過程如下:. (1) 選擇性狀態相位轉換運算運算公式為: ˆ = Iˆ − 2|wihw| = Iˆw Θ. (3.6). 藉由選擇性狀態相位轉換, 我們可以進行量子位元相位間的干涉, 這個動作不會改 變機率幅的大小, 且因為整個系統屬於量子疊加態的狀態, 所以所有的狀態的相位轉 換可以是同步進行的, 這就是量子計算與傳統運算最大的差異—量子平行處理。 選擇 性狀態相位轉換的定義如下:. . ζ1 與ζ2 為實數。 這也表示:. ˆ = Θ. iζ1. e. 0. 0 iζ2. e.  . θ θ ˆ Θ|ψi = ei(ζ1 +φ) cos( )|0i + eiζ2 cos( )|1i 2 2. (3.7). (3.8). 選擇性狀態相位轉換, 等同於我們描述搜尋問題所設定的f (x)函數運作, 我們可藉 由f (w) = 1及f (i) = 0且i 6= w的情況下設計量子電路, 而達到選擇性狀態相位轉 20.

(30) 第 3 章 Grover搜尋法. 換的目的。. (2) 擴散轉換運算為: ˆ = −WˆnIˆ0Wˆn = −(Iˆ − 2|sihs|) = −Iˆs D. (3.9). 假設有某一狀態向量的相位與平均相位相反, 在擴散轉換後, 其振幅會比平均值大, 如圖 (3.1),(3.2), 稱之為inversion-about-average, 這使得我們更容易找到目標物。. 圖 3.1: 擴散轉換前[8]. 圖 3.2: 擴散轉換後[8]. 擴散轉換會使得搜尋目標的機率幅放的原因在於:. ˆ = −WˆnIˆ0 Wˆn = −(Iˆ − 2|sihs|) = −Iˆs , 擴散轉換D NP −1 ′ 如果|s i = xi |ii 則 i=0. 21.

(31) 第 3 章 Grover搜尋法. ˆ ′ i = −(Iˆ − 2|sihs|) D|s =−. N −1 X. =−. N −1 X. =−. N −1 X. i=0. i=0. i=0. xi|ii + 2. N −1 X i=0. xi |ii. X 1 X |kihj| xi|ii N i kj. xi|ii +. X. 2 X |ki( xi δij ) N ij. xi|ii +. X. |ki(. k. k. =. X. (−xi + 2A)|ii. =. X. [A + (A − xi)]|ii. (3.10). 2 X xi ) N i. i. i. , 其中 A =. 1 n. NP −1. xi 。. √ 在這個過程中, 除了機率幅放大使得量測比較容易外, 重複 O( N )次的么正運算 i=0. 也是關鍵: 當. 1 |si = √ (|0i + |1i + . . . + |2n − 1i) 2n √ X 1 1 N −1 √ = √ |wi + √ |ii N −1 N N r 1 N −1 |ri = √ |wi + N N. (3.11). 且|wi與|ri為線性獨立及正交, 所以可是二者為希爾伯特空間的正交歸一基底。 並 由以下的定義:. 22.

(32) 第 3 章 Grover搜尋法. . ˆ = Θ. 其中令θ1 = π, θ2 = 0, 則. . ˆ Θ|si =. −1 0 0. 1.  . √1 qN N −1 N. iζ1. e. 0 iζ2. 0. e. . . (3.12). .  = − √1 |wi + N. r. N −1 |ri N. (3.13). ˆ = Iˆ − 2|wihw| = Iˆw , 一般稱此運算為條件作用。 故Θ 所以結合所有的GSA 運算, (不包含第一個哈達馬轉換運算), 定義一么正算符, 搜 尋運算子. ˆ = −IˆsIˆw , 以|ri, |wi 為基底, 其可表示為: G ˆ = −IˆsIˆw G 2 = (1 − )(|rihr| + |wihw|) + 2 N. r. N −1 (|wihr| − |sihw|) N. (3.14). ˆ 么正運算, 則運算後|wi的機率幅, 亦即Gˆm 在|si在|wi間的矩陣 假設重複 m 次G 元素為:. hw|Gˆm |si = cos(mη − ζ) 其中, η = sin−1 2. √ N −1 ,ζ N. = cos−1 √1N ;. 如果要百分之百量測到|wi, 即 cos2 (mη −ζ) = 1, 需要(mη −ζ) = 0, 所以m = √ 2 ζ √2 , ζ ≈ 2 , 所需要運算的次數是 m ≈ π2 = 4 N , ; 如果 N ≫ 1, 則 η ≈ √ η π π N N. 以上是Grover 搜尋法的理論說明, 在下一個節裡, 將逐一說明如何運用量子電路 實現 Grover 搜尋法。 23.

(33) 第4章 GSA 電路設計模組 4.1 模組簡介 GSA的量子電路的設計, 依照其搜尋步驟可分成兩個部分: (一) 以哈達馬閘進行均勻疊加態準備。 (二) 選擇性相位轉換及擴散轉換 (稱 G 迭代)。 |0i. 暫存器 1. |0i |1i. 暫存器 2. H .. . H. .. . |ψin i. H. G |ψi. G |ψG i. ··· .. . ··· |ψG2 i ···. NM. G. NM. H. 圖 4.1: GSA電路模組 (電路畫法參考[18]). |0i+|1i √ 2. .. .. .. .. |0i+|1i √ 2. |−i. |ψi. Oracle. .. .. 2|ψihψ| − I. |ψ1 i. .. .. |−i. 圖 4.2: GSA的G 迭代電路模組. 要完成圖 (4.1) 的設計, 需要用到兩個暫存器, 第一個暫存器具有 n 個量子位元, 第二個量子位元有一個量子位元。 第一個暫存器的 n 個量子位元起始狀態狀態均設定 24.

(34) 第 4 章 GSA電路設計模組. 為|0, ..., 0i, 使用哈達馬閘作用在每個量子位元上, 使得每個量子態都有相同的振幅, 每一個態被量測到的機率均為 √1N 。 令此均勻的量子糾纏態為|ψi,. |ψi = H. N. n. |0, .., 0i. = (H|0i). N. n. |0i + |1i N n √ ) 2 N −1 1 X =√ xi|ii N i=0. =(. (4.1). 第二個暫存器的單一量子位元起始狀態狀態設定為|1i, 在經過哈達馬閘的作用後, √ 量子位元的狀態將帶一個負值, 即|−i = (|0i − |1i)/ 2, 在oracle 裡, 當符合搜尋 目標f (ω) = 1時, 反閘將量子態翻轉, 使其振幅為負值, 以別於其他非目標量子態。 之後利用這樣的標記, 進行選擇性相位轉換的鏡射動作, 也就是運用兩組哈達馬閘的 功能[18]。 重複oracle 和選擇性相位轉換的動作 (G), 即是實現 GSA 的方法。 迭代的次數. (反覆 G 的次數) 和資料數的多寡有關, 若搜尋到目標物的最大的機率所需的 G 值次 數為 R,. R6. π√ N 4. 整個 GSA 的電路模組設計, 如圖 (4.1),(4.2)。 在下一節裡, 我們將提出一個範例, 將 GSA 電路模組的操作解釋的更清楚。. 25. (4.2).

(35) 第 4 章 GSA電路設計模組. 4.2. GSA 電路設計模組: 以N = 8為例. 假設資料總數N = 8, 要從中搜尋其中一筆資料, 依據上一節所介紹的電路設計模組, 當N = 8時, 第一個暫存器需要三個量子位元 (N = 2n ), 加上第二個暫存器的一個 量子位元, 整個電路一共需要四個量子位元。 當初始態為ψ0 i, 重複 G 迭代的次數可 代入公式 (4.2), 求得 G 迭代次數為 2 次, 電路模組可以表示如圖 (4.3) _ _ _ _ _ _ _ _ _ _ _ _ _ _  _ _ _ _ _ _ _ _ _ _ _ _ _     FE         |0i 2|ψihψ| − I 2|ψihψ| − I H     FE  Oracle   Oracle  |0i H     FE |ψ0 i |ψi  |ψ1 i |ψ3 i  |ψ2 i  |ψf i |1i     H H |1i _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |0i. H. 圖 4.3: N=8, 電路模組[18]). 假定搜尋的目標為5, 可以表示為|5i = |101i, 若以向量的方式來表示, 經過兩次. G 迭代的作用, 可以使|ψi −→ |ψf i, |ψf i會很接近|101i, 也就是目標被量測到的機 率增大, 其量子狀態的改變過程如圖 (4.4). 圖 4.4: N = 8, 量子狀態向量圖示[18]. 26.

(36) 第 4 章 GSA電路設計模組. 若依序說明量子態的改變過程 (由|ψ0 i → |ψi → |ψ1 i → |ψ2 i → |ψ3 i →. |ψf i), 整個轉換步驟如下: 其初始態為:. ψ0 i = |000i. (4.3). 經過哈達馬閘的轉換後,. |ψi = H. N. 3. |000i = (H|0i). N. 3. 7 1 X = √ |ii 2 2 i=0. (4.4). 若定義量子態|ui 7 1 X |ui = √ |ii 7 i=0,i6=5. =. (4.5). |000i + |001i + |010i + |011i + |100i + |110i + |111i √ 7. 那|ψi可以表示為:. √ 7 1 |ψi = √ |ui + √ |101i 2 2 2 2 若從上圖(4.4) 中可求得θ的值為. (4.6). √ 7 3 θ = 2arccos( √ ) = arccos( ) ≈ 41.4◦ 4 2 2 經過 oracle 後, 均勻態中的目標物被標記帶有負值, 即. (4.7). 1 |ψ1 i = ψi − √ |101i 2 或寫成 27. (4.8).

(37) 第 4 章 GSA電路設計模組. √ 7 1 |ψ1 i = √ |ui − √ |101i 2 2 2 2. (4.9). 這樣的結果可以看成是|ψi對|ui作鏡射的動作而改變至|ψ1 i。 接下來看擴散轉換的部分,. |ψ2 i = (2|ψihψ| − I)|ψ1i. (4.10). 從公式 (4.8) 中可以得到:. 然後可以得到. 1 1 |ψ2 i = |ψi + √ |101i 2 2. (4.11). √ 7 5 |ψ2 i = √ |ui + √ |101i 4 2 4 2. (4.12). 以上, 我們完成了一次的 G 的迭代, 以重複的步驟進行第二次 G 迭代, 可以獲得 √ 7 11 |ψf i = − √ |ui + √ |101i (4.13) 8 2 8 2 由公式 (4.13) 中可以明顯看出, |101i的機率振幅遠大於其他量子態的機率振幅 總和, 故量測|101i的機率很高, 其機率大小為. 11 p = | √ |2 ≈ 0.945 8 2. 28. (4.14).

(38) 第 4 章 GSA電路設計模組. 4.3. G 迭代次數與量測. 當資料數增加, G迭代的次數也會隨著增多, 隨著每增加一次的 G 迭代, 搜尋到目標 的機率也會增大。 在經過 oracle 計算後, 我們將|ui和|i0 i視為|ψi的兩個基底 (|i0 i為 搜尋目標), 則. |ψi =. r. 1−. 1 1 |ui + √ |i0 i N N. (4.15). 由圖4.5中可計算出, 每經過一次 G 迭代, 量子態就以增加θ角度而更加接近目標 量子態。. 圖 4.5: G迭代對|ψi的影響[18]. θ = 2 arccos. r. 1−. 1 N. (4.16). 若以 k0 表示重複G的次數, 則可以推導出. k0 θ +. θ π = 2 2. 因為k0 必須為整數, 所以寫成 29. (4.17).

(39) 第 4 章 GSA電路設計模組. k0 = round(. π−θ ) 2θ. (4.18). k0 = round(. π√ N) 4. (4.19). 當資料數N ≫ 1時,. 當經過k0 次的G轉換, 可以推論出最後尋獲目標的機率. p = sin2 (. 2k0 + 1 θ) 2. (4.20). 以上是說明 GSA 的搜尋步驟, 以及運用理論所做的電路模組介紹, 在下一章節, 我們將實際的以模擬器將電路實現, 並且由其結果中進行分析。. 30.

(40) 第5章 研究分析. 量子演算法必須以量子電腦上將其理論實現, 但是目前量子電腦的發展尚未完善, 本 研究嘗試在傳統電腦上運用量子電路模擬器, 進行 Grover 量子搜尋法的模擬研究。 本研究選擇以 QuaSi2 這套量子電路模擬器, 進行 Grover 量子搜尋法的電路模擬。 在進行程式模擬之前, 我們先對這套模擬器作簡單的操作說明。. 5.1 模擬器簡介 QuaSi2(Quantum Circuit Simulation) 是由德國 Karlsruhe 大學所研發[12], 開 放給一般人設計及模擬量子電路的模擬器。 它的優點如下:. (1) 使用 Window 圖示的操作介面(如圖5.1), 可以模擬至 20 個量子位元。 (2) 具有設計控制量子閘的功能, 內建的閘包含了哈達馬閘、 CNot、 CCNot、 量 測閘等等, 並可自行設計控制位元。 另外, 還有可以自行設計的多位元量子閘,. (3) 支援行列矩陣式。 (4) 可以估算方程式: | x, yi → | x, y(+)f (x)i 。 (5) 可以選擇在網頁上進行電路設計及模擬, 或安裝在自己的電腦上進行。 (6) 內建 Shor , Deutsch 以及 Grover 的 Demo 電路, 可以開啟試用。 由上述各點可知, QuaSi2 也是是一套初學者取得簡單及能容易上手的量子演算模 擬軟體, 另外, 像是 GSA 的 G 迭代次數增多時, 有些模擬器會因記憶體或程式設計 31.

(41) 第 5 章 研究分析. 圖 5.1: QuaSi2 介面. 的關係, 需要耗費時間等待執行結果, 而 QuaSi2 執行模擬運算的速度快速, 可在短 時間內執行完多個繁複的電路, 故本研究採用 QuaSi2 為模擬程式之軟體。 5.1.1. QuaSi2 操作說明. QuaSi2 分為 4 個視窗, 分別是電路設計 (如圖5.2), 波長及方向 (如圖5.3), 實數與 虛數部分 (如圖5.4), 以及數字部份 (如圖5.5)。 茲分述如下:. (1) 電路設計: 主要設計電路的視窗, 從 File → New 選擇設計位元數後, 即 可開始設計新電路。 Gate 選項內, 分為標準閘: 包含 Hadamard, CNot, CCNot,. Measure-Gate, IGate, SetTo1, SetTo0, SigmaX, SigmaY, SigmaZ 這些閘。 方程閘: 輸入 X-Register, Y-Register 和兩個值即可形成。 User 閘: 可以自行設計. 32.

(42) 第 5 章 研究分析. 圖 5.2: 電路設計. 圖 5.3: 波長及方向. 33.

(43) 第 5 章 研究分析. 圖 5.4: 實數與虛數部分. 圖 5.5: 數字部份. 34.

(44) 第 5 章 研究分析. 單一位元的閘, 由輸入的係數以及 2 × 2 矩陣計算該閘的作用, 並可以加入 0 或 1 的控制位元, 最後選擇使用單一圖示或自行命名。 Matrix 閘: 可以自行設計多位元的 閘, 依照設計位元數的不同輸入不同的矩陣及係數, 並可以設計 0 或 1 的控制位元, 最後命名後即可完成。 在 View Information about selected Gate 選項中, 可以看 到所選擇的閘的設定, 以 JAVA 語言的形式展現。 電路設計完成後, 可以開始模擬, 使用視窗下的六個按鈕, 分別是 Prepared State. , Ground State , To the Start , Forword , To the End , 和 First to real , 按 需要可以自行重複步驟, 分步驟模擬, 或是直接看結果。 需注意的是一旦開始設計, 位元的數量就不能再更改, 並且加入閘之後, 無法取消 該閘, 其中一項設計若有錯誤就必須要重新來過, 是 QuaSi2 的不便之處。. (2) 波長及方向: 顯示出振幅的實虛, 若為實數則以藍色表示, 若紅色則表示為虛 數。. (3) 實數與虛數部分: 顯示量子態機率幅的絕對值大小以及正負值, 由線的長度比 例及方向可以看出。. (4) 數字部份: 電路模擬後顯示出目前所處步驟的各個量子態 (| 0i 或 | 1i) 以及 其機率, 機率為 0 者則不顯示。 本研究即是利用 QuaSi2 所提供的各種量子閘設計出量子電路, 模擬 GSA 的搜 尋理論, 並利用模擬程式驗證此電路的可行性,. 5.2. GSA 模擬電路設計. 整個 GSA 搜尋法的電路包含三個部分:. (一) 以哈達馬閘準備均勻疊加態。 (二) 利用 oracle 標記目標物, 使其量子態帶有負值。 (三) 相位轉換, 提高目標物量子態被量測到的機率振幅。 35.

(45) 第 5 章 研究分析. 而 (二)、(三) 兩個步驟也就是 G 迭代, 如圖 (4.2)。 依照第四章的電路模組設計原則, 我們逐步來完成電路設計, 首先, 以資料數較少 的情形來說明。 當資料數N = 8時, 第一個暫存器與第二暫存器共需要 4 個量子位元。 其初始態的設定值, 以及運用哈達馬閘產生均勻疊加態的電路如下: 1 |0i. H. 2 |0i. H. 3 |0i. H. 4 |1i. H. 第一個暫存器量子位元n = 3經過 H 閘作用後, 可以產生出八個量子均勻態,. |ψi = |000i + |001i + |010i + |011i + |100i + |101i + |110i + |111i 假定 搜尋目標為|5i = |101i, 在第二步驟的 oracl 部分, 其搜尋電路為 _ _ _ _ _ _ _ _ _ . |0i. H  H . |0i. . |0i |1i. X. • •. . X  . • H      H _ _ _ _ _ _ _ _ _. 虛線的電路作用, 是使控制位元發揮作用, 使得第二個暫存器的反閘發揮功能。 這 也就是為什麼我們要在第二個量子位元上加上反閘 (也就是 Paul-σx閘) 的原因, 因 為它可將第二個量子位元|0i的狀態變成|1i, 使得控制位元所控制第二暫存器的反閘 發揮功能, 這樣才能使得|101i的機率振幅方向與其他七個量子態反向, 而產生被標記 的效果, 但是目前|101i的機率振幅與其他量子態相同, 要量測到的機率並不大, 因此 需要再運用相位轉換的方式, 提高|101i被量測的機會。 相位轉換電路如下圖標示虛線 的部分:. 36.

(46) 第 5 章 研究分析. |0i. H. |0i. H. |1i. H. |0i. H. •. X • X •  . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _   H X • X H    •  H X X H     H X H   H X H  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _. H. 此虛線框中, 電路兩側的哈達馬閘的功能很重要, 它使得整個量子態以均勻態作為 鏡射軸, 往另一方向翻轉, 達到將機率振幅放大的效果, 以上即為 GSA 搜尋法尋的基 本電路。 當資料數增加時, 當 G 的迭代次數也會增多, 這時僅要重複 (二)、(三) 步驟的電 路即可, 而重複的方式, 則可運用 QuaSi2, 將檔案存成 XML 格式, 再將欲重複的程 式碼進行反覆貼上的動作即可完成完整的電路, 即可再次進行模擬。. 5.3 執行 GSA 程式模擬 5.3.1 以n = 8為例. 當資料數為 N 時, 傳統搜尋方法至少要 N2 次才能將搜尋到目標, 而GSA 搜尋法僅需 √ 要 N 次即可完成搜尋。 目前有以QAD 進行n = 4的量子電路模擬 (資料數N =. 16的搜尋)[20]。 本研究選擇以量子位元數n = 8, 也就是資料數 N = 256 的狀況進 行單一資料搜尋的模擬研究, 然後比較模擬電路數值分析結果與理論值的數值間的關 係。 假定在總資料數共256 筆 (N = 256), 要進行搜尋編號為 「5」 的資料, 這時運 √ 用 GSA 為搜尋方法, G迭代次數為 R, 帶入公式 (4.2), 可知R ≤ π4 256, 可 得R = 12, 依照上一節的電路設計方式, 所設計的模擬電路如下圖 (5.6): 以 QuaSi2 進行電路模擬, 其執行結果的視窗如圖 (5.7), 從視窗中可以看出模擬的結果, 結果顯示機率振幅的波長和方向上, 僅有一條直線 特別突出與明顯, 這就是|5i, 在數值分析上, 其機率振幅為[0.999 + 0.0i], 其他的 255 37.

(47) 第 5 章 研究分析 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . |0i |0i |0i |0i |0i |0i |0i |0i |1i. H H H H H H H H H. • •   •  •   •  •   X •  •  . X X X X X. . X X X X X. H H H H H H X H H. X X X X X X X X H. • • • • • • •. X X X X X X X   H X. H H H H H H H H.      . . G2     . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  _ _ _ . ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. H. 圖 5.6: N=256,|5i的搜尋電路. 圖 5.7: 用QuaSi2 執行 GSA 電路, 搜尋|5i的結果. 個量子態的機率振幅, 均為[4.557 × 10−4 + 0.0i]。 5.3.2 模擬結果分析. 本研究主要目的為探討 GSA 模擬電路在傳統電腦上的的模擬結果討論, 以及將結果 與 GSA 的理論值進行比較。 模擬結果的分析如下: 38.

(48) 第 5 章 研究分析 以n = 8為例, 搜尋結果分析. 本研究針對256筆資料進行逐一的量子電路模擬, 從|0i到|255i的搜尋電路如列在附錄 上。 在進行完每一個數值的模擬電路搜尋之後, 發現搜尋目標的機率振幅均為[0.999+. 0.0i], 在將其機率振幅平方後, 量測到目標物的機率幾乎達到 1, 也就是幾乎可以百分 之百量測到目標, 而其餘量子態的機率振幅則僅有[4.557 × 10−4 + 0.0i]。 以搜尋目 標|5i為例, 其量測到的每一個量子態的機率振幅如附錄 A。 當搜尋目標改變時, 依照 相同的電路設計方法所執行的搜尋結果, 均和|5i相同。 在理論值的部分, 需先找出起始的角θ值, 代入公式 (4.16), 可得 r 1 θ = 2 arccos 1 − ≈ 7.167◦ 256. (5.1). 再以公式 (4.20) 算出其機率 p:. p = sin2(. 2 × 12 + 1 2k0 + 1 θ) = sin2 ( × 7.167◦) ≈ 0.999 2 2. (5.2). 我們可以看出, 對於目標物的搜尋機率, 以理論方式推算出來的值, 與以模擬器執 行搜尋電路後的機率值相同, 搜尋到目標的機率幾乎是百分之百。 在下一節, 我們將針 對當 G 迭代次數不同, 搜尋目標的機率理論值與電路量測值的結果比較。 以n = 8為例,G 迭代次數不同的比較. 在以 GSA 搜尋資料時, G迭代次數扮演重要的部分, 當搜尋相同的 256 筆資料, 理論 尚須經過 12 次的 G 迭代。 當我們改變 G 迭代次數時, 對於搜尋到目標物的機率有什 麼影響? 依照 QuaSi2 的操作方法, 我們可以輕易的運用 XML 格式修改模擬電路, 進行改 變 G 迭代的執行次數。 相同的, 我們還是以|5i為搜尋目標, 以 QuaSi2 執行其模擬電 路, 將其機率振幅平方後記錄下每次不同的 G 迭代狀況之搜尋機率, 另一方面, 也算 39.

(49) 第 5 章 研究分析. 出以不同的 G 迭代次數進行搜尋時, 理論的機率值 (公式 4.20), 經過整理後, 可以得 到表 (5.1) 表 5.1: 機率表 G 次數 1 2 3 4 5 6 7 8 9 10 11 12. 理論值 p = sin2 ( 2k02+1 θ) 0.034 0.094 0.179 0.284 0.403 0.527 0.650 0.763 0.859 0.935 0.982 0.999. 電路值 0.034 0.094 0.719 0.284 0.403 0.527 0.650 0.763 0.860 0.935 0.982 0.999. 由表 (5.1) 中可知, 模擬電路量測到目標的機率, 會隨著 G 迭代的次數增加而增 加, 在進行第 12 次 G 迭代後, 量測到目標的機率p ≈ 1。 比較模擬電路和與 GSA 理 論兩者的量測機率, 可以發現兩者幾乎完全吻合。 兩者比較的狀況, 如圖5.8的曲線圖。 我們可以從圖中的曲線發現: 當 G 迭代次數增加時, 搜尋到目標的機率確實隨著變大, 而且可以更清楚看出電路模擬值與理論值, 兩者是一致的。 5.3.3 比較不同 n 值模擬結果. 由理論上可知, 當資料數增加時, 所必須執行的 G 迭代次數也會跟著增加。 G迭代次 √ 數必須符合R 6 π4 N 這個條件, 當符合這個條件時, 搜尋到目標物的機率才會接近 於1。 接下來, 我們選擇對不同數量的資料數進行搜尋, 藉此來比較資料數(N值) 和 G 迭代的關係。. 40.

(50) 第 5 章 研究分析. 圖 5.8: 比較理論與模擬電路機率值之曲線圖. 當資料數 N 分別為4, 8, 16, 32, 64, 128, 256時, 在符合 G 迭代的理論要求下, 我 們進行每筆資料中的|2i資料搜尋模擬, 可以得到表 (5.2)。 由表中可以看出, 當資料數 越少, G迭代次數也隨著減少, 而且很快就可以達到量測機率近乎 1 的結果。 而資料數 較多時, G迭代的次數增多, 而且伴隨著 G 迭代的增加, 搜尋目標的量測機率的值才 會愈來愈大。 再從 G 迭代次數與搜尋機率的關係來看如圖 (5.9), 可以看出 G 迭代的次數與資 料數的多寡有關係, 當資料數越多時, 所需的迭代次數越多, 這與搜尋目標和資料總數 的比例有關, 其比例決定了θ值的大小, θ值較小時, 相對的 G 迭代 (鏡射) 的次數就 需要增加, 以提高搜尋目標的機率振幅。 當 G 迭代次數符合搜尋理論, 則模擬電路上 的結果很明顯, 其量測的機率都接近 1, 這與 GSA 的理論完全相符。. 41.

(51) 第 5 章 研究分析. 表 5.2: 不同n值的比較 G次數 1 2 3 4 5 6 7 8 9 10 11 12. N =4 n=2 0.999. N =8 n=3 0.781 0.945. N = 16 n=4 0.472 0.908 0.961. N = 32 n=5 0.258 0.602 0.896 0.999. N = 64 n=6 0.134 0.343 0.591 0.816 0.963 0.996. N = 128 n=7 0.068 0.183 0.337 0.511 0.683 0.883 0.941 0.995. N = 256 n=8 0.034 0.094 0.719 0.284 0.403 0.527 0.650 0.763 0.860 0.935 0.982 0.999. 圖 5.9: 不同n值模擬程式搜尋機率圖. 5.4 其他模擬器 除了 QuaSi2 之外, 尚有幾個幾個量子電路模擬軟體, 其功能與使用方法各有不同, 我 們簡單的以摘要方式作介紹, 提供給對量子電路有興趣的人士做為參考。. 42.

(52) 第 5 章 研究分析 5.4.1 Quack. Quack 是一個在 MATLAB 環境下使用的量子電腦模擬器, 包含了單一位元么正閘, 可以建立 Pauli, rotation, Hadamard, phase 和. π 8. 閘。 雙位元的有 CNot, swap,. Toffoli 和一般的控制么正閘。 具有單一位元及 Bell 量測, 利用傳統式的控制及操作, 並可計算任一次系統的複數縮減機率。 提供了簡單的範例可下載, 例如二個量子位元 的 Grove 搜尋法等等[21]。 5.4.2 Open Qubit. OpenQubit 軟體是由Pritzker 等人所組成的 OpenQubit 發展團隊所開發, 所採用 的是 Linux 作業系統。 OpenQubit 發展團隊是一個集合了物理學家、 電腦學家、 以 及一般人的政府團隊, 希望創造出一個量子模擬的 API(Application Programmer. Interface)。 其主要操作畫面包含兩個: (1) QState 描述量子狀態, n 個位元有 2n 個複數振幅, 以描述各種可能的輸出 態。 QState 並提供 QRegister 處理設備的記憶體。. (2) QRegister 處理 QState 裡的位元, 提供基本的作用閘如 Ry , Rz , P h 和 CN ot 以及這些閘的應用。 欲下載 OpenQubit 軟體可以參考網頁 , 而 OpenQubit 的原始碼存於 GPL2(GNU. Public Licence Version 2 ) 系統下, 須有原始碼軟體才可以使用[22]。 5.4.3 Fraunhofer Quantum Computing Simulation. Fraunhofer Quantum Computing Simulationg 是一個網路連結式的模擬器, 採 用 Linux 和 Myrinet 系統, 並搭配 QML 程式使用。 作者及維護者為Ros´ e等人,. Fraunhofer Quantum Computing Simulation 是由德國聯合教育及研究部門所 支援, 可以模擬最多至 31 個量子位元的量子電路, 31 位元的 Hamiltonians, 提供 43.

(53) 第 5 章 研究分析. 網頁式編輯, 可安裝、 控制及分析模擬作業。 並提供網路連結式的容量處理系統, 及圖 示與文字的輸出和輸入。. Fraunhofer Quantum Computing Simulation 包含了一般的單位元、 二位元 及三位元的量子閘, 特別的閘如 Oracle、 Modulo 方程、 和 QFT 也有。 若加入其團 隊可以測試較多的功能及位元, 未加入亦可以做試用[23]。 5.4.4 QCSim. QCSim(Quantum Compiling and Simulation) 是由Cass 在 2002 年所設計的, 以 C++ 語言編寫, 搭配 QHDL 程式編寫量子位元的狀態, 系統的初始態, 閘以及 其作用的方式, 一旦開始編寫後就不夠改變量子位元數目。 QCSim 內包含的量子閘 有 Hadamard, Pauli X, Pauli Y, Pauli Z, 各種 CNot 閘等等, 也可以簡單地增 加新量子閘的原始碼。. Lane 在 2003 年所編輯的 Qhdl2Jaq 和 Jaq2Qhdl 為可配合 QCSim 所使 用的程式, 此二軟體由 C++ 語言所寫成, Qhdl2Jaq 可以將 QHDL 檔案轉變為. jaQuzzi 可以使用的檔案 (JAQ 檔), Jaq2Qhdl 則將 JAQ 檔案轉變為輸入 QCSim 可以輸出的檔案 (QHDL 檔)。 QCSim 的原始碼以及需要用到的軟體 (Qhdl2Jaq, Jaq2Qhdl, jaQuzzi) 可以 從網頁免費下載, 其網頁由 Black 負責維護, 下載檔案中包含了 BB84 的模擬, 電訊 傳輸, Hamming 除錯碼, 7 位元 ECC, Grove 演算法等等範例。 QCSim 因為記憶 體容量的關係, 僅能模擬至 13 個量子位元 [24]。 5.4.5 QuIDDpro. QuIDDpro 由 Viamontes, Markov, 以及Hayes 三人所屬的 Quantum circuits group 在 2004 年開發出來的, 是需要在 Matlab 環境下使用的量子電腦模擬器, 可. 44.

(54) 第 5 章 研究分析. 進行量子態向量、 矩陣、 模擬電路之相關操作。 安裝 QuIDDpro 時, 需要搭配 Mat-. lab,Octave 等軟體。 QuIDDpro 在量子電路的模擬上, 具有快速、 使用方式容易, 執 行時所需要的記憶體不大等優點, 可在九分鐘內模擬 100 個量子位元及 10000 個量 子閘所構成的電路。 不過與指數有關的電路模擬上 (像是 Shor 質因數分解), 還是需 要較多的電腦資源[25]。 5.4.6 QCL. QCL 是Omer 在 1998 年所開發, 使用的是 LALR 語法, 運用簡化的符號和文字來 表示指令, 可表現出 Dirac 符號、 矩陣形式、 以及不同類型的閘, 像是哈達馬閘、 cnot 閘、 swap 閘等的操作。 可解決 Shor 質因數分解等量子演算問題[26]。 5.4.7 jQuantum. jQuantum 軟體是由Vries 開發的, 可以模擬 15 個量子位元, 是一套免費軟體。 它 將輸入和輸出分成兩個區域 (x 暫存器和 y 暫存器), 包括有基本閘 (CN、CCN、H)、 旋轉閘和量子傅立業變換閘, 也可以進行 Shor 質因數分解的數值計算。 但首先必須 先安裝 Virtual Machine JRE1.4 才能執行, 也可以由網站直接下載。 jQuantum 可以證明量子演算法並設計量子電路, 這個程式被公開的原因一方面是因為希望可以 檢查這些量子閘的正確性, 透過更多使用者和程式設計者提出建議來修正, 使這套軟 體更有品質, 另一方面也是希望有創新或是更完整的想法, 未來能修正這些量子閘和 演算法[27]。 5.4.8 QCE. Quantum Computer Emulatormv 是由Michielsen 和 Raedt 開發的, 是被設計 用來模擬 QC 硬體的物理模式, 目前 QCE(8.1.0) 版本可以處理 16 個量子位元。 需 要在 Windows 98/NT/2000/ME/XP 環境下才能執行, 這套軟體包含了量子計算 45.

(55) 第 5 章 研究分析. 和量子演算的基本概念, 可以執行 CN 閘、 CCN 閘、 量子傅立業轉換、 Grover 資料 搜尋演算法、 Shor 演算法並且也有一些關於這幾種演算法的範例[28]。. 46.

(56) 第6章 結論 6.1 結論 本研究運用傳統電腦, 根據GSA 的搜尋理論設計量子電路, 以總資料數N = 256進 行單筆資料的搜尋, 配合模擬量子電腦操作的模擬器 QuaSi2 進行模擬 GSA 搜尋方 法, 共進行 256 個電路的模擬。 結果顯示, 以模擬器所執行的 GSA 電路, 其搜尋到目 標物的機率的機率值與理論值相符 (p ≈ 1)。 另一方面, 從理論上可知, 不管是傳統演算法或 GSA, 當 N 值越小, 所需的搜尋 步驟越少。 在 GSA 理論裡, 所需的 G 迭代的次數也跟著 N 值的不同而改變。 當我 們將理論值以電路執行時, 其結果也是相符的, 也就是當要進行 GSA 時, 必須先計算 出 G 迭代的次數, 當模擬電路的 G 迭代次數相符時, 其搜尋到目標的機率均接近 1。 量子演算法運用了量子的特性, 期望能將繁複的步驟簡單化, 達到更有效率的解 決問題結果。 在N = 256筆資料上進行單一筆資料搜尋, 傳統演算法需要O( N2 ) = √ 256 = 128, 當量子電腦能實現九個量子位元操作時 , 運用 GSA 則僅需要 O( N) = 2 √ 256 = 16即可完成搜尋, 真正達到減少搜尋步驟的目的。 希望本研究的結模擬果, 能讓更多人瞭解量子演算法在解決搜尋問題上的潛力。 不管是 Sore 的質因數分解、 GSA的快速搜尋, 或者是量子隱形傳輸..., 量子世界 的潛力與未來願景, 吸引歐、 美及日本等許多國家成立專屬的研究機構, 積極的投入這 量子資訊的領域, 目前國內的成功大學也成立了量子資訊研究中心, 期待國內有更多 47.

(57) 第 6 章 結論. 人投入這個領域的發展, 提昇我國未來在量子資訊領域上的競爭力。. 48.

(58) 參考文獻. [1] 蘇正耀, 量子計算淺談 , 《物理雙月刊》, 25, 502-509. 2003. [2] 蔡淑慧, 量子電腦的物理實作, 收錄於郭斯彥.郭耀煌 (編), 《量子教材》. [3] 黃吉川.謝金源.李哲明, 量子計算與資訊, 《科學發展》, 306, 46-53, 2003. [4] 曾謹言, 量子力學導論 , 凡異出版社, 1999. [5] 李建二, 量子物理簡介, 收錄於郭斯彥.郭耀煌 (編), 《量子教材》. [6] 蔡一鳴.朱怡霖.郭斯彥, 量子電路簡介, 收錄於郭斯彥.郭耀煌 (編), 《量子教 材》.. [7] 徐士良, 數值方法常用演算法 , 清華大學出版社, 1991. [8] 謝金源, 加速資料搜尋之量子演算法, 收錄於郭斯彥.郭耀煌 (編), 《量子教材》. [9] L. Grover, ”A fast quantum-machanical algorithm for database search”, Annual Symposium on the Theory of computing, pp.212-219, 1996. [10] L. M. K. Vandersypen et al., ”Implementation of a three-quantum-bit search algorithm”, Appl. Phys. Lett., Vol.76, pp.464-486, 2000.. 49.

(59) 5d.. [11] L. M. K. Vandersypen et al., ”Experiment realization of Shor’s quantum factoring algorithm using nuclear magnetic resonance”, Nature, Vol.414, pp.883-886, 2001. [12] QuaSi, M. Eck, P. Wocjan and R. M. Zeier, web address:http//iakswww.iar.uka.de/home/matteck/QuaSi/aboutquasi.html. [13] P. Benioff, ”The computer as a physical system: A microscopic quantum mechanical Hamiltonian model of computers as represented by Turing machines”, J. of Stat. Phys., Vol.22, pp.563-591, 1980. [14] R. Feynman, ”Simulating physics with computers”, Inter. J. of Theo. Phys., Vol.21, pp.467-488, 1982. [15] D. Deutsch, ”Quantum Theory, the Church-turning principle, and the universal quantum computer”, Proc. Royal Soc. London, Series A, Vol.400, pp.97-117, 1985. [16] P. W. Shor, ”Algorithms for quantum computation:discrete logarithms and gactoring”, Proceedings 35th Annual Symposium on Foundation of Computer Science, IEEE Press, Los Alamitos, pp.124-134, 1994. [17] M. A. Nielsen and I. L. Chuang, ”Quatum Computation and Quatum Information”, Cambridge University Press, 2000. [18] C. Lavor, LRU. Manssur and R. Portugal, ”Grover’s Algorithm: Quantum database search”, arXIV:quant-ph/0301079, unpublished.. 50.

(60) 5d.. [19] T. H. Cormen, C. E. Leiserson and R. L. Rivest. ”Introduction to Algorithms”, MIT Press, Cambridge, Mass, 1990. [20] P. Emberson,”An Introduction To Quantum Algorithm Design”, Masters Thesis, Department of Compuyrt Science, University of Youk, unpublished. [21] Quark, P. P. Rohde, web address:http://www.physics.uq.edu.au/people /rohde/blog/?pageid=20. [22] Open Qubit, Y. Pritzker et al., web address:http://www.gnu.org /copyleft/gpl.html. [23] Fraunhofer Quantum Computing Simulation, H. Ros´ e et al., web address:http://www.qc.fraunhofer.de/. [24] QCSim, M. Cass, web address:http://hissa.nist.gov/ black/Quantum /download.html. [25] QuiDDPro, G. F. Viamontes, I. L. Markov and J. P. Hayes, web address:http://vlsicad.eecs.umich.edu/Quantum/qp/. [26] QCL, B. Omer, web address:http://tph.tuwin.ac.at/oemer/qc/.html. [27] jQuantum, A. de Vries, web address:http://jquantum.sourceforge. net/. [28] QCE, K. Michielsen and H. de Raedt, web address:http://rugth30. phys.rug.nl/compphys0/qce.html. 51.

(61) 第A章 附錄. 針對已編碼的 256 筆資料, 以 GSA 進行|0i ∼ |1i的資料搜尋模擬電路, 每筆資 料的搜尋模擬電路如下: GSA-搜尋|0i = |000000001i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. H H H H H H H H H. _ _ _ _ _ _ _ _ _ _ _ _ _ X X X X X X X X. . . . . . • • • • • • • •. X X X X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. .  H  

(62) H   . .

(63) _ _ _ _ _ _ _ _ _ _ _ _ _ . . ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. H. GSA-搜尋|1i = |000000011i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. H H H H H H H H H. _ _ _ _ _ _ _ _ _ _ _ _ _ X X X X X X X. . . . . . • • • • • • • •. X X X X X X X. H H H H H H H H. X X X X X X X X. • • • • • • •. X X X X X X X X. H H H H H H H H.   .  G2. .   

(64) H  _ _  

(65) _ _ _ _ _ _ _ _ _ _ _  . H. H. GSA-搜尋|2i = |000000101i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. _ _ _ _ _ _ _ _ _ _ _ _ _ • • • • • • • X •. H H H H H H H H H. X X X X X X. . . . . . X X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. .  X H  

(66) H  _ _  

(67) _ _ _ _ _ _ _ _ _ _ _ . . H. GSA-搜尋|3i = |000000111i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. H H H H H H H H H. _ _ _ _ _ _ _ _ _ _ _ _ _ X X X X X X. . . . . . • • • • • • • •. X X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. . .  H  

(68) H   . .

(69) _ _ _ _ _ _ _ _ _ _ _ _ _. . 52. H.

(70) 第 A 章 附錄. GSA-搜尋|4i = |000001001i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. _ _ _ _ _ _ _ _ _ _ _ _ _ • • • • • • X • X • X X X X X. H H H H H H H H H. . . . . . X X X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. .  H  

(71) H   . .

(72) _ _ _ _ _ _ _ _ _ _ _ _ _ . . ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. H. GSA-搜尋|5i = |000001011i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. _ _ _ _ _ _ _ _ _ _ _ _ _ • • • • • • X • • X X X X X. H H H H H H H H H. . . . . . X X X X X X. H H H H H H H H. X X X X X X X X. • • • • • • •. X X X X X X X X. H H H H H H H H.   .  G2. .   

(73) H  _ _  

(74) _ _ _ _ _ _ _ _ _ _ _ . . H. H. GSA-搜尋|6i = |000001101i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. _ _ _ _ _ _ _ _ _ _ _ _ _ • • • • • • • X • X X X X X. H H H H H H H H H. . . . . . X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. .  X H  

(75) H   . .

(76) _ _ _ _ _ _ _ _ _ _ _ _ _ . . H. GSA-搜尋|7i = |000001111i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. H H H H H H H H H. _ _ _ _ _ _ _ _ _ _ _ _ _ X X X X X. . . . . . • • • • • • • •. X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. .  H  

(77) H   . .

(78) _ _ _ _ _ _ _ _ _ _ _ _ _  . H. GSA-搜尋|8i = |000010001i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. _ _ _ _ _ _ _ _ _ _ _ _ _ • • • • • X • X • X •. H H H H H H H H H. X X X X. . . . . . X X X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. .  H  

(79) H  _ _  

(80) _ _ _ _ _ _ _ _ _ _ _ . . H. GSA-搜尋|9i = |000010011i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. H H H H H H H H H. _ _ _ _ _ _ _ _ _ _ _ _ _ • • • • • X • X • • X X X X. . . . . . X X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. . .  H  

(81) H   . .

(82) _ _ _ _ _ _ _ _ _ _ _ _ _. . 53. H.

(83) 第 A 章 附錄. GSA-搜尋|10i = |000010101i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. _ _ _ _ _ _ _ _ _ _ _ _ _ • • • • • X • • X • X X X X. H H H H H H H H H. . . . . . X X X X X. H H H H H H H H. • • • • • • •. X X X X X X X X. X X X X X X X X. H H H H H H H H.   .  G2. .  X H  

(84) H   . .

(85) _ _ _ _ _ _ _ _ _ _ _ _ _ . . ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. ··· ··· ··· ··· ··· ··· ··· ··· ···. G12. H. GSA-搜尋|11i = |000010111i之模擬電路 |0i |0i |0i |0i |0i |0i |0i |0i |1i. _ _ _ _ _ _ _ _ _ _ _ _ _ • • • • • X • • • X X X X. H H H H H H H H H. . . . . . X X X X X. H H H H H H H H. X X X X X X X X. • • • • • • •. X X X X X X X X. H H H H H H H H.   .  G2. .   

(86) H  _ _  

參考文獻

相關文件

了⼀一個方案,用以尋找滿足 Calabi 方程的空 間,這些空間現在通稱為 Calabi-Yau 空間。.

另外我們還可以觀察到,在 1930 年以後的一段時間,人口

數位計算機可用作回授控制系統中的補償器或控制

單一菜色與地區搜尋 ( 兩種二選一 ) 交叉搜尋 (4 種可同時 )/QR 碼搜尋.

•  三分搜在有水平線的情況下,如果可以確定水平線的地方一定是 答案的話,才可以用三分搜找極值。..

建築資訊建模(Building Information Modeling, 簡稱

閱讀前 先瀏覽課文《太陽》,在不明白的地 方做標記,然後查字典、詞典,或上 網搜尋資料,完成自學筆記。.

媒體可以說是內容、資訊最大的生產者,但受制於 國際社交媒體及搜尋平台的經營手法,本地主流媒 體在發展網上業務時,面對不公平的競爭。 這些