一、回溯搜尋的變數賦值順序
1-最少剩餘值啟發式(mrv)
最大受限變數(具有最少合法賦值的變數),優先賦值
2-最大約束變數
約束其他未賦值變數最多的變數
3-最小約束值
選擇好變數後,選擇乙個 最小約束值來對變數賦值
最小約束值:對其他未賦值變數的合法賦值影響最小的值
二、回溯搜尋的前向檢查和約束傳播(弧相容原則)
1-前向檢查
跟蹤未賦值變數的合法賦值,如果發現有變數沒有合法賦值,搜尋停止
(前向檢查表)
2-弧相容-約束傳播一種方法
前向檢查不能提前檢測到所有失敗
弧相容:弧x->y是相容的當且僅當,對於變數x的每一種賦值,變數y都存在乙個合法賦值
把弧x->y從不相容變成相容:刪除x的乙個剩餘合法值
當變數x刪除了乙個合法賦值,那麼它的鄰居變數需要重新檢查,
即:從x的鄰居變數出發到x的弧需要檢查
3-弧相容演算法ac-3
時間複雜度:n平方*d立方
n:變數個數,d:取值個數
n2*d,檢查每一條弧(加上重複檢查的,最多n(n-1)條弧,每條弧最多檢查d次)
單條弧的相容性檢查d2(對於d個xi和d個xj),
四、偏好約束通常被計入個體變數賦值的耗散。
約束傳播的一種形式:邊界傳播
後向跳**基於失敗的原因回溯
衝突指導的後向跳轉
約束滿足問題的介紹
約束滿足問題在人工智慧領域有著廣泛的應用。比如新的學期教室的規劃分配,飛機場跑道的占用情況,它們都涉及了約束條件。我們所熟知的經典的皇后問題 幻方問題都屬於約束滿足問題。約束滿足問題可以分為二元約束滿足問題和多元約束滿足問題。其中,多元約束滿足問題可以被劃分為等價的二元約束滿足問題。因而,研究二元約...
馬的遍歷 搜尋與回溯
題目描述description 中國象棋半張棋盤如圖所示。馬自左下角往右上角跳。今規定只許往右跳,不許往左跳。比如圖4 a 中所示為一種跳行路線,並將所經路線列印出來。輸入輸出格式input output 輸入格式 無輸出格式 第一行 乙個整數total表示第幾種跳法 第二行 0,0 2,1 3,3...
mysql中的約束條件 MySQL中的約束條件
主鍵約束 primary key 1.每個表中只能有乙個主鍵 2.主鍵值必須是非空不重複 3.可以設定單字段主鍵,也可以設定多欄位聯合主鍵 聯合主鍵中多個欄位的取值完全相同時,才違反主鍵約束 新增單字段主鍵約束 create table primary key,新增多欄位聯合主鍵約束 create ...