计算几何中的模拟退火

模拟退火(SA,Simulated Annealing)

 

这是一种随机算法,其实模拟退火也算一种贪心算法。但是它在搜索过程中引入了随机因素。模拟退火算法以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。

 

顺便说一下爬山算法:爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。

爬山算法的原理很简单,但是他很容易陷入进一个局部的最优解从而得不出想要的答案。

这里网上有一个非常好的关于爬山算法和模拟退火算法的比喻:

爬山算法:兔子朝着比现在高的地方跳去。它找到了不远处的最高山峰。但是这座山不一定是珠穆朗玛峰。这就是爬山算法,它不能保证局部最优值就是全局最优值。

模拟退火:兔子喝醉了。它随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,它渐渐清醒了并朝最高方向跳去。这就是模拟退火。

 

当然,作为一种随机算法,模拟退火有可能不能每一次都正确的得到需要的最优值。。不过,在参数设置的合适的情况下,得到最优解的概率还是很高的。这种情况下,模拟退火的效率比穷举要高。所以,有时候还是要拼RP的。。。

 

而模拟退火在计算几何中的应用多是:求平面最近点对,最远点,多边形的费马点,等等。还可以结合其他算法对搜索进行优化,用的地方还是挺多的。

几道简单的模拟退火的题目:

      POJ 1379 Run Away
      http://poj.org/problem?id=1379
 
      POJ 2420 A Star not a Tree?
      http://poj.org/problem?id=2420
 
      POJ 2069 Super Star
      http://poj.org/problem?id=2069
 

 

 

转载于:https://www.cnblogs.com/xdruid/archive/2012/08/19/SA.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值