算法是人工智能技術(shù)的核心,大自然是人工智能算法的重要靈感來源。本書介紹了受到基因、鳥類、螞蟻、細(xì)胞和樹影響的算法,這些算法為多種類型的人工智能場景提供了實(shí)際解決方法。全書共10章,涉及種群、交叉和突變、遺傳算法、物種形成、粒子群優(yōu)化、蟻群優(yōu)化、細(xì)胞自動機(jī)、人工生命和建模等問題。書中所有算法均配以具體的數(shù)值計(jì)算來進(jìn)行講解,每章都配有程序示例,讀者可以自行嘗試。
1.實(shí)例講解易于理解的人工智能基礎(chǔ)算法:本書介紹了基于基因、鳥類、螞蟻、細(xì)胞和樹的算法,這些算法可用于查找最佳路徑、識別模式、查找數(shù)據(jù)背后的公式,甚至 模擬簡單的生命等;
2.豐富的示例代碼和在線資源,方便動手實(shí)踐與拓展學(xué)習(xí);
3.提供在線實(shí)驗(yàn)環(huán)境,源代碼下載;
4.全彩印刷。
5.《人工智能算法 卷2 受大自然啟發(fā)的算法》是系列圖書第二本,卷1《人工智能算法 卷1 基礎(chǔ)算法》已在人民郵電出版社出版;
大自然為人類的發(fā)明創(chuàng)造提供了源源不斷的靈感。本書介紹了一些在人工智能場景提供解決方案的算法,涉及交叉和突變、遺傳算法、粒子群優(yōu)化、細(xì)胞自動機(jī)等問題——它們無一不受到基因、鳥類、螞蟻、細(xì)胞或樹的啟發(fā)。雖然算法的靈感來源是大自然,但讀者不必具備生物學(xué)知識也能讀懂本書。
“人工智能算法”系列圖書的目標(biāo)讀者是那些對人工智能感興趣,但苦于沒有良好的數(shù)學(xué)基礎(chǔ)的人。讀者只需要對大學(xué)代數(shù)課程有基本了解即可,而微積分、線性代數(shù)、微分方程等課程中的復(fù)雜公式都會在必要時介紹。本書為讀者提供配套的示例程序代碼,目前已有Java、C#、Python和Scala版本。
[美] 杰弗瑞·希頓(Jeffery Heaton),一位活躍的技術(shù)博主、開源貢獻(xiàn)者,也是十多本圖書的作者。他的專業(yè)領(lǐng)域包括數(shù)據(jù)科學(xué)、預(yù)測建模、數(shù)據(jù)挖掘、大數(shù)據(jù)、商務(wù)智能和人工智能等。他擁有華盛頓大學(xué)信息管理學(xué)碩士學(xué)位,是IEEE的高級會員、Sun認(rèn)證Java程序員、開源機(jī)器學(xué)習(xí)框架Encog的首席開發(fā)人員。
第 1 章 種群、計(jì)分和選擇 1
1.1 理解種群 2
1.1.1 初始種群 3
1.1.2 種群成員之間的競爭 4
1.1.3 種群成員之間的合作 4
1.1.4 表型和基因型 5
1.1.5 島嶼種群 5
1.2 對種群計(jì)分 6
1.3 從種群中選擇 7
1.4 截斷選擇 8
1.5 聯(lián)賽選擇 9
1.6 如何選擇輪數(shù) 12
1.7 適應(yīng)度比例選擇 13
1.8 隨機(jī)遍歷抽樣 15
選擇一種選擇算法 17
1.9 本章小結(jié) 18
第 2 章 交叉和突變 20
2.1 演化算法 21
2.2 解編碼 22
2.3 交叉 23
2.3.1 拼接交叉 24
2.3.2 無重復(fù)拼接交叉 26
1
2.3.3 其他突變和交叉策略 27
2.4 突變 28
2.4.1 改組突變 29
2.4.2 擾動突變 31
2.5 為什么需要精英 33
2.6 本章小結(jié) 34
第 3 章 遺傳算法 35
3.1 離散問題的遺傳算法 35
3.1.1 旅行商問題 36
3.1.2 為旅行商問題設(shè)計(jì)遺傳算法 38
3.1.3 旅行商問題在遺傳算法中的應(yīng)用 40
3.2 連續(xù)問題的遺傳算法 42
3.3 遺傳算法的其他應(yīng)用 45
3.3.1 標(biāo)簽云 45
3.3.2 馬賽克藝術(shù) 47
3.4 本章小結(jié) 49
第 4 章 遺傳編程 50
4.1 程序作為樹 50
4.1.1 后綴表示法 52
4.1.2 樹表示法 54
4.1.3 終端節(jié)點(diǎn)和非終端節(jié)點(diǎn) 55
4.1.4 對樹求值 55
4.1.5 生成樹 58
2
4.1.6 滿樹初始化 59
4.1.7 生長樹初始化 61
4.1.8 混合初始化 62
4.1.9 蓄水池采樣 63
4.2 樹突變 67
4.3 樹交叉 68
4.4 擬合公式 70
4.5 本章小結(jié) 73
第 5 章 物種形成 75
5.1 物種形成實(shí)現(xiàn) 76
5.1.1 閾值物種形成 76
5.1.2 聚類物種形成 77
5.2 遺傳算法中的物種 79
5.3 遺傳編程中的物種 79
5.4 使用物種形成 80
5.5 本章小結(jié) 81
第 6 章 粒子群優(yōu)化 83
6.1 群聚 83
6.2 粒子群優(yōu)化 86
6.2.1 粒子 87
6.2.2 速度計(jì)算 88
6.2.3 實(shí)現(xiàn) 89
6.3 本章小結(jié) 91
3
第 7 章 蟻群優(yōu)化 93
7.1 離散蟻群優(yōu)化 95
7.1.1 ACO 初始化 97
7.1.2 螞蟻移動 98
7.1.3 信息素更新 102
7.2 連續(xù)蟻群優(yōu)化 103
7.2.1 初始候選解 106
7.2.2 螞蟻移動 106
7.3 本章小結(jié) 110
第 8 章 細(xì)胞自動機(jī) 111
8.1 基本細(xì)胞自動機(jī) 112
8.2 康威的《生命游戲》 116
8.2.1 《生命游戲》的規(guī)則 117
8.2.2 有趣的生命圖案 118
8.3 演化自己的細(xì)胞自動機(jī) 121
理解合并物理學(xué) 125
8.4 本章小結(jié) 129
第 9 章 人工生命 130
9.1 里程碑 1:繪制植物 131
9.2 里程碑 2:創(chuàng)建植物生長動畫 134
9.2.1 植物的物理特征 135
9.2.2 植物生長 138
4
9.3 里程碑 3:演化植物 140
給植物計(jì)分 141
9.4 本章小結(jié) 142
第 10 章 建!144
10.1 Kaggle 競賽 145
10.2 里程碑 1:整理數(shù)據(jù) 148
10.3 里程碑 2:建立模型 152
10.4 里程碑 3:提交測試回復(fù) 156
10.5 本章小結(jié) 157
附錄 A 示例代碼使用說明 159
參考資料 166