終於寫完了,MFC版蟻群演算法 演示程式,挺好玩的
阿新 • • 發佈:2019-02-04
程式的特點
1 螞蟻能找到隱藏的很深的食物。
2 能增加螞蟻,減少螞蟻 ,設定螞蟻的IQ ,速度 ,記憶力。
3 隨時用滑鼠繪製障礙物,,滑鼠拖動放置食物,也可以讓螞蟻出洞之後,把它們的窩移到一邊,惡
搞一下,哈哈
這是 V1.0 版吧,不過有幾個問題沒有解決,各位幫我想想辦法
1 ,隨機數的生成,由於隨機數產生關係到螞蟻的走向,可是程式裡找不到合適的隨機數,
每個螞蟻用了一個後臺執行緒序來驅動,產生隨機數的時候,由於是用的srang(time(null)) rang()
這兩個函式,由時間做種子,各個執行緒序產生的隨機數幾乎相等,也就是說,螞蟻隨機走的時候,多數螞蟻的
走向竟然都一致,頭疼死我了,因為產生隨機數,大都用到的是公共資源,也就是說,多個執行緒讀到的內容大
體都相同,怎麼能讓每個執行緒有一個獨立的資料來源來產生隨機數呢,,,,大家在用程式的時候,多加幾個螞
蟻,到監視窗口出現,,,“螞蟻耍了小聰明” 的時候,程式對螞蟻的走向產生隨機繞動,,但是卻很失敗,
讓多數螞蟻的動作一致。
2 ,程式退出的時候,有時候會發生死鎖,不知道怎麼回事,有時候會發生,大多數情況下可成功退出。
今天晚上仔細 ,執行測試了一下,發現了不少 問題,明天在改一下吧。。
隨機數取的不好,螞蟻趨向於左上,右上,,
另外,當螞蟻周圍所有點都走過時,,有兩鍾走法,1 走可行的資訊素最高的,2 走最早走過的一點,,現在是選用的第二種,卻是不完善的,
大家看了多提提一下意見吧,謝謝謝謝
現在是 V1.4 版了,改了螞蟻的核心,大家多提提意見。