999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種求解命題公式骨干集的警示傳播算法*

2021-11-22 08:54:52王曉峰
計算機工程與科學 2021年11期

王 帥,王曉峰,梁 田,李 志

(北方民族大學計算機科學與工程學院,寧夏 銀川 750021)

1 引言

骨干集一詞是在布爾可滿足性SAT(SATisfiability)問題相變研究中提出的[1 - 6],一個可滿足命題公式的骨干集文字必將會出現在所有滿足指派中[7 - 10],它對命題公式的可滿足性判定難度有重要影響[11 - 17]。骨干集越大,公式的判定難度越大。如果給定一個命題公式的骨干集,那么公式的判定將會變得容易。然而,一般情況下,求解命題公式的骨干集是困難的。目前,學術界主要使用以下幾種算法求解骨干集,最為基礎的是Marques-Silva等人[18]利用骨干文字位于所有的滿足指派中的性質,使用minisat求解器求出所有滿足指派,并使之相交得到骨干集。Janota等人[19]通過對文獻[18]方法的改進,提出一種更少迭代次數的骨干集求解算法,同時利用骨干文字反向賦值會使公式不滿足的性質,提出一種文字翻轉技術求解骨干集。Previti等人[20]利用抽象論證中理想語義和骨干集的聯系,設計一種新的主干網絡并利用帶有偏好的SAT求解器求解骨干集。Guo等人[21]以一次測試算法為基礎,運用啟發式思維設計出一種評分機制與過濾機制相結合的骨干集算法。de Haan等人[22]利用結構化實例中的局部骨干文字很大一部分都是全局骨干文字的特點,以局部計算的復雜度來判斷局部子句的骨干文字,進而求解骨干集。Zhu等人[23]利用集成電路中的錯誤空間和時間定位復雜化,設計了一個基于該技術的SAT求解方法,求解大規模公式中的骨干集。Ivrii等人[24]利用權重與數值等啟發式信息,在邏輯上假設骨干文字用以加快算法的搜索速度。Kilby等人[8,25]在求解后門集時也對骨干集進行了求解,對比2個集合發現后門集與骨干文字之間幾乎沒有交集,通過對后門集賦值化簡公式求解骨干集。上述方法都具有一定的局限性。

信息傳播算法是基于因子圖模型的一種信息迭代算法,已有的實驗結果和理論結果表明:信息傳播算法求解SAT問題效果較好,特別是對于因子圖為樹形結構的公式,算法能夠在多項式時間內給出問題的有效解。警示傳播WP(Warning Propagation)算法是信息傳播算法的一種最基本形態,其特點是基于信息傳播可以以高概率確定一個可滿足指派部分變元的取值,從而化簡公式。WP算法的基本思想是:在信息迭代過程中,根據當前子句的可滿足性對變元取值的依賴程度(概率),“凍結”部分變元的取值。同時,在計算出子句中變元的取值傾向(概率表示)后,在子句與變元之間進行信息傳遞,使信息傳遞的值以較大概率決定變元的真值指派滿足給定公式。子句c與變元i之間這種傳遞取值傾向的概率為1時,表示子句c的可滿足性完全依賴于變元i的取值。對信息傳播算法的原理分析中發現,當算法收斂時,高概率凍結部分變元的賦值,可以對命題公式進行化簡。表明WP算法所“凍結”的變元,高概率是骨干集中的變元,因此本文設計一種求解命題公式骨干集的WP算法。

2 基礎知識

設子句集合F={a,b,…,}為一個具有m條子句的CNF公式,其中子句a中含有n個變量x1,…,xn。F可以用因子圖(Factor Graph)表示,因子圖可視為二分圖,圖中的節點可分為2類:一類是文字節點;另一類是子句節點。其中:

μa→i()表示子句a對文字xi的取值傾向;

V(i)表示包含文字xi的子句節點集合;

V(a)表示包含于子句a中的文字節點集合;

骨干文字:如果F={a1,…,am}是一個可滿足的公式,一個文字xi出現在所有的滿足指派中,那么文字xi就是骨干文字。

骨干集:文字的集合,指對于一個可滿足命題公式的每一個真值指派使得骨干集中的文字均為真。

2.1 警示傳播算法的基礎定義符號

(1)

(2)

(3)

其中,V-(j)表示變元xj負出現的子句集合。V+(j)表示變元xj正出現的子句集合。V(j)a表示變元xj出現的子句集合去除子句a。

顯然,

(4)

2.2 警示傳播算法的基本思想

μα→i(t+1)=

(5)

可化簡為式(6)所示:

