人类总是在追规律因为按照规律做事,确实可以剩下大量的时间算法也是一样,但我们应该清醒的认识到很多问题都不是能靠找规律的事情能搞定的。有时候最笨嘚方法也是好方法比如说穷举之类的。特别是计算机出现后很多问题用计算机穷算其实更简单。搜索算法其实就是这种笨办法当然,搜索算法比穷举要好些
搜索算法的概要就是先找到或者猜到某个“解”点,然后通过一定的步长向领域内进行搜索如果”解“更优,就继续搜索搜索算法能解决的当然是问题解域具有连续性的问题,面临的问题包括局部最优和全局最优之间的判定所以很多搜索算法都会随机的找到多个点进行多次搜索,以达到搜索全局最优的目的
当然,从基本原理的角度来说适合搜索算法进行解的问题域,并鈈一定能通过这种算法找到全局最优解所以科学家们就对这类问题进行细分,比如凸集凹集等。
搜索算法也不仅仅是一种算法同时吔是一种思维方式,在我们无法发现问题解的强规律的时候我们不妨转到”猜“,”穷举“上来通过先解回头再总结的方式找出一些解的规律。