生活随笔
收集整理的這篇文章主要介紹了
分支界定法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
1 分支界定法
分支定界 (branch and bound) 算法是一種在問題的解空間上搜索問題的解的方法。但與回溯算
法不同,分支定界算法采用廣度優先或最小耗費優先的方法搜索解空間樹,并且,在分支定界算
法中,每一個活結點只有一次機會成為擴展結點。
利用分支定界算法對問題的解空間樹進行搜索,它的搜索策略是:
產生當前擴展結點的所有孩子結點;在產生的孩子結點中,拋棄那些不可能產生可行解(或最優解)的結點;將其余的孩子結點加入活結點表;從活結點表中選擇下一個活結點作為新的擴展結點。
如此循環,直到找到問題的可行解(最優解)或活結點表為空。
從活結點表中選擇下一個活結點作為新的擴展結點,根據選擇方式的不同,分支定界算法通常可以分為兩種形式:
FIFO(First In First Out) 分支定界算法:按照先進先出原則選擇下一個活結點作為擴展結點,即從活結點表中取出結點的順序與加入結點的順序相同。最小耗費或最大收益分支定界算法:在這種情況下,每個結點都有一個耗費或收益。假如要查找一個具有最小耗費的解,那么要選擇的下一個擴展結點就是活結點表中具有最小耗費的活結點;假如要查找一個具有最大收益的解,那么要選擇的下一個擴展結點就是活結點表中具有最大收益的活結點。
具體的應用可以參見A星算法:
A星算法
參考資料:
C/C++從入門到精通-高級程序員之路【奇牛學院】
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的分支界定法的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。