什么神仙题目。蒟蒻我前前后后一共交了13次,才终于把这个退火搞懂了QwQ。
传送门
题解
蒟蒻我之前一直对模拟退火保持一个懵逼状态,今天是差不多把大概原理终于理清楚了QwQ。
其实基本上就是个退火的板子,但是蒟蒻我一直搞不清楚计算接受较差答案的概率。
一般来说,计算改成的式子是这样的:
exp((now-ans)/T)>rand()/RAND_MAX
其中now表示当前的答案,ans表示已知最优答案,也有可能是ans-now,总之应该是个负数。满足上式,则接受较差的答案。
其中$exp(x)$表示$e^x$,函数图像大概是这样的:
所以与当前最优答案差距越大,温度越低,$exp()$的值就越小,接受这个较差的答案的概率就越小。
还有,调参的时候,降温系数,停止退火的温度下限,温度初始值,退火的次数要一起调,尤其是退火的次数,多退几次还是很有必要的。种子可以用神仙学长ZZK的生日20020222。
代码
1 |
|