这篇文章将为大家详细讲解有关大数据中蚁群算法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
蚁群算法应用于解决优化问题的基本思路为:用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成优化问题的解空间。路径较短的蚂蚁释放的信息素量较多,随着时间的推进,较短的路径上累积的信息素浓度逐渐增高,选择该路径的蚂蚁个数也愈来愈多。最终,整个蚂蚁会在正反馈的作用下集中到最佳路径上,此时对应的便是待优化问题的最优解。
因为蚁群算法的核心思想是“信息素”,所以用蚁群算法求解TSP问题有两个关键步骤:
步骤一:根据信息素浓度计算出选择转移到下一个城市的概率
步骤二:更新信息素浓度
首先设置一些基本参数:设整个蚂蚁群体数量为m,城市数量为n,城市i与城市j之间的距离为dij,t时刻城市i与城市j连接路径上的信息素浓度为。初始时刻,各个城市连接路径上的信息素浓度相同(因为蚂蚁们都还没开始走),设。
步骤一详解:前文我们说到,蚂蚁能够感知某条路径上的信息素浓度,并根据信息素浓度选择继续沿着那条路走,小编前面也说到这里的思想和“轮盘赌”的思想差不多,不过还有一点小小的差异。
这个式子表明t时刻蚂蚁k从城市i移动到城市j的概率,其中;为蚂蚁k待访问城市的集合,开始时中有(n-1)个元素,即包括除了蚂蚁k出发城市的其他城市,随着时间的推进,中的元素不断减少,直至为空,即表示所有的城市均访问完毕;为信息素重要程度因子,其值越大,表示信息素的浓度在转移中起到的作用越大;为的重要程度影响因子,其值越大,表示在转移中的作用越大,即蚂蚁会以较大的概率转移到距离最短的城市。
步骤二详解:在计算完转移概率之后,蚂蚁一定会移动到下一个城市,这时不同路径上的信息素浓度一定会发生变化,因为刚才蚂蚁已经经过这条路线。如前文所述,在蚂蚁释放信息素的同时,各个城市连接路径上的信息素也在逐渐消失,设参数()表示信息素的挥发程度。因此当所有蚂蚁完成一次循环后(这里的意思是所有的蚂蚁全部找到自己的路径后,这些蚂蚁会更新完各连接路径上的信息素浓度之后进行新一轮的“寻找最优路径活动”,这其实属于一个迭代的过程),各个城市间连接路径上的信息素浓度需要进行实时更新。
下面给出信息素浓度更新公式。
其中,表示第k只蚂蚁在城市i与城市j连接路径上释放的信息素浓度;表示所有蚂蚁在城市i与城市j连接路径上释放的信息素浓度之和。
其中,Q为常数,表示蚂蚁循环一次所释放的信息素总量;Lk为第k只蚂蚁经过路径的长度。
综上所述,蚁群算法求解TSP问题的流程图如下所示
关于“大数据中蚁群算法的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。