核心概念
本文提出了一種利用部分預言機加速 Grover 量子搜尋演算法的方法,並探討了其在特定搜尋問題中的效能優勢。
摘要
Grover 演算法是一種重要的量子演算法,常用於搜尋無序資料庫。該演算法利用預言機函數的概念,該函數抽象了匹配搜尋項的過程(匹配返回 1,否則返回 0)。然而,傳統 Grover 演算法將預言機函數視為黑盒子,僅返回 1 位資訊。本文探討了將多個預言機與匹配條件的每個位元相關聯的想法,從而獲得多個可以獨立測試的部分預言機函數。基於此,本文提出了一種多階段混合搜尋演算法,其效能介於 O(√N)(與 Grover 相同)和 O(log(N)) 之間。本文以最簡單的搜尋場景(使用排列操作對輸入索引位元進行置亂)驗證了該演算法的有效性。
主要內容
引言: Grover 演算法是許多量子演算法的重要組成部分,但其 O(√N) 的時間複雜度限制了許多量子演算法的效能。本文旨在探討利用搜尋問題中隱含的多位元資訊來加速 Grover 演算法。
基於部分預言機的演算法: 本文提出了一種基於部分預言機的迭代演算法。該演算法將搜尋問題分解為多個階段,每個階段使用一個新的部分預言機函數來約束搜尋空間。在每個階段,使用 Grover-Long 演算法來找到滿足當前約束條件的索引狀態。
演算法效能: 理論上,部分預言機演算法的最佳效能取決於目標集大小 {M1, ..., Mm} 的序列。當 Mℓ/Mℓ−1 = 1/4 時,該演算法可以實現 O(log(N)) 的時間複雜度。然而,在實踐中,實現這種最佳效能需要有效地建模中間狀態 |Tℓ⟩。
實踐中的演算法: 本文以一個簡單的搜尋問題(置亂器場景)為例,測試和驗證了部分預言機演算法。結果表明,該演算法可以有效地解決此類搜尋問題,並且在某些情況下可以實現 O(log(N)) 的時間複雜度。
結論
本文提出了一種利用部分預言機加速 Grover 量子搜尋演算法的方法。該演算法通過發現標記位元和搜尋索引之間的關聯性來加速搜尋,從而發現搜尋空間中隱含的順序。在某些情況下,該演算法可以實現比傳統 Grover 演算法更快的搜尋速度。然而,該演算法的效能取決於搜尋問題的具體特徵,例如目標集大小的減少方式以及中間狀態的建模難度。未來需要進一步研究該演算法在更複雜搜尋問題中的應用。
統計資料
在最佳情況下,當每個階段的目標集大小減半時 (Mℓ/Mℓ−1 = 1/4),部分預言機演算法可以實現 O(log(N)) 的時間複雜度。
對於一個 14 位元金鑰長度的搜尋問題,部分預言機演算法僅需 14 次預言機查詢即可找到解決方案,而傳統 Grover 演算法則需要 128 次查詢。
隨著用於建模中間狀態的樣本數量 (NShots) 的增加,搜尋結果的準確性也隨之提高。