关键词:爬山算法、模拟退火算法、蒙特卡洛思想、贪心、Greedy策略、Metropolis准则
上古法师张忒柱的故事
爬山算法
爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。
说:法师张忒柱想去看风景,法师张忒柱捏碎了个传送卷轴,随机传送到一个某世界的某地方,通过他的“天眼通”法术找到了半径X距离的最高点位置的小山坡看风景。但是这座山不一定是珠穆朗玛峰。这就是爬山算法,它不能保证局部最优值就是全局最优值。
这时,法师张忒柱喝酒有点上头,觉得看的不过瘾,欲穷千里目怎么办?
问题是法师张忒柱不知道这个世界哪里最高怎么办?三个办法:
一:问人
二:修炼“天眼通”法术到最高层,半径可覆盖整个世界
三:找个相对最优解
一:问人,法师张忒柱觉得不行,目前法力最高的就是他了估计其他法师也不知道,而且还没有定向传送阵。
二:修炼“天眼通”法术需要元婴期法力,目前他金丹期,花费时间太长,成本太大。
三:找个相对最优解:
于是法师张忒柱捏碎回城券,首先购买了100张随机券准备模拟探索,基于第一次爬山数据作为初始值,开始开发记录半径最高值海拔,终于经过法师张忒柱纳入部分偏差不大的数据的掐指一算,确定了“四姑娘山”是最高山。这就是模拟退火算法是通过赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。
贪心的法师张忒柱不知不觉中就用到,,蒙特卡洛思想、Greedy策略-贪心(开发(exploit)和探索(explore))、Metropolis准则
蒙特卡洛思想
为了求解数学、物理、工程技术以及管理等方面的问题 ,首先建立一个概率模型或随机过程,使它们的参数,如概率分布或数学期望等问题的解;然后通过对模型或过程的观察或抽样试验来计算所求参数的统计特征,并用算术平均值作为所求解的近似值
Greedy策略-ϵ − 贪心算法:是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法
步骤1:从某个初始解出发;
步骤2:采用迭代的过程,当可以向目标前进一步时,就根据局部最优策略,得到一部分解,缩小问题规模;
步骤3:将所有解综合起来。
Metropolis准则
Metropolis 算法又叫 Metropolis 抽样,是模拟退火算法的基础,在早期的科学计算中蒙特卡洛方法(Monte Carlo)是对大量原子在给定温度下的平衡态的随机模拟,当蒙特卡洛算法计算量偏大。
1953 年,Metropolis 提出重要性采样,即以概率来接受新状态,而不是使用完全确定的规则,称为 Metropolis 准则,可以显著减小计算量。
模拟退火算法
迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。
模拟退火算法的模型
1模拟退火算法可以分解为解空间、目标函数和初始解三部分。
2模拟退火的基本思想:
(1) 初始化:初始温度T(充分大),初始解状态S(是算法迭代的起点),每个T值的迭代次数L
(2) 对k=1, …, L做第(3)至第6步:
(3) 产生新解S′
(4) 计算增量ΔT=C(S′)-C(S),其中C(S)为评价函数
(5) 若ΔT<0则接受S′作为新的当前解,否则以概率exp(-ΔT/T)接受S′作为新的当前解.
(6) 如果满足终止条件则输出当前解作为最优解,结束程序。
终止条件通常取为连续若干个新解都没有被接受时终止算法。
(7) T逐渐减少,且T->0,然后转第2步。
流程.png
参考:「百度文库」「百度百科」「博客园-模拟退火算法- ranjiewen」