爬山算法

作者&投稿:柳虎 (若有异议请与网页底部的电邮联系)
~ 《混乱》

这本书提到了一个非常有效的算法,

叫爬山算法。

什么叫爬山算法?

(注:爬山算法是人工智能算法的一种,

其原理是把你随机地抛在地球上的一个点,抛在那个点以后,

你就近在最近的几公里之内寻找最高点,然后找到最高点之后,

立刻站到这个最高点上去,再在最近的几公里之内寻找最高点。)

用计算机模拟我们的人生,

我们的人生就是那个屏幕上,

现在屏幕中所有的坐标、高度都未知,

然后看看谁能用最快的方法找到这个屏幕上的最高点。

用什么样的方法找到最高点?

全球大量的计算机编程高手开始设计这套逻辑,

有的人沿着边走,有的人直接到中心,有人用交叉、画五角星法……

各种各样的方法,到最后发现,

最优秀、最快能够找到最高点的算法只有一个,

这个算法被称作爬山算法。

它的方法是什么?

就是在整个屏幕上随机一抛,

让这个点落在任何一个地方,然后在能力范围之内搜索,

在能力范围之内尽量找到周围最高的高度,找到最高的高度以后,

以这个最高的高度为圆心再找周围最高的高度,然后依次循环(

找最高点周围的下一个最高点),尽可能地找到最高的高点。

如果你今天特别倒霉,掉到一片沙漠中间,

这个沙漠周围的高度都差不多,没有特别高的高度,那该怎么办?

这时候需要重启,拿起来随机的一抛,

重启到另外一个地方再找另外的高度。

爬山算法里面有两个核心的点:

第一个点,

是你要接受随机的一抛,

你要接受有不确定性的发生;

第二个点,

是无论命运把你抛到什么地方,

你都要努力地展开搜索,

尽可能地做到最好,尽可能地找到最高的高点。

这就是爬山算法的精髓。

使用爬山算法探索一片屏幕,到最后发现这种方法是最快的。

就是要学会拥抱不确定性。

人生所有的烦恼、痛苦,

都是来自于我们对不确定性的抗拒。

我们希望我们的孩子按照一个模式成长,

我们希望我们的工作按照一个模式发展,

我们希望我们创业做的公司,

能够按照一个节奏安全一个模式发展,

是这些抗拒给我们带来大量的烦恼。

但是实际上你唯一需要做的事,是拥抱不确定性。

当不确定性发生、命运将你随机一抛的时候,

你能够随时随地、立刻展开最好的努力,

而不是待在原地拼命地抱怨,

拼命地对标,拼命地去维权,

反而这些东西浪费了我们太多的时间。

作者  | 樊登

来源  | 笔记侠(ID:Notesman)


实际测量一座山的高度的方法和算法
5. 通过计算公式 H = R * tan(θ),其中 H 是山的高度,R 是从参照物到山顶的垂直距离,θ 是水平角度。6. 最终得到的山的高度是精确的,且符合实际物理情况。

什么是爬山算法?求解答
这一算法是简单的贪心算法,仅能得到局部最优解,往往不能得到全局最优解。可见上图描述的搜索序列中,爬山算法会在第一个山峰处停下搜索,以局部最优解作为算法的结果。这一算法是相对于各种全局最优算法在时间复杂度上的妥协,可以用于对最优情况不那么敏感、只需要取得可行解即可的情况。

爬山算法(Hill Climbing)解决旅行商问题(TSP)
爬山算法是一种局部择优的方法,采用启发式方法。直观的解释如下图:爬山算法,顾名思义就是 爬山 ,找到第一个山峰的时候就停止,作为算法的输出结果。所以,爬山算法容易把局部最优解A作为算法的输出,而我们的目的是找到全局最优解B。如下图所示,尽管在这个图中的许多局部极大值,仍然可以使用 模...

牛顿下山法原理
牛顿下山法属于数学领域,是牛顿法的一种变形;算法的原理迭代公式为xk+1=xk-ωk(k=0,1,…),其中ωk0为迭代参数,并由条件|f(xk+1)||f(xk)|确定,它是为减弱牛顿法对初始近似x0的限制而提出的一种算法。利用牛顿法解决问题,需要做好以下三个方面的工作:1、确定迭代变量 在可以用迭代算法...

实际测量一座山的高度的方法和算法
找个参照物,然后用角度和距离,利用正切定义可算出来。如图示

