赞
踩
代码实现
在解决优化问题时,爬山法只是一个简单的循环。以求最小值问题为 例,爬山法是一个不断向下爬的过程:从邻居中选择一个后继状态使得目 标值减小,在到达一个谷底时停止。因为问题不关注最优状态如何得到, 算法只需更新当前状态和目标值,不需要维护搜索路径。
实验结果表明:
实验结果表明:
一千次随机结果目标值的平均值
该图像实验结果表明:
暂时没有引入禁忌机制
爬山法的变形
当一个状态的众多邻居跟该状态的目标值相等时,形成一个高原(GreedyHillClimbing中,一旦进入高原区会立即停止搜索。侧向移动爬山法(TranslationHillClimbing)允许在高原上继续搜索多次。多次侧向移动后,目标值有可能离开高原区域继续下降。
实验结果表明:
随机启动2次
实验表明:
实验结果表明
爬山法的变形
如果并不选取目标值最小的邻居,而是在比当前目标值更小的邻居中随机选取一个作为后继,则称为随机爬山法。
实验结果表明:
实验表明:
实验结果表明:
结合侧向移动爬山法
在运筹学领域,爬山法的一种变体禁忌搜索(tabu search)得到广泛应用(Glover and Laguna, 1997)。这种算法维护一个禁忌列表,列表包含 k 个已经访问过而且不能重新访问的状 态;除了能提高搜索图时的效率,它还可以让算法避开某些局部极小值 。
实验结果表明:
这个结果表明成功率与侧向移动爬山法大致相同,但是平均迭代数会12步比之前20步减少了很多,极大提高了性能。
迭代步数仍然很少,说明这个算法性能非常高。
实验结果表明:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。