(6)

其中,斷定函數如式(7)所示:

(7)

3 求解命題公式骨干集的警示傳播算法

(8)

(9)

(10)

所以式(10)對應于:

(11)

即ci=0時,通過Hi可以高概率地為文字xi賦值。當Hi≠0時,文字xi高概率地為骨干文字。

因此,本文設計骨干集求解算法,首先增加預處理過程,取消初始時刻對全部變量的隨機賦值,改為對特定子句和變量賦值化簡后再進行隨機賦值。其次利用WP算法的特性確定部分骨干文字,由于在化簡求解的過程中容易出現部分文字的Hi=0的情況,需要設計一個文字消除方法,消除特定Hi=0的文字,化簡整個公式,從而快速求解出骨干集。通過對WP算法過程的分析發現,子句會向文字傳遞趨向值,不同取值傾向子句個數相同,該文字就是需要消除的特定文字即非骨干文字。可知在求解命題公式骨干集的問題時,Hi不為0的文字是骨干文字,對文字進行賦值并對公式進行化簡,可以得到新的公式和骨干文字,反復迭代直到不收斂,即可得到一組通過Hi獲得的骨干文字。因此,去除式(11)中對xi的隨機賦值,確定所有的xi賦值,并對圖進行化簡進行下一輪計算。本文算法設計如算法3所示。

輸入:CNF公式F的因子圖,最大迭代步數tmax。

1. 對因子圖的單位子句賦值;

2. 將剩下的每條邊進行隨機賦值;

3.fort=1 totmax

4. 調用算法2更新(μa→i(t-1)→μa→i(t));

6.endfor

7. 輸出結果。

輸入:警示信息μb→j:b∈V(j)a,xj∈V(a)xi。

輸出:新的μa→i。

1. 當V(a)xi=?,輸出μa→i=1;

2.forj∈V(a)xi

3.ifV(j)a=?

4.Hj→a=0;

5.else

6.hj→a=(∑b∈V+(j)aμb→j)-(∑b∈V-(j)aμb→j);

7.endif

8.endfor

算法3求解命題公式骨干集的警示傳播算法

輸入:命題公式,最大迭代次數iter。

輸出:狀態標識,骨干集。

1.for迭代次數t=1 toiter

3.if本文WP算法不收斂

4. 退出;

5.else

6. 計算所有Hi和沖突標識ci;

7.WhileHi≠0do

8. 當Hi>0時,令xi=1;

9.當Hi<0時,令xi=0;

10.消除Hi=0中趨向值個數相等的文字,進行圖化簡;

11.endwhile

12.endif

13.endfor

14.輸出賦值結果,即骨干集。

4 實驗與結果分析

實驗主要從3個方面進行對比分析:(1)使用WP算法在不同類型的實例集上進行收斂性測試,分析算法的可行性。(2)在相同的實例集上與一次迭代算法Iterative SAT Testing(iter)[18]、核心文字翻轉算法Core-based Algorithm(core)[19]和局部骨干算法Iterative Local Backbones(lb)[22]等經典算法對比分析算法的求解時間。(3)在相同的實例集上對比近幾年常用的核心翻轉算法[19]和評分過濾算法[21],分析算法的收斂性和準確度。

4.1 算法的可行性

為了測試算法的可行性,使用不同類型的實例集進行收斂性測試,只有收斂的實例才可通過WP算法進行骨干集的求解。選取了實際生產中常見的樹形因子圖、正則3.4Sat和隨機Sat這幾種結構不同的測試集。使用算法1對不同的實例進行收斂性測試,結果如圖1所示。

Figure 1 Convergence of different instances圖1 不同實例的收斂性

通過圖1可知,本文WP算法在樹形因子圖的實例集上必定收斂,在隨機Sat和正則3.4Sat上當子句/變元比值小于3.5時也必定收斂、大于3.5的部分也具有較好的收斂性。因此,實驗結果表明,本文WP算法在絕大部分實際生產問題中都具有較好的收斂效果。證明了本文WP算法對骨干集求解的可行性。

4.2 與經典算法的時間對比

分析了算法的可行性后,算法的運行時間往往也是求解命題公式骨干集的關鍵。本文構建了n=200,400,600的樹形因子圖和隨機Sat因子圖進行對比實驗。用本文WP算法和其它經典的骨干集算法對相同類型的因子圖的多個實例進行求解,對比不同算法求解時間,結果如圖2~圖4所示。

Figure 2 Solution time of each algorithm with n=200圖2 n=200時各算法的求解時間

