终于写完了,MFC版蚁群算法 演示程序,挺好玩的
终于写完了,MFC版蚁群算法 演示程序,挺好玩的
在这里可以下载到,精神恍惚了一个星期 ,终于写完了,真是高兴啊,挺好玩的,
http://www.0635jj.com/蚁群算法 MFC版演示程序.exe
程序的特点
1 蚂蚁能找到隐藏的很深的食物。
2 能增加蚂蚁,减少蚂蚁 ,设置蚂蚁的IQ ,速度 ,记忆力
3 随时用鼠标绘制障碍物,,鼠标拖动放置食物,也可以让蚂蚁出洞只后,把它们的窝移到一边,恶搞一下,哈哈
这是 V1.0 版吧,哈哈,不过有几个问题没有解决,各位帮我想想办法
1 ,随机数的生成,由于随机数产生关系到蚂蚁的走向,可是程序里找不到合适的随机数,
每个蚂蚁用了一个后台线程序来驱动,产生随机数的时候,由于是用的srang(time(null)) rang() 这两个函数,由时间做种子,各个线程序产生的随机数几乎相等,也就是说,蚂蚁随机走的时候,多数蚂蚁的走向竟然都一致,头疼死我了,因为产生随机数,大都用到的是公共资源,也就是说,多个线程读到的内容大体都相同,怎么能让每个线程有一个独立的数据源来产生随机数呢,,,,大家在用程序的时候,多加几个蚂蚁,到监视窗口出现,,,“蚂蚁耍了小聪明” 的时候,程序对蚂蚁的走向产生随机绕动,,但是却很失败,让多数蚂蚁的动作一致。
2 ,程序退出的时候,有时候会发生死锁,不知道怎么回事,有时候会发生,大多数情况下可成功退出。
[解决办法]
这一定要顶,楼主辛苦了!
[解决办法]
下不了,有代码吗
[解决办法]
还没弄明白。。。
[解决办法]
真智能 !
[解决办法]
运行不了
[解决办法]
“每个蚂蚁用了一个后台线程序来驱动”
我觉得这样可能太耗费资源了,弄一个数组或list之类的数据结构可能就可以了
srand函数只在程序启动时运行一次就够了
[解决办法]
没源代码,怎么研究阿
[解决办法]
由于是用的srang(time(null)) rang() 这两个函数,由时间做种子,各个线程序产生的随机数几乎相等
srand这个函数只要在程序开始的地方执行一次就可以了。