姓名:车文扬 学号:16020199006 转载自:https://blog.csdn.net/zlk961543260/article/details/70172647
【嵌牛导读】:蚁群算法的原理
【嵌牛鼻子】:蚁群算法
【嵌牛提问】:蚁群算法的应用是什么?
【嵌牛正文】:
蚁群算法,又称蚂蚁算法,是一个外国人发现的,不得不说,外国的兄弟就是厉害,赞一个!言归正传,首先说以下蚁群算法是怎么回事吧!
蚁群算法是一个寻找最优路径的方法,在蚂蚁的世界,每天的工作就是找食物,搬食物。首先,每个蚂蚁在没找到食物的时候,它们的行动会有一定的惯性,也就是说他们会朝着一个方向一直走,但这不是绝对的,那要是一直走也找不到食物岂不是要累死。在它们遇见障碍的时候就会改变方向,这个方向是随机的,这是蚂蚁的行动看起来不像一个傻子一样,起码还知道遇到障碍物躲开。但是这个举动往往是蚁群算法能找到路径的关键,因为他不是一成不变的,蚂蚁在行动的时候会有一定的随机性,用在现代我们叫做创新。蚂蚁懂得创新,你说它厉不厉害!怪不得蚂蚁总能找到最短的路径。
当蚂蚁找到食物的时候,就会向环境周围散发一种信息素,当然了,信息素是在一定范围内有效的,随着时间推移会消失,跟喷了香水一样。其他的蚂蚁如果发现这种信息素了就会过来,这样,就会有更多的蚂蚁找到食物。当然了,如果最开始的蚂蚁找到的路径可能不是最优的,那么蚂蚁是怎样找到最优的路径呢?这就要归功于蚂蚁的创新精神了。在蚂蚁感受到信息素的时候他会沿着信息素多的方向走,但是他们偶尔也会另辟蹊径,如果他们通过这条路也找到了食物,而且这条路比之前的路更短,那么逐渐的更多的蚂蚁会被吸引到这条路径上来。为什么会有这样的事情发生呢?因为在相同的时间里,路径越短,蚂蚁走的次数就越多,散发的信息素浓度越高。
主要分类:
Model-free:不尝试去理解环境, 环境给什么就是什么,一步一步等待真实世界的反馈, 再根据反馈采取下一步行动。
Model-based:先理解真实世界是怎样的, 并建立一个模型来模拟现实世界的反馈,通过想象来预判断接下来将要发生的所有情况,然后选择这些想象情况中最好的那种,并依据这种情况来采取下一步的策略。它比 Model-free 多出了一个虚拟环境,还有想象力。
Policy based:通过感官分析所处的环境, 直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动。
Value based:输出的是所有动作的价值, 根据最高价值来选动作,这类方法不能选取连续的动作。
Monte-carlo update:游戏开始后, 要等待游戏结束, 然后再总结这一回合中的所有转折点, 再更新行为准则。
Temporal-difference update:在游戏进行中每一步都在更新, 不用等待游戏的结束, 这样就能边玩边学习了。
On-policy:必须本人在场, 并且一定是本人边玩边学习。
Off-policy:可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则。