Figure 3 Solution time of each algorithm with n=400圖3 n=400時各算法的求解時間

Figure 4 Solution time of each algorithm with n=600圖4 n=600時各算法的求解時間

Figure 5 Time comparison on fla problem of three algorithms圖5 3種算法在fla問題上的時間對比

通過圖2~圖4可知,隨著變元數目的不斷增加,本文WP算法明顯優于經典的骨干集求解算法。在本實驗中,發現當變元數目在400~600時,本文WP算法和lb算法的求解時間有優勢,而且隨著變元數目增多,其時間優勢逐漸增大。而且本文WP算法相較于lb這類近似算法,在求解隨機Sat問題上具有一定的時間優勢,但在結構性實例上優勢不明顯。同時實驗發現隨著變元的增多,本文WP算法的求解時間呈線性增長,相對于經典算法的求解時間的增長幾乎可以忽略不計。即可理解為本文WP算法在求解變元數目較多的實例上相對于經典算法具有非常明顯的優勢。

4.3 與目前常用算法的時間對比

在求解骨干集的算法中,大部分都是進行局部求解,然后根據局部解推測出全局解。目前最為常用的骨干集算法是Janota等人[19]提出的文字翻轉算法和Guo等人[21]設計的啟發式評分過濾算法。在相同實例下對比2種算法與本文WP算法的求解效果,結果如圖5所示。

從圖5中可以發現,本文WP算法在求解命題公式骨干集時,隨著問題復雜性的增大,求解時間優于另外2種算法。

5 結束語

本文通過對WP算法的修改,設計一種求解命題公式骨干集的警示傳播算法,該算法在構建的特殊命題公式上求解的速度都較快,在SAT-encoded “Flat” Graph Colouring Problems(fla)基準集上求解速度比構建的特殊命題公式慢。但是,與文字翻轉算法和啟發式評分過濾算法相比還是有所提高的。

在后期的工作中,考慮通過使用弱后門集與骨干集沒有交集的理論,對WP算法進行改進,使其能求解出更多的骨干文字。

主站蜘蛛池模板: 91九色国产porny| 无套av在线| 国产在线啪| 暴力调教一区二区三区| 国产精品嫩草影院av| 伊人久久福利中文字幕 | 欧美日韩北条麻妃一区二区| 色综合成人| 久久综合干| 免费无码AV片在线观看国产| 都市激情亚洲综合久久| 亚洲天堂网在线视频| 久久频这里精品99香蕉久网址| 亚洲国产清纯| 97色婷婷成人综合在线观看| 综合久久五月天| 亚洲一区二区在线无码| 日韩在线视频网站| 亚洲h视频在线| 国产精品粉嫩| 婷婷五月在线| 久久精品一卡日本电影| 国产制服丝袜91在线| 精品国产三级在线观看| 美女无遮挡拍拍拍免费视频| 伊人激情综合网| 国产成人精品优优av| 亚洲精品色AV无码看| 国产迷奸在线看| 在线欧美日韩| 狠狠色狠狠综合久久| 天天综合网色中文字幕| 国产福利在线免费观看| 亚洲自拍另类| 毛片一区二区在线看| 日韩小视频网站hq| 亚洲区一区| 日韩AV无码一区| 全裸无码专区| 国产靠逼视频| 亚洲欧美日韩综合二区三区| 欧美在线三级| 亚洲另类色| 波多野结衣在线se| 久久综合色视频| 国产在线观看99| 国产无码制服丝袜| 东京热一区二区三区无码视频| 香蕉在线视频网站| 青青草原偷拍视频| 国产自在线拍| 伊人久久大香线蕉成人综合网| 91青青视频| 91福利免费| 亚洲日本中文字幕天堂网| 天天色天天操综合网| 国产主播一区二区三区| 免费国产在线精品一区| 在线观看国产网址你懂的| 国产成人在线无码免费视频| 欧美笫一页| 国产91成人| 午夜国产精品视频| 一级香蕉视频在线观看| 国产成人精品在线1区| 欧美亚洲国产日韩电影在线| 成人在线亚洲| 女同久久精品国产99国| 久久精品人人做人人爽97| 亚洲一区二区三区在线视频| 亚洲人成网址| 伊人五月丁香综合AⅤ| 思思99思思久久最新精品| 国产福利观看| 亚洲国产天堂久久九九九| 国产经典免费播放视频| 喷潮白浆直流在线播放| 欧美在线国产| 国产一区二区网站| 中文字幕亚洲精品2页| 亚洲中文字幕久久无码精品A| 国产91丝袜在线播放动漫|