進化規劃演算法

2021-07-30 21:54:39 字數 2106 閱讀 9894

ep 是 l. j. fogel 於20世紀60年代在人工智慧研究中提出的一種有限狀態機進化模型,在此模型中機器的狀態基於分布的規律進行編譯。d. b. fogel 在90年代拓廣了 ep 思想,使它可處理實數空間的優化問題,並在變異運算中引入了正態分佈變異運算元,這樣 ep 就變成了一種優化搜尋工具,並在很多實際問題中得到了應用。

ep 模擬生物種群層次上的進化,因此在進化過程中主要強調生物種群行為上的聯絡,即強調種群層次上的行為進化而建立父、子代間的行為鏈,意味著好的子代才有資格生存,而無論其父代如何,適於選擇子代。

初始化(個體表現型x, 群體規模n, 迭代次數g等)

隨機產生初始群體並計算適應值(含n 個個體)

while (not done)

從2n 個個體中選擇n 個個體 (採用q-競爭演算法)

} 輸出結果

①個體表現型x : x = (x1, x2, ┉┉ ,xn, σ1,σ2, ┉┉ σn),其中x1 ┉┉ xn為個體表現的分量,σ1 ┉┉ σn為個體表現分量的變異引數;

②群體規模n : 為改演算法中包含的個體數;

③隨機產生初始群體 : 在個體表現型x中對於個體 xi 初始化為再該分量中範圍內隨機取值,σi 根據 n(0, 1)產生,並計算該個體的適應值;

④對 xi 進行變異得到 xi『  : 可根據如下公式進行變異;

①個體變異不成功: 可採用三種方法:(1)重新變異直至可行; (2)從解空間中隨機選取乙個可行解代替; (3)選擇當代中的最優解代替;

②變異公式: 變異公式可根據實際情況略作修改,如:將 + 改為 - ;

q-競爭選擇演算法:

進化規劃演算法的選擇策略採用的是q-競爭機制,這也是與進化策略演算法最大的不同點,q-競爭說白就是選擇優質解的同時,以一定的隨機概率接受較差的解。多數是優解,

少數是比較差的解,共同組成一組父代,為下一次進化做準備。

思想:

將n個父代進化的n個子代一起放在一起,從中隨機選擇不重複q個個體組成乙個組,然後依次對2n個個體的每乙個個體進行計分,將2n個依次每次乙個與隨機挑選出的群組的每乙個成員進行比較,相比優的話,則會對應的個體的分數加1,最後對分數進行排序,選擇分數最高的n個個體!

**實現:

#define  parents

20//父代個數,乙個生乙個

#define  children20//子代個數,乙個生乙個

#define  q           18的競爭數

void qselect(individual* pop)

for (int i = 0; i < q; i++)//從父代和子代中挑q個個體

if (i <= j)

break;

}qcompete[i] = qnum;

}for (int s = 0; s < parents + children; s++)//清除上一次的計分

pop[s].score = 0;

for (int k = 0; k < children + parents; k++)//計分}}

for (int q = 0; q < parents + children; q++)//得分最高者上位,選擇優秀個體}}

}

template

t randt(t lower, t upper)

return (double)rand()/rand_max *(upper - lower) + lower;}1、

進化策略與進化規劃演算法 ES與EP

github 智慧型演算法的課件和參考資料以及實驗 進化策略和遺傳演算法統稱為進化演算法,二者的思想很類似,但步驟和應用方向有所差別。我們舉個二元函式最大值優化問題,分別用這兩種演算法簡單搜尋最優值 用matlab實現 es f2.m function y f2 x1,x2 二元函式求最大值的優化問...

路徑規劃演算法 A

a 演算法是啟發式搜尋,是一種盡可能基於現有資訊的搜尋策略,也就是說搜尋過程中盡量利用目前已知的諸如迭代步數,以及從初始狀態和當前狀態到目標狀態估計所需的費用等資訊。a 演算法可以選擇下乙個被檢查的節點時引入了已知的全域性資訊,對當前結點距離終點的距離作出估計,作為評價該節點處於最優路線上的可能性的...

路徑規劃演算法 A 演算法

a a star 演算法是一種靜態路網中求解最短路徑最有效的直接搜尋方法,也是解決許多搜尋問題的有效演算法。演算法中的距離估算值與實際值越接近,最終搜尋速度越快 astar演算法是從起點開始一步步的往終點探索。他有兩個鍊錶open鍊錶和close鍊錶。每探索 本文稱之為 擴充套件 乙個點n時,就獲取...