1. 程式人生 > >2018.3.14 local search algorithms

2018.3.14 local search algorithms

隨機算法 過程 基本 div ear post 3.1 系列 重復

整個系列課的最後一周講的是local search paradigm。local search基本上是一種隨機算法,大體思路是隨機找出一種解法,然後發現如果不夠好的話,就微調一下現有的解法,得到一個微調後的解法(neighbor),然後重復這個過程,直到找到足夠好甚至是最好的解法為止。

講道理,這種思路挺容易讓人想到bogo sort的——就是不停的試嘛。不過local search中比較重要的就是neighbor的選取了,bogo sort是沒有這一步的。很顯然local search不能保證得到最優解法,甚至很多時候連解法正確率都保證不了。所以很多時候用local search的話都需要手動設置中止條件,比如說你這程序都運行了24個小時了還沒結束,那就趕緊把現有的已算好最優解法拿出來湊數吧,就當醜媳婦見公婆了。

舉的采用local sort算法的例子是max cut和2-sat problem,老實說我都沒怎麽細聽。

最後熱烈慶祝算法課結束!可喜可賀可喜可賀。

2018.3.14 local search algorithms