編輯推薦
遺傳算法常常用於解決非常復雜的真實世界問題。
本書是學習如何利用遺傳算法來解決問題的入門指南,書中包含瞭Java語言編寫的、能運行的項目和解決方案。本書引導讀者一步一步地實現各種遺傳算法及一些常見應用場景,幫助讀者在實踐中加深理解,從而能夠解決自己獨特的問題。本書首先介紹瞭基本概念,並在隨後的章節中添加瞭機器人控製、旅行商問題等例子,展示瞭實現遺傳算法的更多知識技能。
通過閱讀本書,你將熟悉遺傳算法與編程語言相關的問題和概念,掌握構建自己的算法所需的全部知識,並且將獲得用遺傳算法解決問題的能力。請拿起本書,進入遺傳算法這個迷人的領域,看看真正能工作的Java代碼,並運用於你自己的項目和研究中。
本書具有以下特色:
● 引導學習遺傳算法背後的理論;
● 解釋軟件開發者如何利用遺傳算法來嘗試解決一些問題;
● 通過簡單易行的步驟,提供用Java實現遺傳算法的詳細指導。
內容簡介
當前,機器學習領域已經變得越來越流行,而遺傳算法是機器學習的一個重要子集。
本書簡單、直接地介紹瞭遺傳算法,並且針對所討論的示例問題,給齣瞭Java代碼的算法實現。全書共分災6章。第1章簡單介紹瞭人工智能和生物進化的知識背景,這也是遺傳算法的曆史知識背景。第2章給齣瞭一個基本遺傳算法的實現;第4章和第5章,分彆針對機器人控製器、旅行商問題、排課問題展開分析和討論,並給齣瞭算法實現。在這些章的末尾,還給齣瞭一些練習供讀者深入學習和實踐。第6章專門討論瞭各種算法的優化問題。
本書適閤機器學習愛好者閱讀,尤其適閤對遺傳算法的理論和實現感興趣的讀者閱讀參考。
作者簡介
Lee Jacobson來自英國布裏斯托爾,是一名專業的自由職業軟件開發者。在大學期間學習瞭遺傳算法和其他優化技術後,他對這個主題産生瞭強烈的興趣。
Burak Kanber是土生土長的紐約人,他擁有機械工程的學士學位和碩士學位,專注於控製係統、機器人技術、汽車工程和混閤動力汽車係統工程。但是,軟件一直是他終身的愛好,貫穿著Burak整個生命。
目錄
目錄
第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
Java遺傳算法編程 下載 mobi epub pdf txt 電子書