智能算法的研究与实现
目前計算機中的搜索算法有哪些?
深度優先,廣度優先(源自于數據結構)
窮舉法(列出所有可能),回溯法(深度優先思想加上返回式搜索)源自于算法設計與分析
爬山法,模擬退火,遺傳算法(智能化算法)都是一些自適應的隨機搜索算法,(有點類似于不確定性算法,也是一些啟發式算法(另外蟻群算法也是啟發式算法)
梯度下降算法(源自于最優化理論)
前期補充材料:請參考http://blog.csdn.net/emiyasstar__/article/details/6938608
遺傳算法該如何理解
從啟發式的角度去理解更容易:
?遺傳算法參照達爾文的進化論,認為物種都是向好的方向去發展(適者生存),因此可以認為到足夠的代數之后,得到的最值可實際的最值很接近。
遺傳算法主要包括了三種自然進化操作(各種書籍不盡統一)選擇,交叉,變異。
選擇(復制):從前代種群中不斷選擇2個較優個體,讓這些較優個體(父母)將它們的基因傳遞到下一代。
交叉:兩個待交叉的不同的染色體(父母)根據交叉概率(cross_rate)按某種方式交換其部分基因。(體現了自然界中群體內個體個體之間的信息交換)
變異:染色體按照變異概率進行染色體的變異。(在群體中引入新的變種確保群體中信息的多樣性)
遺傳算法步驟流程
????(1) 用固定長度的染色體表示問題變量域,選擇染色體種群數量為N,交叉概率為C,突變概率為M?
(2) 定義適應性函數來衡量問題域上單個染色體的性能或適應性。適應性函數是在繁殖過程中選擇配對染色體的基礎。?
(3) 隨機產生一個大小為N的染色體的種群。?
(4) 計算每個染色體的適應性。?
(5) 在當前種群中選擇一對染色體。雙親染色體被選擇的概率和其適應性有關。適應性高的染色體被選中的概率高于適應性低的染色體。?
(6) 通過執行遺傳操作——交叉和突變產生一對后代染色體。?
(7) 將后代染色體放入新種群中。?
(8) 重復步驟5,直到新染色體種群的大小等于初始種群的大小N為止。?
(9) 用新(后代)染色體種群取代初始(雙親)染色體種群。?
(10) 回到步驟4,重復這個過程直到滿足終止條件為止。
爬山法該如何理解
就是找到一個山坡,就不在尋找了,它覺得左邊和右邊都比較小,它認為這就是最高峰,所以可能進入局部最優。
?
?
模擬退火算法的理解
通過一定的概率跳過局部最優,最終可能會進入最高峰,必須多次試驗,程序多次運行。
轉載于:https://blog.51cto.com/1464490021/1915361
總結
以上是生活随笔為你收集整理的智能算法的研究与实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟机安装的ubuntu不能联网解决
- 下一篇: 利用python脚本(re)抓取美空mm