[英]Why is my genetic algorithm not converging?
我正在嘗試編寫一個程序來使用遺傳算法找到具有 n 個輸入和 n 個輸出的最佳組合電路。 該代碼有效,但沒有找到最佳解決方案。 該算法只是采用“好的”解決方案並嘗試隨機修改它以獲得更好的解決方案。 我的問題是,我的方法是錯誤的(不應該如此隨機)還是我的代碼在邏輯上是錯誤的?
Git 存儲庫: https : //github.com/Umuril/Genetic-Circuits
PS:我只需要看看代碼。 代碼是“注釋”的,運行只需要: cd "dir"; make; ./Genetic.out
cd "dir"; make; ./Genetic.out
一般來說,進化算法不保證它們的響應是最好的,而是找到一個好的解決方案。 您可以先通過您的 GA 找到一個好的解決方案,然后在您的解決方案鄰域中使用本地搜索。
也許模因算法可以幫助你。 https://en.wikipedia.org/wiki/Memetic_algorithm
該算法不會自行停止。 當它必須停止時,您必須設置一些限制,從而為您提供最佳解決方案。 以下是 3 種最常見的停止方法:
使用所有的組合以獲得更好的結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.