爬山(Hill Climbing)算法是一种局部搜索算法,它在增加高度/值的方向上连续移动,以找到山峰或最佳解决问题的方法。它在达到峰值时终止,其中没有邻居具有更高的值。
爬山算法是一种用于优化数学问题的技术。其中一个广泛讨论的爬山算法的例子是旅行商问题,其中我们需要最小化推销员的行进距离。
它也称为贪婪的本地搜索,因为它只关注其良好的直接邻居状态而不是超越它。爬山算法的节点有两个组成部分,即状态和值。
Hill Climbing主要用于有良好启发式的时候。在此算法中,不需要维护和处理搜索树或图形,因为它只保留单个当前状态。
爬山算法的特点
以下是爬山算法的一些主要特征:
- 生成和测试变体:Hill Climbing是Generate和Test方法的变体。生成和测试方法产生反馈,有助于确定在搜索空间中移动的方向。
- 贪婪的方法:爬山算法搜索朝着优化成本的方向发展。
- 没有回溯:它不会回溯搜索空间,因为它不记得以前的状态。
爬山的国家空间图
状态空间景观是爬山算法的图形表示,其示出了算法的各种状态和目标函数/成本之间的图。
在Y轴上,我们采用了可以是目标函数或成本函数的函数,以及x轴上的状态空间。如果Y轴上的函数是成本,那么搜索的目标是找到全局最小值和局部最小值。如果Y轴的函数是目标函数,那么搜索的目标是找到全局最大值和局部最大值。


最低0.47元/天 解锁文章
4519

被折叠的 条评论
为什么被折叠?



