‘壹’ 爬山算法曝光时间
2017年。
爬山算法首次出现是在英国蒂姆·哈福德的书《混乱并码》当中,这本书的书写时间是2017年,书的出版时间是2018年,主要表达的是利用这种算法度过人生当中的困难或蔽键,在2017年被人熟知之后用在了各种领域。
爬山算法是一种局部择优的方法,采用启发式方法,是对深度优先搜索的一种改进,它利用衫巧反馈信息帮助生成解的决策。
‘贰’ 爬山算法
爬山算法是一种局部择优的方法岩嫌罩,是一种局部贪心的最优算法。
采用启发式方法,是对深度优先搜索的一种改进,它利用反馈信息帮助生成解的决策。 该算法每次从当前解的临近解空间中选择一个最优解作为当前解,
直到达到一个局部最优解,属于人工智能算法的一种。
实现简单,其主要缺点是会陷入局部最优者银解,不一定能搜索到全局最优解。
如下图所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,
因为在A点无论向那个方向小幅度移动都不能得到更优的解。
如果想进一步了解爬山算法及其应用粗闹,请参考:
基于爬山算法求解TSP问题(JAVA实现)
机器学习优化算法之爬山算法小结
‘叁’ 爬山算法
《混乱》
这本书提到了一个非常有效的算法,
叫爬山算法。
什么叫爬山算法?
(注:爬山算法是人工智能算法的一种,
其原理是把你随机地抛在地球上的一个点,抛在那个点以后,
你就近在最近的几公里之内寻找最高点,然后找到最高点之后,
立刻站到这个最高点上去,再在最近的几公里之内寻找最高点。)
用计算机模拟我们的人生,
我们的人生就是那个屏幕上,
现在屏幕中所有的坐标、高度都未知,
然后看看谁能用最快的方法找到这个屏幕上的最高点。
用什么样的方法找到最高点?
全球大量的计算机编程高手开始设计这套逻辑,
有的人沿着边走,有的人直接到中心,有人用交叉、画五角星法……
各种各样的方法,到最后发现,
最优秀、最快能够找到最高点的算法只有一个,
这个算法被称作爬山算法。
它的方法是什么?
就是在整个屏幕上随机一抛,
让这个点落在任何一个地方,然后在能力范围之内搜索,
在能力范围之内尽量找到周围最高的高度,找到最高的高度以后,
以这个最高的高度为圆心再找周围最高的高度,然后依次循环(
找最高点周围的下一个最高点),尽可能地找到最高的高点。
如果你今天特别倒霉,掉到一片沙漠中间,
这个沙漠周围的高度都差不多,没有特别高的高度,那该怎么办?
这时候需要重启,拿起来随机的一抛,
重启到另外一个地方再找另外的高度。
爬山算法里面有两个核心的点:
第一个点,
是你要接受随机的一抛,
你要接受有不确定性的发生;
第二个点,
是无论命运把你抛到什么地方,
你都要努力地展开搜索,
尽可能地做到最好,尽可能地找到最高的高点。
这就是爬山算法的精髓。
使用爬山算法探索一片屏幕,到最后发现这种方法是最快的。
就是要学会拥抱不确定性。
人生所有的烦恼、痛苦,
都是来自于我们对不确定性的抗拒。
我们希望我们的孩子按照一个模式成长,
我们希望我们的工作按照一个模式发展,
我们希望我们创业做的公司,
能够按照一个节奏安全一个模式发展,
是这些抗拒给我们带来大量的烦恼。
但是实际上你唯一需要做的事,是拥抱不确定性。
当不确定性发生、命运将你随机一抛的时候,
你能够随时随地、立刻展开最好的努力,
而不是待在原地拼命地抱怨,
拼命地对标,拼命地去维权,
反而这些东西浪费了我们太多的时间。
作者 | 樊登
来源 | 笔记侠(ID:Notesman)