內容介紹 | |
開本:16開 紙張:膠版紙 包裝:平裝-膠訂 是否套裝:否 國際標準書號ISBN:9787302516057 作者:[美] 出版社:清華大學出版社 出版時間:2019年04月 
" 內容簡介 進化算法是一種人工智能.自然界中觀察到的諸如自然選擇、物種遷移、鳥群、人類文化、和蟻群等優化過程啟發我們開發出進化算法. 本書討論進化優化算法的理論、歷史、數學和編程.主要包括遺傳算法、遺傳規劃、蟻群優化、粒子群優化、差分進化、基於生物地理學優化以及其他多種算法. 以一種直觀但理論上嚴謹的方式介紹進化算法,同時重視算法的實施. 仔細討論了較新的進化算法,包括反向學習、人工魚群、細菌覓食以及其他多種算法. 每章都配有練習題,教師可以在線獲得習題答案. 借助簡單的例子幫助讀者直觀理解理論. 從作者的網頁上可以得到主要的源代碼. 介紹分析進化算法的數學技巧,包括馬爾可夫建模和動態繫統建模. 本書適合作為高年級本科生和研究生的教材, 對工程和計算機科學領域的研究人員也大有裨益. 作者簡介 本書以一種直觀但理論上嚴謹的方式介紹進化優化算法的理論、歷史、數學和編程,同時重視算法的實施.主要包括遺傳算法、遺傳規劃、蟻群優化、粒子群優化、差分進化、基於生物地理學優化以及其他多種算法. 目錄 篇進化優化引論 第 1章緒論 你且問走獸,走獸必指教你;又問空中的飛鳥 ,飛鳥必告訴你;或與地說話 ,地必指教你,海中的魚也必向你說明.約伯記 12:7-9 本書討論求解優化問題的方法 .特別地 ,我們 1討論用於優化的進化算法 .本書包括一些數學理論,但不應該把它看成是數學課本.它更多的是一本關於工程或應用於計算機科學的書.本書中所有優化方法都為了終能用軟件實現.本書旨在以清楚但又嚴格的方式介紹進化優化算法 ,同時為讀者提供足夠先進的材料和參考文獻 ,讓他們準備好為進化算法添磚加瓦. 本章概覽 本章在 1.1節概述本書用到的術語 .在 19頁的縮寫詞表可能對讀者有用 . 1.2節說明我為何決定撰寫這本關於進化算法的書 ,希望它能達到的目標 ,以及與已有的進化算法專著的不同之處 . 1.3節討論讀者需要先修的課程 . 1.4節討論布置習題的理念 ,以及如何得到習題答案 . 1.5節總結本書用到的數學符號 .讀者在遇到不熟悉的符號時要記得回到這一節 ,在寫家庭作業和做研究時也會用到這一節 . 1.6節概述本書 . 1.7節為采用本書開課的教師提供了一些重要的忠告 .這一節還就各章的重要性為教師提出了一些建議. 1.1術語 一些作者稱進化算法為進化計算 .這樣能強調進化算法需要在計算機上實施 .但進化計算也可能指不用於優化的算法 ;例如 ,初的遺傳算法並不是用於優化本身 ,而是想用來研究自然選擇的過程 (參見第 3章).本書針對的是進化優化算法 ,它比進化計算更具體. 另外一些人稱進化算法為基於種群的優化 .它強調進化算法一般是讓問題的候選解種群隨著時間的進化以得到問題的更好的解.然而,許多進化算法每次迭代隻有單個候選篇進化優化引論 第 1章緒論 你且問走獸,走獸必指教你;又問空中的飛鳥 ,飛鳥必告訴你;或與地說話 ,地必指教你,海中的魚也必向你說明.約伯記 12:7-9 本書討論求解優化問題的方法 .特別地 ,我們 1討論用於優化的進化算法 .本書包括一些數學理論,但不應該把它看成是數學課本.它更多的是一本關於工程或應用於計算機科學的書.本書中所有優化方法都為了終能用軟件實現.本書旨在以清楚但又嚴格的方式介紹進化優化算法 ,同時為讀者提供足夠先進的材料和參考文獻 ,讓他們準備好為進化算法添磚加瓦. 本章概覽 本章在 1.1節概述本書用到的術語 .在 19頁的縮寫詞表可能對讀者有用 . 1.2節說明我為何決定撰寫這本關於進化算法的書 ,希望它能達到的目標 ,以及與已有的進化算法專著的不同之處 . 1.3節討論讀者需要先修的課程 . 1.4節討論布置習題的理念 ,以及如何得到習題答案 . 1.5節總結本書用到的數學符號 .讀者在遇到不熟悉的符號時要記得回到這一節 ,在寫家庭作業和做研究時也會用到這一節 . 1.6節概述本書 . 1.7節為采用本書開課的教師提供了一些重要的忠告 .這一節還就各章的重要性為教師提出了一些建議. 1.1術語 一些作者稱進化算法為進化計算 .這樣能強調進化算法需要在計算機上實施 .但進化計算也可能指不用於優化的算法 ;例如 ,初的遺傳算法並不是用於優化本身 ,而是想用來研究自然選擇的過程 (參見第 3章).本書針對的是進化優化算法 ,它比進化計算更具體. 另外一些人稱進化算法為基於種群的優化 .它強調進化算法一般是讓問題的候選解種群隨著時間的進化以得到問題的更好的解.然而,許多進化算法每次迭代隻有單個候選 1本書采用常見的做法 ,我們這個詞一般代指第三人 .有時候也用我們代指讀者和作者 .在其他時候 ,我們代表在進化算法和優化領域裡的教師和研究人員 .由上下文可以清楚區分其具體含義 .對我們這個詞的使用無須過分解讀 ;它隻是一種書寫風格並非要顯示權威 . 4第 1章緒論 解 (例如 ,爬山法和進化策略 ).進化算法比基於種群的優化更一般化 ,因為進化算法還包括單一個體的算法. 一些作者稱進化算法為計算機智能或計算智能 .這樣做常常是為了區分進化算法與專家繫統 ,在傳統上專家繫統一直被稱為人工智能 .專家繫統模仿演繹推理 ,進化算法則模仿歸納推理 .進化算法有時候也被看成是人工智能的一種 .計算機智能是比進化算法更一般的詞 ,它包括像神經網絡、模糊繫統 ,以及人工生命這樣的一些技術 .這些技術可應用於優化之外的問題 .所以 ,從不同的角度看 ,進化算法可能比計算機智能更一般化或更具體. 軟計算是與進化算法有關的另一個詞 .軟計算與硬計算相對 .硬計算指的是準確的、精確的、數值上嚴格的計算 .軟計算指的是不太準確的計算 ,比如人們在日常生活中的表現.軟計算的算法針對那些困難的、帶噪聲的、多峰的和多目標的問題 ,計算出總體上還不錯 (但不準確)的解.所以,進化算法是軟計算的一個子集. 其他作者稱進化算法為由自然啟發的計算或仿生計算 .像差分進化和分布估計算法這些進化算法可能並非源於自然 .像進化策略和反向學習這些進化算法與自然過程聯繫甚微.進化算法比由自然啟發的算法更一般化,因為進化算法包括非仿生算法. 進化算法還常常被稱為機器學習.機器學習研究由經驗學到的計算機算法.但這個領域經常包括很多不是進化算法的算法 .一般認為機器學習比進化算法更廣 ,包括強化學習、神經網絡、分簇、支持向量機以及其他方法 . 一些作者喜歡將進化算法稱為啟發式算法 .啟發式來自 ηνρισκω這個希臘文的單詞,在英語中它譯作 eurisko.這個詞的意思是找到 (.nd)或發現 (discovery).英語中的感嘆詞 eureka也來自這個詞 ,當我們有新的發現或解決了一個問題時 ,用eureka來表示勝利 .啟發式算法是利用經驗法則或常識來解決問題的方法 .我們通常不會期望啟發式算法能找到問題的好答案 ,隻會期望它能找到與解“足夠接近”的啟發式這個詞被用來描述一繫列啟發式算法 .本書討論的進化算法 ,如果不是全部 ,其中的絕大多數也都可以用不同方式在許多不同的選項和參數下實施 .所以 ,它們都可啟發式 .例如 ,所有蟻群優化的一繫列算法就可以稱啟發式. 大多數作者把進化算法與群智能算法區別開來 .群智能算法以自然中的群 (例如 ,蟻群或鳥群 )為基礎 .蟻群優化 (第 10章)和粒子群優化 (第 11章)是兩個突出的群智能算法 ,許多研究人員堅持認為它們不應該被歸為進化算法 .一些作者則認為群智能算法是進化算法的一個子集 .例如 ,粒子群優化的一位發明者將它稱為進化算法 [Shi and Eberhart, 1999].因為群智能算法與進化算法有相同的執行方式 ,即,每次迭代都改進問題的候選解的性能從而讓解的種群進化 ,因此我們認為群智能算法是一種進化算法. 雖然術語不夠確切且與上下文相關 ,但在本書中進化算法指的是經過多次迭代讓問題的解進化的算法 .按照進化算法的生物學基礎 ,它的一次迭代通常被稱為代.不過進化算法的這個簡單定義並不完美 ,舉例來說 ,這個定義暗示梯度下降法也是一個進化算法 ,但沒有誰會認可這個說法 .所以 ,在進化算法領域中術語的不統一會讓人困惑 .一個算法是進化算法如果它通常被認為是進化算法 ,我們采用這個戲謔的定義 .這個循環定義一開 1.3先修課程 5 始有些麻煩 ,但一段時間之後 ,像我們這樣在這個領域工作的人就習慣了 .自然選擇被定義為適者生存,而適者被定義為有可能的存活者. 1.2又一本關於進化算法的書 關於進化算法已有許多好書 ,這就提出了一個問題 :為什麼又要寫一本關於進化算法的書呢 ?撰寫本書的原因是想提供一種教學的方法、觀點和素材 ,其他書都沒有這些內容.特別地,作者希望本書能夠提供: . 一種直截了當自下而上的方法 ,它能協助讀者清楚理解書中講述的進化算法 ,這種理解在理論上也是嚴格的 .許多書在討論進化算法的變種時像菜譜一樣完全沒有理論上的支撐 .其他書讀起來更像研究專著而不是課本 ,學工程的普通學生不能完全理解 .本書嘗試通過易於實現的算法 ,連同一些嚴格的理論以及有關折中的討論來獲得一個平衡. . 書中的簡單例子讓讀者能夠直觀地理解進化算法的數學、方程和理論 .很多書介紹進化算法的理論 ,然後給出的例子或問題卻並不適合直觀理解 .其實 ,完全有可能給出一些隻需要紙和筆就能求解的簡單例子和問題 .這些簡單的問題能讓學生更直接地看到理論在實踐中的作用. .從作者的網址 1能得到書中所有例子的基於 MATLAB.的源代碼 .別的課本也提供源代碼 ,但它們常常不完整或已經過時 ,這會令讀者困惑 .那個網址上還有作者的電郵地址 ,作者熱烈歡迎讀者的反饋、評論、改進意見和糾錯 .當然 ,網頁地址會過時 ,本書中算法的偽代碼清單比任何具體的軟件清單更長久 .注意 ,書中的例子和 MATLAB代碼並不是高效的或有競爭力的優化算法 ;隻是為了讓讀者理解算法的基本概念.嚴肅的研究或應用應該隻在初的時候依賴樣本代碼. . 本書包括在大多數課本中沒有的理論以及近開發的進化算法 .它們包括進化算法的馬爾可夫理論模型、進化算法的動態繫統模型、人工蜂群算法、基於生物地理學的優化、反向學習、人工魚群算法、混合蛙跳、細菌覓食優化和其他算法 .這些主題是對現狀的補充 ,把它們放入書中不是想要與其他書一分高下 .不過 ,本書也不是要調查有關進化算法研究的各方面現狀 .本書旨在就進化算法研究的許多領域做一個高層次的概述以幫助讀者全面理解進化算法 ,並讓讀者對現狀有一個良好的定位以便從事進一步的研究. ……
| | |