謝旭明,段隆振,邱桃榮*,楊幼鳳
(南昌大學a.信息工程學院;b.圖書館,江西 南昌 330031)
以上的改進策略均不能保證100%的成功概率。該研究提出一種自適應匹配相位角度的策略,并將改進策略應用于粗糙集的核屬性求解。通過仿真實驗,提出的策略能夠在任意核屬性占比情況下都能以100%的概率得到核屬性。
Grover算法是通過一系列的酉變換作用于等權重疊加態直至目標分量量子態的概率幅第一次到達峰值的過程。在這個過程中,目標分量量子態的概率幅被不斷增大,非目標分量量子態的概率幅被不斷削減。
設待搜索空間有N=2n個元素,所有分量以疊加態存放在n個量子比特中,Grover算法的簡要示意圖則表示為圖1。
如圖1所示,G算子包含Ga和Gs兩個子算子。Ga算子可以使目標分量實現π的相位翻轉。Gs算子隨后使所有分量進行均值翻轉。在規定次數內,目標分量的概率幅隨著G算子的迭代而不斷增大。
1982年Pawlak[12]提出粗糙集理論用于刻畫數據的不完備性和不精確性。粗糙集的核屬性是粗糙集理論中最關鍵的概念,是各種屬性約簡算法的先決條件。粗糙集核屬性的定義如下:
設S=(U,A,V,f)是一個粗糙集,對于任意屬性子集B?A,IND(B)表示由B確定的二元不可區分關系。那么,對于?a∈A,如果IND(A-{a})≠IND(A),則稱a是A的核屬性。
針對現有Grover算法的局限性,提出一種自適應相位匹配量子搜索算法。改進算法的示意圖如下:
如圖2所示,對應于經典Grover算法,改進算法將迭代次數改為T′,將算子G改為算子G′。下面對T′和G′的確定方法進行詳細分析。
這里先分析經典Grover算法迭代次數的求解方法,然后結合改進算法的特點給出T′的取值方法。
2.1.1 經典算法的完美迭代次數
經典Grover算法的搜索過程實際可以看作是用一系列的幺正矩陣去與一個每個維度上的值都相同且模為1的N維向量相乘,最后希望得到的結果是不斷提升解對應維度上的值和壓縮非解維度上的值。單從線性代數的角度上看,假設不要求迭代次數為正整數,那么目標解集是一定可以以100%的概率得到的。為了研究方便,我們假設上面講的這個迭代次數為完美迭代次數,并結合經典Grover算法,給出定義如下:
定義1設目標分量個數在總分量個數中占比為λ;那么,定義經典Grover算法的完美迭代次數為:
Tpft是根據令經過處理后的疊加態與目標分量的垂直向量成90度夾角(即目標分量的概率幅為1)得到的。但實際情況下,小數次的迭代次數是不可能實現的。從定義1中可以看出隨著λ的變化,Tpft有可能為正整數。Tpft為正整數時,那么說明這樣的次數是可以執行的。
2.1.2 提出算法的迭代次數
如同經典算法一樣,自適應相位匹配量子搜索的迭代次數也是至關重要的。這里先給出一個關于迭代次數的定理,然后確定提出算法的迭代次數。
定理1當且僅當迭代次數t滿足t≥Tpft時,存在相位角度φ,使得目標分量的概率幅為1。
證明經典Grover算法的相位角度為π,而相位角度π(π與-π等價)是使得疊加態與目標分量值平面的垂直矢量能產生最大夾角的相位。也就是說,π(或-π)是使得疊加態最快靠近目標分量值平面的相位角度。Tpft是經典Grover算法(即φ=π,-π在產生的夾角大小方面與π等價)在理論上第一次疊加態到達目標分量值平面的迭代次數,但Tpft在絕大多數情況下都是小數,在實際中無法實現。因此,僅當存在整數次迭代次數t,且滿足t≥Tpft時,才存在相位角度φ使得疊加態到達目標分量值平面。
證畢。
通過定理1可知,只要滿足t≥Tpft,那么就存在相位角度φ使得經過算子處理后的目標分量的概率幅等于1。在算法的設計中,迭代次數越少自然帶來的計算復雜度越小,而迭代次數又必須是整數次。因此,改進算法的迭代次數可對Tpft向上取整得到,即T′=CEIL(Tpft),其中CEIL()為向上取整函數。
經典量子搜索的迭代次數是對Tpft四舍五入取整,提出算法迭代次數T′是對Tpft向上取整。因此,提出算法的迭代次數最多比經典量子搜索算法的迭代次數多一次。
G′算子也包含兩個子算子Ga′和Gs′,表達式如公式(1)和公式(2)。