当前位置: 首页 > news >正文

【AI】Hill Climbing 爬山算法

爬山算法

  • 浅谈爬山算法
  • 爬山算法的一种改进方法
  • 爬山算法是对DFS的一种改进

浅谈爬山算法

爬山算法 每次拿相邻点与当前点进行比对,取两者中较优者作为爬坡的下一步。循环直到该点的相邻点中不再有比其更大的点,我们将其作为山顶。
爬山算法,是一种简单的局部贪心搜索算法。

在这里插入图片描述

爬山算法的缺点非常明显,那就是陷入 局部最优解 而不一定能搜索到 全局最优解
从C点开始爬山,当爬山算法搜索到A点时,因为A点无论向哪个方向小幅度移动,都不能得到更优的解。爬山算法会停止搜索,从而将A点当作“山顶”。但是其实全局最优解是B点而非A点。


爬山算法的一种改进方法

随机重启爬山算法
顾名思义,那就是在随机地点重启爬山算法。
在这里插入图片描述
我们不仅仅从C点开始爬山,随机的从D点,E点,F点等等地点开始爬山,按照爬山算法,E点与F点会抵达全局最优点。但是因为示例模型的简单,所以我们抵达了全局最优解,但是事实上也许也只是一个局部最优解。

随机重启爬山算法,或称随机爬山算法,一定程度上缓解了爬山算法的弊端、算法缺陷。


爬山算法是对DFS的一种改进

DFS,Depth-first Search,深度优先搜索算法。相关博客:【AI】DFS 深度优先搜索

爬山算法是启发式的,而深度优先算法是遍历的。启发式的不用遍历,所以效率上爬山算法会比深度优先遍历算法高。

相关文章:

  • 企业网站怎么做产品图片轮播/产品网络推广方式
  • wordpress文章迁移/西安关键词推广
  • 网站logo源码/企业网站推广
  • asp程序网站后台发布产品的时候前台怎么不显示产品名称/网络网站
  • 梅州市做试块网站/网站制作多少钱
  • wordpress 用户评论/谷歌关键词
  • 【甄选靶场】Vulnhub百个项目渗透——项目三十三:Money-Heist-catch-me-if-you-can(密码学)
  • 02_MySQL环境搭建
  • codeblock 常见问题
  • 网络版本计算器(再谈“协议“)
  • C++类和对象详解(下篇)
  • Intel汇编-把内存块的值加载回FPU环境中
  • 做网赚项目那么多,最好最擅长的!
  • 在本地安装CentOs虚拟机的过程
  • 牛客JS刷题
  • 5.MongoDB系列之索引(二)
  • 0061 Set接口
  • TDesign-starter-React