欢迎光临散文网 会员登陆 & 注册

北大公开课-人工智能基础 27 局部搜索与群体智能优化和进化算法

2023-03-27 14:02 作者:朝朝暮暮1895  | 我要投稿



模拟退火,有点类似于三维空间中的爬山法

目的在于在这个局部中,逼近全局最优解。



模拟退火的算法,初始节点为随机生成

对于当前节点的后继节点,也随机生成

但是对于由后继节点替换当前节点的规则,既非用最大最小值替换(最陡峭版本爬山法),也非用随机的后继节点替换当前节点(随机爬山法),

而是以概率p来接受价值更高的后继节点替换当前节点,这个概率p,相当于模拟退火算法的温度

直到解具有比当前阈值最低的值,或者迭代次数已经到达设定值,两个状态之一的情况下

类似于凝固状态,则返回该节点作为solution


模拟退火算法逻辑说明

设定初始参数problem,定义为问题状态

参数schedule ,相当于时间t 到 温度T的映射表

将问题的初始状态定义为current 当前节点

循环:以时间t 从1到无穷大,进行循环

        当使用schedule函数,将时间t映射为温度T的函数

        如果温度为0,则返回当前的节点(这里的温度是绝对温度,如果温度为绝对零度,那已经是最小值),退火过程也肯定结束了

        如果温度不为0,则随机选择当前的后继节点最为当前节点

        用后继节点的问题,减去当前节点的温度,记作能量值 E

        如果这个能量值大于0, 则基于概率p,将next 后继节点, 作为curren当前节点,进行下一轮迭代。

模仿自然选择过程的遗传算法

遗传算法,是进化算法的一类



用遗传算法解决8皇后问题

相当于将两个不同解,互相杂交,各取没有问题的一段互相杂交。

直至找到更优的状态解

遗传算法的逻辑

初始设定两个参数, 种群 population,个体的集合

适应性函数 FITNESS-FN,用于度量个体适应性的度量功能函数

循环:

    设置新的种群为空集合

    以种群的规模,作为循环的次数 (从1-种群规模进行循环)

       随机以x,y切分种群,且进行杂交运算,将mutate的xy子节点作为新的种群。


北大公开课-人工智能基础 27 局部搜索与群体智能优化和进化算法的评论 (共 条)

分享到微博请遵守国家法律