1. 程式人生 > >終於寫完了,MFC版蟻群演算法 演示程式,挺好玩的

終於寫完了,MFC版蟻群演算法 演示程式,挺好玩的

    程式的特點


        1 螞蟻能找到隱藏的很深的食物。

        2 能增加螞蟻,減少螞蟻 ,設定螞蟻的IQ  ,速度 ,記憶力。

        3 隨時用滑鼠繪製障礙物,,滑鼠拖動放置食物,也可以讓螞蟻出洞之後,把它們的窩移到一邊,惡

搞一下,哈哈

      這是 V1.0 版吧,不過有幾個問題沒有解決,各位幫我想想辦法

     1 ,隨機數的生成,由於隨機數產生關係到螞蟻的走向,可是程式裡找不到合適的隨機數,
        每個螞蟻用了一個後臺執行緒序來驅動,產生隨機數的時候,由於是用的srang(time(null))  rang() 

這兩個函式,由時間做種子,各個執行緒序產生的隨機數幾乎相等,也就是說,螞蟻隨機走的時候,多數螞蟻的

走向竟然都一致,頭疼死我了,因為產生隨機數,大都用到的是公共資源,也就是說,多個執行緒讀到的內容大

體都相同,怎麼能讓每個執行緒有一個獨立的資料來源來產生隨機數呢,,,,大家在用程式的時候,多加幾個螞

蟻,到監視窗口出現,,,“螞蟻耍了小聰明” 的時候,程式對螞蟻的走向產生隨機繞動,,但是卻很失敗,

讓多數螞蟻的動作一致。

     2 ,程式退出的時候,有時候會發生死鎖,不知道怎麼回事,有時候會發生,大多數情況下可成功退出。

今天晚上仔細 ,執行測試了一下,發現了不少 問題,明天在改一下吧。。

隨機數取的不好,螞蟻趨向於左上,右上,,

另外,當螞蟻周圍所有點都走過時,,有兩鍾走法,1 走可行的資訊素最高的,2 走最早走過的一點,,現在是選用的第二種,卻是不完善的,

大家看了多提提一下意見吧,謝謝謝謝

現在是 V1.4 版了,改了螞蟻的核心,大家多提提意見。