...问海拔6300米的山顶的温度是多少,算法是这样25-(6300\/100)*0.6,为...
山脚温度是25度,问海拔6300米的山顶的温度是多少,算法是这样25-(6300\/100)*0.6,为什么要用海拔除以100  我来答 分享 微信扫一扫 网络繁忙请稍后重试 新浪微博 QQ空间 举报 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 温度 海拔 算法 除以 搜索资料 本地图片 ...

什么是牛顿下山法
牛顿下山法是牛顿法的一种变形,它是为减弱牛顿法对初始近似zo的限制而提出的一种算法。牛顿迭代法又称为牛顿拉夫逊(拉弗森)方法,它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。

一座山,山底32度,山顶-6度。这座山有多高。求算法!!!
每升高100米,气温约下降0.6摄氏度,所以32-(-6)=38. (38\\0.6)*100=6333米左右 应该是这样吧,望采纳!

算法式和启发式
【例子】若A对象具有属性a、b、c、d,且B对象具有属性a、b、c,猜想:B对象具有属性d。类比推理的过程,是从特殊到特殊,由此及彼的过程,可谓“他山之石,可以攻玉”。三、对比算法式和启发式 假设你的钥匙被忘在了家中的某个地方,你想找到它。算法式的做法是系统地在家里的每个房间中进行查找...

道家五脉,山,医,命,相,卜,怎么解
一、山所谓“山”就是通过食饵、筑基、玄典、拳法、符咒等方法来修炼“肉体”与“精神”,以达充满身心 的一种学问。食饵——是利用补药、酒及日常饮食以加强体力,治疗疾病的一种方法。筑基——是利用禅、静坐法以控制精、气、神,进而增进体力的一种方法。玄典——是以老子、庄子思想为基础,进而达到修心养性的...

新邵县13012202410: 爬山算法 - 搜狗百科
匡尤丑丑: 假想将解空间依照深度搜索序列的顺序为y轴,以解的权为x轴作图 我们可以认为得到一系列山峰与峡谷的剖面图.爬山算法就是在这个图上进行爬山,找到第一个山峰或者第一个符合要求高度的山峰就停止.具体来说,就是算法迭代时,每次用临近解空间内的更优解取代前解. 这一算法是简单的贪心算法,仅能得到局部最优解,往往不能得到全局最优解. 可见上图描述的搜索序列中,爬山算法会在第一个山峰处停下搜索,以局部最优解作为算法的结果. 这一算法是相对于各种全局最优算法在时间复杂度上的妥协,可以用于对最优情况不那么敏感、只需要取得可行解即可的情况.

新邵县13012202410: 爬山算法的算法 -
匡尤丑丑: 爬山算法从当前的节点开始,和周围的邻居节点的值进行比较. A*把所有节点分成2组,一组已访问,一组未访问,然后选择其中最优点加入已访问组. 爬山算法速度比A*快,但会舍弃部分最优解.

新邵县13012202410: 遗传算法、数值算法、爬山算法、模拟退火 各自的优缺点 -
匡尤丑丑: 遗传算法:优点是能很好的处理约束,能很好的跳出局部最优,最终得到全局最优解,全局搜索能力强;缺点是收敛较慢,局部搜索能力较弱,运行时间长,且容易受参数的影响. 模拟退火:优点是局部搜索能力强,运行时间较短;缺点是全局搜索能力差,容易受参数的影响. 爬山算法:显然爬山算法较简单,效率高,但是处理多约束大规模问题时力不从心,往往不能得到较好的解. 数值算法:这个数值算法的含义太广,你说的是哪一种数值算法?多数数组算法与爬山算法的有优缺点类似. PS:望采纳!

新邵县13012202410: dijakstra算法和分支限算法在解决单源最短路径问题的异同 -
匡尤丑丑: 记dijakstra算法为D算法 D算法为贪心算法,每一步的选择为当前步的最优,复杂度为O(n*n) (又叫爬山法) 分支限界算法,每一步的扩散为当前耗散度的最优,复杂度为(没算) 都是A算法的极端情况(说错了哈,下面我的文字中的的分支限...

新邵县13012202410: 用C语言编写三个算法,BFS或DFS,爬山算法,遗传算法实现八皇后问题 -
匡尤丑丑: 百度算法名,加上八皇后 比如 BFS 八皇后问题 C语言. 或者 遗传算法 八皇后问题 C语言然后根据搜索结果 就可以得到算法和代码了.

新邵县13012202410: 例子:我早上6点起床. 7点吃饭. 8点爬山 理解成为一个算法 用C语言语法将上述算法写出来 -
匡尤丑丑: 我的理解: switch(clock) {case 6: /*起床*/ break; case 7: /*吃饭*/ break;case 8: /*爬山*/ break;default: break;}

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网