Java 遺傳算法編程 (Genetic Algorithms in Java Basics)

雅各布森 (Lee Jacobson), 坎貝爾 (Burak Kanber)

買這商品的人也買了...

商品描述

<內容簡介>

當前,機器學習領域已經變得越來越流行,而遺傳算法是機器學習的一個重要子集。
本書簡單、直接地介紹了遺傳算法,並且針對所討論的示例問題,給出了Java代碼的算法實現。全書共分災6章。第1章簡單介紹了人工智能和生物進化的知識背景,這也是遺傳算法的歷史知識背景。第2章給出了一個基本遺傳算法的實現;第4章和第5章,分別針對機器人控制器、旅行商問題、排課問題展開分析和討論,並給出了算法實現。在這些章的末尾,還給出了一些練習供讀者深入學習和實踐。第6章專門討論了各種算法的優化問題。
本書適合機器學習愛好者閱讀,尤其適合對遺傳算法的理論和實現感興趣的讀者閱讀參考。

<章節目錄>

第1章簡介1
1.1什麼是人工智能2
1.2生物學類比3
1.3進化計算的歷史4
1.4進化計算的優勢5
1.5生物進化7
生物進化的一個實例8
1.6基本術語10
術語10
1.7搜索空間11
1.7 .1適應度景觀12
1.7.2局部最優14
1.8參數17
1.8.1變異率17
1.8.2種群規模18
1.8.3交叉率19
1.9基因表示19
1.10終止20
1.11搜索過程20
1.12參考文獻22
第2章實現一個基本遺傳算法23
2.1實現之前23
2.2基本遺傳算法的偽代碼24
2.3關於本書的代碼示例25
2.4基本實現26
2.4.1問題27
2.4.2參數27
2.4.3初始化29
2.4.4評估35
2.4.5終止檢查38
2.4.6交叉41
2.5輪盤賭選擇41
2.6交叉方法42
2.7交叉偽代碼43
2.8交叉實現44
2.8.1精英主義48
2.8.2變異50
2.8.3執行53
2.9小結55
2.10練習56
第3章機器人控制器57
3.1簡介57
3.2問題58
3.3實現59
3.3.1開始之前59
3.3.2編碼60
3.3.3初始化64
3.3.4評估73
3.3.5終止檢查87
3.3.6選擇方法和交叉91
3.4錦標賽選擇91
3.5單點交叉93
執行99
3.6小結101
3.7練習102
第4章旅行商103
4.1簡介103
4.2問題105
4.3實現106
4.3.1開始之前106
4.3.2編碼106
4.3. 3初始化107
4.3.4評估111
4.3.5終止檢查117
4.3.6交叉118
4.3.7變異124
4.3.8執行126
4.4小結131
4.5練習132
第5章排課134
5.1簡介134
5.2問題135
5.3實現136
5.3.1開始之前137
5.3.2編碼137
5.3.3初始化138
5.3.4執行類158
5.3.5評估167
5.3.6終止169
5.3.7變異172
5.3.8執行174
5.4分析和改進179
5.5小結182
5.6練習182
第6章優化183
6.1自適應遺傳算法183
6.1.1實現184
6.1.2練習188
6.2多次啟發188
6.2.1實現189
6.2.2練習190
6.3性能改進191
6.3.1適應度函數設計191
6.3.2並行處理191
6.3.3適應度值散列193
6.3.4編碼197
6.3.5變異和交叉方法197
6.4小結198