[問題] 基因演算法的問題

看板C_and_CPP (C/C++)作者 (幻滅)時間13年前 (2012/09/14 16:03), 編輯推噓8(8017)
留言25則, 5人參與, 最新討論串1/1
開發平台(Platform): VC++ 問題(Question): 最近在練習寫基因演算法,今天已經完成大半部份了,可是卻在突變後出現了一點問題 就是我的"最佳基因"原本是取每次計算完適應值最大的 可是有時候在突變後"最佳基因"會突然的被適應值比她小的替換掉 程式碼(Code):http://ideone.com/9L6MS EX:像是上方網頁中一樣 在一開始初始化完畢後 "最佳基因的適應值"原本是取得最大的240 可是在突變完後的第三個點 他卻變成了84 可是我在突變那邊也只有寫 當現在的適應值大於最佳基因的適應值時 才會將最佳基因給取代掉,我找了很久找不出原因,希望有大大可以幫忙看一下 謝謝。 補充說明: 因為我是一段一段慢慢寫的 所以寫了一堆輸出 以方便我自己檢查有哪一部分出錯,之後當我全部完全無誤時才會將那些cout全部都砍掉 留最後的結果 所以會有點礙眼 但還是希望大家免強幫我看一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.236.131

09/14 16:10, , 1F
ps.原po可以學著用debug輸出...
09/14 16:10, 1F

09/14 16:14, , 2F
請問debug輸出是?因為我是剛用VisualStudio還不太熟..
09/14 16:14, 2F

09/14 16:15, , 3F
呼叫e大出來!我記得他blog有一篇教學
09/14 16:15, 3F

09/14 16:16, , 4F
VS的debug超強啊!
09/14 16:16, 4F

09/14 16:38, , 5F
關於debug輸出 我會再去找資料看看 還是希望有人可以幫
09/14 16:38, 5F

09/14 16:38, , 6F
我看一下 我錯在哪 因為我還找滿久的..
09/14 16:38, 6F

09/14 16:51, , 7F
best_gene 指向的記憶體可能會被突變
09/14 16:51, 7F

09/14 16:56, , 8F

09/14 17:55, , 9F
感謝樓上幫忙解答 可是為什麼best_gene的記憶體
09/14 17:55, 9F

09/14 17:55, , 10F
有時候會被突變 有時候卻不會呢?
09/14 17:55, 10F

09/14 18:47, , 11F
因為本來就不一定會突變 @@
09/14 18:47, 11F

09/14 19:23, , 12F
這份架構.. 還真的和小弟第一版的架構頗像..
09/14 19:23, 12F

09/14 19:24, , 13F
gbest 是用來紀錄「從以前到現在」演化過「最佳」的染色體
09/14 19:24, 13F

09/14 19:24, , 14F
會用這個global是因為實作結果,有可能最好的值在演化過程
09/14 19:24, 14F

09/14 19:25, , 15F
中被洗掉,使得曾找到的best消失,所以它不一定會一直改變,
09/14 19:25, 15F

09/14 19:25, , 16F
但必須保證它改變的時候是變得更好,不會變差,如此而已。
09/14 19:25, 16F

09/14 19:40, , 17F
vc debug 初學技巧 : http://0rz.tw/ArnF7
09/14 19:40, 17F

09/14 19:41, , 18F
09/14 19:41, 18F

09/14 19:42, , 19F
ga source 我沒寫很好,但重點是 reply 我覺得蠻值得看的。
09/14 19:42, 19F

09/14 20:40, , 20F
E大呼叫成功!
09/14 20:40, 20F

09/15 02:55, , 21F
大推E大網誌啊!!!
09/15 02:55, 21F

09/16 20:09, , 22F
感謝大為大大的幫忙 謝謝
09/16 20:09, 22F

09/16 20:10, , 23F
我這份就是看E大的網誌來做修改的
09/16 20:10, 23F

09/16 20:11, , 24F
因為我沒學過C的語法 所以有些沒看過的我就用C++來修改
09/16 20:11, 24F

09/16 20:11, , 25F
希望E大不會介意
09/16 20:11, 25F
文章代碼(AID): #1GKkJdGC (C_and_CPP)
文章代碼(AID): #1GKkJdGC (C_and_CPP)