五大常用算法:分治、動態規划、貪心、回溯、分支限界


分治把一個復雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最后子問題可以簡單的直接求解,原問題的解即子問題的解的合並
http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741370.html#3024443
--------------------------------------------------------------------------------------------------------------
動態規划每次決策依賴於當前狀態,又隨即引起狀態的轉移。一個決策序列就是在變化的狀態中產生出來的,所以,這種多階段最優化決策解決問題的過程就稱為動態規划
http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741374.html
-----------------------------------------------------------------------------------------------------------------
貪心在對問題求解時,總是做出在當前看來是最好的選擇也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的局部最優解。 常見的貪心算法有:Prim算法、Kruskal算法(都是求最小生成樹的)
基本思路:將問題分解為若干個小問題,逐漸求得各個子問題的 局部最優解,最后合並為原來問題的解
 
--------------------------------------------------------------------------------------------------------------
回溯 回溯算法實際上一個類似枚舉的搜索嘗試過程,主要是在搜索嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就“回溯”返回,嘗試別的路徑。深度優先

   回溯法是一種選優搜索法,按選優條件向前搜索,以達到目標。但當探索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯法,而滿足回溯條件的某個狀態的點稱為“回溯點”。

--------------------------------------------------------------------------------------------------

分支限界類似於回溯法,也是一種在問題的解空間樹T上搜索問題解的算法。但在一般情況下,分支限界法與回溯法的求解目標不同。回溯法的求解目標是找出T中滿足約束條件的所有解,而分支限界法的求解目標則是找出滿足約束條件的一個解,或是在滿足約束條件的解中找出使某一目標函數值達到極大或極小的解,即在某種意義下的最優解

http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741378.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM