AI人工智能 遺傳算法

2020-09-24 11:16 更新

本章詳細討論 AI 的遺傳算法。

什么是遺傳算法?

遺傳算法(GA)是基于自然選擇和遺傳學(xué)概念的基于搜索的算法。遺傳算法是稱為進化計算的更大分支的一個子集。

GAs 由 John Holland 及其在密歇根大學(xué)的學(xué)生和同事開發(fā),最著名的是 David E.Goldberg。自那以來,它一直在嘗試各種優(yōu)化問題并取得了很高的成功。

在 GAs 中,我們?yōu)榻o定問題提供了一系列可能的解決方案。這些解決方案然后經(jīng)歷重組和突變(如在自然遺傳學(xué)中),產(chǎn)生新的兒童,并且該過程在各代重復(fù)。每個個體(或候選解決方案)都被分配一個適應(yīng)值(基于其目標函數(shù)值),并且適合者個體被賦予更高的配偶并產(chǎn)生更適合個體的機會。這符合達爾文適者生存理論。

因此,它不斷發(fā)展更好的個人或解決方案,直到達到停止標準。

遺傳算法在本質(zhì)上具有充分的隨機性,但它們比隨機局部搜索(我們只是嘗試隨機解決方案,追蹤迄今為止最好的)的性能好得多,因為它們也在利用歷史信息。

如何使用遺傳算法優(yōu)化問題?

優(yōu)化是使設(shè)計,狀況,資源和系統(tǒng)盡可能有效。 以下框圖顯示了優(yōu)化過程 -

img

GA 機制優(yōu)化過程的階段

以下是用于優(yōu)化問題的 GA 機制的一系列步驟。

  • 第1步 - 隨機生成初始群體。
  • 第2步 - 選擇具有最佳適應(yīng)值的初始解決方案。
  • 第3步 - 使用變異和交叉算子重組選定的解決方案。
  • 第4步 - 將后代插入群體。
  • 第5步 - 現(xiàn)在,如果停止條件得到滿足,則返回具有最佳適應(yīng)值的解。 否則,請轉(zhuǎn)到第2步。

安裝必要的軟件包

要在 Python 中使用遺傳算法來解決這個問題,我們將使用一個稱為 DEAP 的功能強大的 GA 包。 它是用于快速建立原型和測試思想的新型演化計算框架庫。在命令提示符下使用以下命令來安裝此軟件包 -

pip install deap

如果您使用的是anaconda環(huán)境,則可以使用以下命令安裝 deap -

conda install -c conda-forge deap
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號