问题标签 [hill-climbing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 梯度上升与爬山的效率
我在一个景观上同时进行梯度上升和爬山,以评估哪一个可以在更少的步骤中达到最大高度。我的测试结果是,与梯度上升相比,爬山总是能以更少的增量达到更高的高度。这背后的原因是什么。因为我认为梯度上升会更有效。有没有人对这些算法有经验,可能对结果有话要说。
谢谢你。
algorithm - n维空间中的爬山:寻找邻居
在 1 维的爬山中,我尝试了两个邻居 - 我当前点左侧的一个小增量和一个右侧的小增量,然后保留提供更高目标函数值的那个。如何将其扩展到 n 维空间?如何为 n 维空间定义邻居?我是否必须尝试 2^n 个邻居(应用于每个维度的增量)?
java - 不打印相同的输出
根本没有打印与上面的行相同的输出,我不知道为什么会这样,我注意到它正在从末尾向后打印最后 N 个数字,无论我输入到参数中的任何内容,它都会在一秒钟内打印该数量时间。
这是主要的
这是 ScalesSolution 类
这是 randomOther 类
这是输出的问题:
我相信两个输出应该是相同的,我看到这里有问题,不知道为什么他们不是
algorithm - 变换搜索空间的爬山算法的名称
我正在开发一种基于爬山算法的算法,但使用一种方法来克服寻找局部最优解的问题。与模拟退火等将随机性引入搜索位置的方法不同,我尝试将随机性引入搜索空间。该算法的描述如下。我的问题是:文献中是否有这种(类型)算法的名称,之前是否对其进行过研究?
说明
虽然我正在研究多维问题,但以下是算法的 2D 视觉表示
首先,如上所述,使用爬山算法(在这种情况下是为了最小化一个值)。这当然有进入局部最小值的问题。此时,我改变了具体参数的评估,所以我的搜索空间形状发生了变化。然后,我的爬山算法将使用缩放的(橙色+蓝色)值,而位置的实际值将由其原始(蓝色)值确定。因此,在缩放之后: 最终我们达到了一个新的局部最优值(当查看蓝色+橙色值时)。尽管这不是蓝色+橙色时的全局最优值,但它是(在此示例中)蓝色时的全局最优值,这是我们试图最小化的值。
c++ - 爬山算法如何工作?
我正在从一本书中学习人工智能,这本书模糊地解释了我将在这里发布的代码,我假设是因为作者假设每个人都曾经体验过爬山算法。这个概念相当简单,但我只是不理解下面的一些代码,我希望有人能在我继续之前帮助我更清楚地理解这个算法。
我在最让我困惑的部分旁边发表了评论,总结这些行的作用对我很有帮助。
此外,这本书没有说明这是什么类型的爬山。我认为这是基本的爬山,因为它卡住时不会重新启动?
java - 如何用随机生成的产品填充 ArrayList?
我需要一些帮助来让随机发生器为我的代码工作。我正在为一个学校项目研究爬山算法。该算法仅适用于我不知道如何使它添加随机产品(它需要访问的位置。)
这里是主要课程。如果我必须再提供,请随时询问,我会的。
这是应该能够填充/替换 ArrayList 的随机发生器
artificial-intelligence - 随机爬山和首选爬山有什么区别?
这两种算法都会不断生成随机邻居,并在遇到比当前状态更好的邻居时进行选择。那么区别在哪里呢?
处处提到,First Choice Hill Climbing适用于有很多后继者的情况。但实际上,有什么区别?
另外,在链接中:
提到第一选择选择第一个随机移动,而随机选择随机给出的移动。仍然看不到实现差异。请帮忙。
java - 多种局部搜索算法来寻找全局最优
所以我对整个进化和遗传算法世界还很陌生,我现在正在编写一个优化数组并返回最佳解决方案的过程——适应度。
我现在的算法是通过模拟退火优化的,我可以改变冷却速度和起始温度来改变人口的压力和多样性,得到不同的结果,效果很好。我的问题是,在一种算法中使用两种不同的本地搜索是否可行?例如,假设我将迭代次数限制在 5000 次。是否值得使用 4000 进行模拟退火,然后将剩余的 1000 用于爬山本地搜索,以从第一次本地搜索中找到的值中找到最佳解决方案?还是在一种算法中使用两种不同的本地搜索只是不标准的做法?我是这个编程世界的新手,所以我愿意接受任何建议!
algorithm - 快速爬山算法,可在接近最佳状态时稳定
我有一个浮点数x
,它以某种概率[1, 500]
生成一个二进制文件。而且我正在尝试找到可以产生最多或最高的那个。我假设只有一个最大值。y
1
p
x
1
p
是否有一种算法可以快速收敛到x
最高值p
,同时确保它在达到最优值的 0.1% 范围内后不会跳跃太多x
?具体来说,如果它在接近 < 0.1% 的最佳值时稳定,那就太好了x
。
我知道我们可以通过模拟退火来做到这一点,但我认为我不应该对温度进行硬编码,因为当x
可能来自[1, 3000]
或p
分布不同时,我需要使用相同的算法。