【基于随机化的非确定性算法】模拟退火学习笔记
来源:互联网 发布:rdp端口号 编辑:程序博客网 时间:2024/05/06 20:03
暑假zky学长讲了模拟退火,现在正式来更一发学习笔记.
这次不口胡直接正文!
—————————————– > w < 线 割 分 是 我 —————————————————
模拟退火(Simulated Annealing,简称SA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。
这是小学生百科给的定义.
然后后面扯了一大堆什么和冶金学相关…
我觉得小学生百科说的东西都并没有什么卵用…
一句话概括:其实模拟退火就是随机化的贪心.
有一种贪心算法叫爬山算法.
我们把答案数值的分布画出图像,可以看出是连绵不断的山峰的形状.
爬山算法就是在一个点单纯的选择两边的某个更优解,然后直到走到一个山峰.
很显然这样会陷入局部最优解而得不到全局最优解.
那么模拟退火就借助随机化的手段,每次我们面临更优解和较劣解的选择时并不会直接选择最优解,而是会以一定概率来接受那个较劣解,这样就可以跳出局部最优解而访问到全局最优解.
这个概率在模拟退火中叫做“温度”.就像冶金一样,这个概率随着算法的运行是不断降低的.大概是随着算法的运行每次乘一个rate(通常是0.99,0.98,0.97…).
写模拟退火的时候最痛苦的就是调这个rate(据说)
算法的初始温度设定应当足够大.
需要注意的是:对于新产生的解,如果它更优,那么算法是一定接受这个解的,只是对于较劣解才会使用概率.
最后当这个概率小于一定值,我们就退出算法,认为当前解就是最优解.
泥问我这东西的正确性和复杂度?
我都不知道啊QAQ
0 0
- 【基于随机化的非确定性算法】模拟退火学习笔记
- 随机化算法-----模拟退火
- 浅谈随机化算法--模拟退火题目
- 基于模拟退火的遗传算法
- 模拟退火学习笔记
- 基于MATLAB的模拟退火算法求解TSP问题
- 模拟退火算法深入学习
- 模拟退火算法和遗传算法的学习
- 模拟退火算法的基本原理
- 模拟退火算法的介绍
- "活"的模拟退火算法
- POJ2420 费马点问题求解 随机化 模拟退火
- 确定和非确定性算法
- 模拟退火玄学算法学习小计
- 利用Python实现基于模拟退火算法和遗传算法的最佳航班选择
- [转载]智能算法学习笔记-模拟退火,遗传算法,禁忌搜索,
- 对模拟退火算法的理解
- TSP问题的模拟退火算法
- 从Android源码分析View绘制
- JAVA问题之泛型数组
- 用css画的各种形状
- spring boot实战(第三篇)事件监听源码分析
- poj3661
- 【基于随机化的非确定性算法】模拟退火学习笔记
- Springmvc+ajax
- USACO 1.2 Dual Palindromes
- 区间离散化+线段树区间求最值poj 3368 Frequent values
- Java异常以及处理原则
- C/C++ 宏定义 # ##
- UVA 10537 最短路
- CocoaPods安装和使用教程
- Android 自定义界面的弹出框(可输入数据)