在擴充套件結點處,先生成其所有的兒子結點(分支),然後再從當前的活結點表中選擇下乙個擴充套件結點。為了有效地選擇下一擴充套件結點,加速搜尋的程序,在每一活結點處,計算乙個函式值(限界),並根據函式值,從當前活結點表中選擇乙個最有利的結點作為擴充套件結點,使搜尋朝著解空間上有最優解的分支推進,以使盡快找出乙個最優解。
(1)活結點:如果已生成乙個結點而它的所有兒子結點還沒有全部生成,則這個結點叫做活結點。
(2)擴充套件結點:當前正在生成其兒子結點的活結點叫擴充套件結點(正擴充套件的結點)。
(3)死結點:不再進一步擴充套件或者其兒子結點已全部生成的結點就是死結點。
(4)解空間:對於問題的乙個例項,解向量滿足顯式約束條件的所有多元組,構成了該例項的乙個解空間。
(5)廣度優先的問題狀態生成法:在乙個擴充套件結點變成死結點之前,它一直是擴充套件結點。
分支限界法與回溯法的不同:
(1)求解目標:回溯法的求解目標是找出解空間樹中滿足約束條件的所有解,而分支限界法的求解目標則是找出滿足約束條件的乙個解,或是在滿足約束條件的解中找出在某種意義下的最優解。
(2)搜尋方式的不同:回溯法以深度優先的方式搜尋解空間樹,而分支限界法則以廣度優先或以最小耗費優先的方式搜尋解空間樹。
圖1.1 回溯法和分支限界法的比較
分支限界法
分支限界法 類似於回溯法,也是一種在問題的解空間樹t上搜尋問題解的演算法。但在一般情況下,分支限界法與回溯法的求解目標不同。回溯法 的求解目標是找出t中滿足約束條件的 所有解,而分支限界法的求解目標則是找出滿足約束條件的乙個解,或是在滿足約束條件的解中找出使某一目標函式值達到極大或極小的解,即在某種...
分支限界法
分支限界法 類似於回溯法,也是一種在問題的解空間樹t上搜尋問題解的演算法。但在一般情況下,分支限界法與回溯法的求解目標不同。回溯法 的求解目標是找出t中滿足約束條件的 所有解,而分支限界法的求解目標則是找出滿足約束條件的乙個解,或是在滿足約束條件的解中找出使某一目標函式值達到極大或極小的解,即在某種...
分支限界法
分支限界法 類似於回溯法,也是一種在問題的解空間樹t上搜尋問題解的演算法。但在一般情況下,分支限界法與回溯法的求解目標不同。回溯法 的求解目標是找出t中滿足約束條件的 所有解,而分支限界法的求解目標則是找出滿足約束條件的乙個解,或是在滿足約束條件的解中找出使某一目標函式值達到極大或極小的解,即在某種...