機器智慧型 高頻問題 AC 3演算法

2021-10-04 02:48:56 字數 867 閱讀 4706

是一種約束傳播演算法,即在得到約束條件和值域的情況下,算出所有變數滿足約束條件的取值範圍。注意,ac-3演算法能夠處理的只有二元約束,即弧相容的情況,或者說在約束條件中任何乙個約束條件都只包含了兩個一下的變數。

1、首先,將所有的二元組(弧)入隊

2、二元組乙個個出隊,出隊的時候確定乙個為固定的值,另乙個可變

3、對可變變數的值域進行調整,剔除不滿足的值

4、如果值域發生改變,將與可變變數有關的所有的二元組入隊

5、隊列為空時,結束演算法

1、首先,將所有的和約束條件有關的二元組(包括前後順序調換的情況,如ab和ba)入隊。此時就得到了所有的弧相容。

2、然後對第乙個節點對(a,b)出隊進行的操作:假定b的值域不變,調整a的值域

3、此時(b,a)應該入隊,因為a的值變化後可能改變b的取值,但已經在佇列中就不管了

4、(b,a)出隊,固定a調整b

5、b調整後(a,b)和(c,b)都需要重新入隊,其中(c,b)已經在佇列中,就不用管了

6、(b,c)出隊,固定c調整b

7、b調整後(a,b)和(c,b)應該入隊,但已經在就不管了

8、(c,b)出隊,固定b調整c

9、c調整後(b,c)和(c,b)應該入隊,但已經在就不管了

10、(a,b)出隊,固定b調整a

11、a調整後(a,b)和(b,a)應該入隊,(b,a)入隊

12、(b,c)出隊,此時值域無變化,不作處理

13、(b,a)出隊,此時值域無變化,不錯處理

14、隊列為空,得到四個變臉a,b,c,d的值域

機器智慧型 高頻問題 歸結演算法

為證明kb a是有效的,需要證明 kb a 是不可滿足的 舉例 kb b11 p12 p21 b11 a p12 想要證明kb a是不可滿足的,即 b11 p12 p21 b11 p12 是不可滿足的 解題空間 1 轉換為合取正規化 b11 p12 p21 b11 p12 原式 b11 p12 p2...

機器智慧型 高頻問題 CSP搜尋

csp搜尋的作用就是在應用約束傳播縮小值域範圍後開始使用搜尋演算法來得到最終結果。輸入是乙個csp問題,輸出是乙個解決方案。a 轉態是由賦值的變數決定的 b 初始狀態設為空 c 步驟 給乙個沒有賦值的變數賦值,該賦值不與當前已賦值的變數相衝突 d 目標測試 如果所有的賦值完成且滿足終止狀態,則搜搜結...

機器智慧型 高頻問題 區域性束搜尋 遺傳演算法

1 區域性束搜尋 a 隨機產生k個狀態,然後每一步從所有的後繼狀態中選擇k個最佳的後繼狀態 也有健康度函式,詳見下文 直到找到目標狀態 記憶體中同時保留k個狀態 增大了找到全域性最優的概率。b 相當於多個人去找,或者多次爬山法。c 狀態越多,找到最優的可能性越大 d 空間複雜度高 時間複雜度大 來自...