爬山 & 模拟退火
前言
- msjing不想写 IDA* 所以来写这个了
爬山
- 我们要学模拟退火,就要先学爬山
- 爬山算法很好理解
有一个人站在一个单峰山上,随机扔末影珍珠,如果落点比现在的点低就不飞,否则就飞过去
—— cnlihuan
- 我们在使用爬山算法时,需要钦定三个变量:初始温度,下降幅度,终末温度
- 当当前温度(初始 \(-\) 下降幅度 \(\times\) 时间)越大时,跳动幅度越大,相当于是人扔的末影珍珠越远,反之同理
- 由于如果下一个决策点比现在劣就不移动,我们就有大概率到最优决策点上,即人有大概率到山顶上
- 那就会有个问题:woc我脱模会三分我为啥不用三分
因为msjing其实并没有学明白三分因为有一些题你推不了三分- 那这个的作用就凸显出来了:
在场上不会写三分的骗分利器!
模拟退火
- 哦哦哦哦哦哦哦哦哦!学模拟退火
- 为啥要学模拟退火捏?因为爬山仅能解决单峰函数,多峰的话爬山可能会导致在一个劣解停下
- 啥是退火?
多看看锻刀大赛就是金属热处理工艺,把温度降下来来处理刀身,同样的热处理工艺有名的有淬火,回火 - 模拟退火就是模拟退火工艺的流程,退火和淬火的流程不一样,淬火是直接快速冷却,退火是缓慢降温
- 模拟退火相较爬山算法,会有选择性地找到一些劣解并选择,就会有很大概率跳到最优解
- 好像,就,没了?
- 实现一会再说,msjing才学
- 由于随机化算法非常的随机化,所以答案有概率不对,所以我们就可以用一些技巧来使正确概率提高
- 调参:就是把上面说的三个参数调来调去
- 卡时:由于基本上所有的赛制都会有时间限制,且无论时间多少,只要时间没过限制都认为是正确的,所以我们可以卡着时限,一直跑反复退火直到快炸掉,就可以提高正确率
后记
- msjing没时间写题了因为还要学李超树哦哦哦哦哦哦哦哦哦!

浙公网安备 33010602011771号