一种基于统计的TSP贪婪算法(2)
现在我们可以对每条边求它的平均长度:
M(ab)=(33+36)/2=34.5
M(ac)=(36+19)/2=27.5
M(ad)=(33+19)/2=26
M(bc)=(33+19)/2=26
M(bd)=(36+19)/2=27.5
M(cd)=(33+36)/2=34.5
以每条边的平均长度作为贪婪算法的指数,平均长度越小,那它也越有可能成为最短回路里的边.
我们可以很快算出最短回路是ACBD.
但为了计算每条边的平均长度,整个算法的复杂度还是O(n!),那我们如何解决这个问题呢?
4数理统计
相象一下如果你有1000个苹果,现在要你计算这些苹果的平均重量即计算苹果总重量/苹果个数。
我们当然可以把每个苹果都计算一次,但更好的办法是我们可以随机选出20个苹果,然后计算一下这20个苹果的平均重量,根据数理统计学原理,我们可以知道我们计算出的苹果平均重量会和真实的苹果平均重量非常接近,有兴趣的读者可以去计算一下。
根据以上的原理,我们的边平均长度算法如下:
1)随机选取k个回路(k的大小随n变化而变)。
(下转第8328页)
(上接第8326页)
2)以这k个回路的数据计算出每条边的平均长度。
3)以每条边的平均长度作为贪婪算法的指标值,计算出回路。
下面我们以一个实际的例子,来计算出该图的最短回路
如图2所示,我们随机取六次路径:NBACDNCBDANADBCNBDACNACBDNCDBA.
根据这六次取样,我们可以估算出每条边的平均长度:
M(ab)=28.15M(ac)=26.14M(ad)=25.06M(an)=27.36
M(bc)=27.15M(bd)=26.28M(bn)=25.11M(cd)=28.15
M(cn)=25.80M(dn)=28.24
根据贪婪算法,我们可以马上得出最短路径为:NCADB
S(NCADB)=21.93
5结束语
该方法在实际运用中,有简单实用效率高等特点,特别在欧几里德空间里,效果尤其明显.对一个N-完全图,当N越大时,该算法效率尤其高,具体原因在这里就不展开讨论,有兴趣的读者可以查找资料加以研究。
以数理统计的方法来解决TSP问题,是一种很有趣的尝试,是对传统算法的一种补充和拓展.我们相信,随着研究的深入,数理化方法一定会有很大的前景,尤其是当前其他方法没重大进展的时候.
参考文献:
[1]TravelOptimizationbyForagingBumblebeesthroughReadjustmentsofTraplinesafterDiscoveyofNewFeedingLocations[J].THEAMERICANNATURALIST,2010,176(6).
[2]HowtoSolveIt:ModernHeuristicsZhigniewMichalewiczDavidB.Fogel[Z].
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ:
蒋老师联系QQ:
刘老师联系QQ:
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com


