AI人工智能 遺傳算法

2020-09-24 11:16 更新

本章詳細(xì)討論 AI 的遺傳算法。

什么是遺傳算法?

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

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

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

因此,它不斷發(fā)展更好的個(gè)人或解決方案,直到達(dá)到停止標(biāo)準(zhǔn)。

遺傳算法在本質(zhì)上具有充分的隨機(jī)性,但它們比隨機(jī)局部搜索(我們只是嘗試隨機(jī)解決方案,追蹤迄今為止最好的)的性能好得多,因?yàn)樗鼈円苍诶脷v史信息。

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

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

img

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

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

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

安裝必要的軟件包

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

pip install deap

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)