導航:首頁 > 源碼編譯 > 遺傳演算法實例

遺傳演算法實例

發布時間:2022-01-23 13:27:55

Ⅰ 如何通俗易懂地解釋遺傳演算法有什麼例子

相信遺傳演算法的官方定義你已經看過,就我個人理解
遺傳演算法的思想是物競天擇,優勝劣汰。
你可以理解為,當我們解某道數學題時,如果這個題太難我們沒法列公式算出正確答案,我們有時候也可以蒙答案去反過來看看是否滿足這道題提乾的要求,如果能滿足,說明我們蒙的答案是正確的。但是蒙對答案要試很多遍,每次隨機的去試數可能要試1000次才能蒙對。可是遺傳演算法可以讓我們科學的去蒙答案,每次蒙的答案都會比上一次蒙的更接近正確答案,這樣可能蒙十幾次我們就找到正確答案了。
希望我的回答對你理解GA有所幫助,望採納

Ⅱ 求一個matlab遺傳演算法並行計算的實例和代碼

推薦你看一本書matlab演算法30哥案例分析,我記得第一個就是遺傳演算法,講的非常詳細,網上有很多pdf版本的,源碼也有,如果實在找不到追問我幫你找

Ⅲ 高分懸賞:遺傳演算法應用實例

柔性生產計劃?我想在這方面,遺傳演算法應用的例子還是有一些的。比如說人員的安排,機器設備的調度等

Ⅳ matlab遺傳演算法實例求指導

主函數m文件代碼:
lb=[0.2 1.234 0.01 1190 0.15];
ub=[0.4 3 0.04 1398 0.4];
x0=lb;
[x,fval]=fmincon('llzy',x0,[],[],[],[],lb,ub);

目標函數m文件代碼:
function y=llzy(x)
y=(0.0206*x(2)^2/(2*9.81*x(1))+(0.5*(1-(x(2)/(4*x(3)*9.81*(x(4)-1040)/(3*0.43*1040))^0.5*(1-(x(3)/x(1))^2)*exp(-(2.65*x(5)-3.32*x(5)^2.2))))+((0.25*(x(2)/(4*x(3)*9.81*(x(4)-1040)/(3*0.43*1040))^0.5*(1-(x(3)/x(1))^2)*exp(-(2.65*x(5)-3.32*x(5)^2.2)))-1)^2+x(5)*x(2)/(4*x(3)*9.81*(x(4)-1040)/(3*0.43*1040))^0.5*(1-(x(3)/x(1))^2)*exp(-(2.65*x(5)-3.32*x(5)^2.2)))^0.5)*(x(4)/1040-1)+1.8413*(x(2)/(9.81*x(1)))^2.7736*(0.5*(1-(x(2)/(4*x(3)*9.81*(x(4)-1040)/(3*0.43*1040))^0.5*(1-(x(3)/x(1))^2)*exp(-(2.65*x(5)-3.32*x(5)^2.2))))+((0.25*(x(2)/(4*x(3)*9.81*(x(4)-1040)/(3*0.43*1040))^0.5*(1-(x(3)/x(1))^2)*exp(-(2.65*x(5)-3.32*x(5)^2.2)))-1)^2+x(5)*x(2)/(4*x(3)*9.81*(x(4)-1040)/(3*0.43*1040))^0.5*(1-(x(3)/x(1))^2)*exp(-(2.65*x(5)-3.32*x(5)^2.2)))^0.5)*0.43*x(3)/x(1)*(x(4)/1040-1))/(x(4)*x(5)/1040);

Ⅳ 遺傳演算法 編碼 例子

GA的編碼通常都是數字序列(好比基因^_^),具體如何編碼要看實際需求如何,例如Jeffris提到的行商問題,其編碼就是一個包括n節點數字序列(也就是一條不重復走遍所有城市的路線)。

如果你願意把你所面對的問題貼出來,或許能幫到你一些。

如果你只是在尋求多維數據結構的表現方式,很簡單,無論多少維,都可以表現為(x,y,z,...)這樣的坐標形式。不過我相信這不是你想要的啦^_^

最後,這個連接上有些內容或許會有點幫助(盡管可能性很小)http://..com/question/17393957.html

加油!

Ⅵ 請問什麼是遺傳演算法,並給兩個例子

遺傳演算法(Genetic Algorithm, GA)是近幾年發展起來的一種嶄新的全局優化演算法,它借
用了生物遺傳學的觀點,通過自然選擇、遺傳、變異等作用機制,實現各個個體的適應性
的提高。這一點體現了自然界中"物競天擇、適者生存"進化過程。1962年Holland教授首次
提出了GA演算法的思想,從而吸引了大批的研究者,迅速推廣到優化、搜索、機器學習等方
面,並奠定了堅實的理論基礎。 用遺傳演算法解決問題時,首先要對待解決問題的模型結構
和參數進行編碼,一般用字元串表示,這個過程就將問題符號化、離散化了。也有在連續
空間定義的GA(Genetic Algorithm in Continuous Space, GACS),暫不討論。

一個串列運算的遺傳演算法(Seguential Genetic Algoritm, SGA)按如下過程進行:

(1) 對待解決問題進行編碼;
(2) 隨機初始化群體X(0):=(x1, x2, … xn);
(3) 對當前群體X(t)中每個個體xi計算其適應度F(xi),適應度表示了該個體的性能好
壞;
(4) 應用選擇運算元產生中間代Xr(t);
(5) 對Xr(t)應用其它的運算元,產生新一代群體X(t+1),這些運算元的目的在於擴展有限
個體的覆蓋面,體現全局搜索的思想;
(6) t:=t+1;如果不滿足終止條件繼續(3)。
GA中最常用的運算元有如下幾種:
(1) 選擇運算元(selection/reproction): 選擇運算元從群體中按某一概率成對選擇個
體,某個體xi被選擇的概率Pi與其適應度值成正比。最通常的實現方法是輪盤賭(roulett
e wheel)模型。
(2) 交叉運算元(Crossover): 交叉運算元將被選中的兩個個體的基因鏈按概率pc進行交叉
,生成兩個新的個體,交叉位置是隨機的。其中Pc是一個系統參數。
(3) 變異運算元(Mutation): 變異運算元將新個體的基因鏈的各位按概率pm進行變異,對
二值基因鏈(0,1編碼)來說即是取反。
上述各種運算元的實現是多種多樣的,而且許多新的運算元正在不斷地提出,以改進GA的
某些性能。系統參數(個體數n,基因鏈長度l,交叉概率Pc,變異概率Pm等)對演算法的收斂速度
及結果有很大的影響,應視具體問題選取不同的值。
GA的程序設計應考慮到通用性,而且要有較強的適應新的運算元的能力。OOP中的類的繼
承為我們提供了這一可能。
定義兩個基本結構:基因(ALLELE)和個體(INDIVIDUAL),以個體的集合作為群體類TP
opulation的數據成員,而TSGA類則由群體派生出來,定義GA的基本操作。對任一個應用實
例,可以在TSGA類上派生,並定義新的操作。

TPopulation類包含兩個重要過程:
FillFitness: 評價函數,對每個個體進行解碼(decode)並計算出其適應度值,具體操
作在用戶類中實現。
Statistic: 對當前群體進行統計,如求總適應度sumfitness、平均適應度average、最好
個體fmax、最壞個體fmin等。

TSGA類在TPopulation類的基礎上派生,以GA的系統參數為構造函數的參數,它有4個
重要的成員函數:
Select: 選擇運算元,基本的選擇策略採用輪盤賭模型(如圖2)。輪盤經任意旋轉停止
後指針所指向區域被選中,所以fi值大的被選中的概率就大。
Crossover: 交叉運算元,以概率Pc在兩基因鏈上的隨機位置交換子串。
Mutation: 變異運算元,以概率Pm對基因鏈上每一個基因進行隨機干擾(取反)。
Generate: 產生下代,包括了評價、統計、選擇、交叉、變異等全部過程,每運行一
次,產生新的一代。

SGA的結構及類定義如下(用C++編寫):
[code] typedef char ALLELE; // 基因類型
typedef struct{
ALLELE *chrom;
float fitness; // fitness of Chromosome
}INDIVIDUAL; // 個體定義

class TPopulation{ // 群體類定義
public:
int size; // Size of population: n
int lchrom; // Length of chromosome: l
float sumfitness, average;

INDIVIDUAL *fmin, *fmax;
INDIVIDUAL *pop;

TPopulation(int popsize, int strlength);
~TPopulation();
inline INDIVIDUAL &Indivial(int i){ return pop[i];};
void FillFitness(); // 評價函數
virtual void Statistics(); // 統計函數
};

class TSGA : public TPopulation{ // TSGA類派生於群體類
public:
float pcross; // Probability of Crossover
float pmutation; // Probability of Mutation
int gen; // Counter of generation

TSGA(int size, int strlength, float pm=0.03, float pc=0.6):
TPopulation(size, strlength)
{gen=0; pcross=pc; pmutation=pm; } ;
virtual INDIVIDUAL& Select();
virtual void Crossover(INDIVIDUAL &parent1, INDIVIDUAL &parent2,
INDIVIDUAL &child1, INDIVIDUAL &child2);
&child1, INDIVIDUAL &child2);
virtual ALLELE Mutation(ALLELE alleleval);
virtual void Generate(); // 產生新的一代
};
用戶GA類定義如下:
class TSGAfit : public TSGA{
public:
TSGAfit(int size,float pm=0.0333,float pc=0.6)
:TSGA(size,24,pm,pc){};
void print();
}; [/code]

由於GA是一個概率過程,所以每次迭代的情況是不一樣的;系統參數不同,迭代情況
也不同。在實驗中參數一般選取如下:個體數n=50-200,變異概率Pm=0.03, 交叉概率Pc=
0.6。變異概率太大,會導致不穩定。

參考文獻
● Goldberg D E. Genetic Algorithm in Search, Optimization, and machine

Learning. Addison-Wesley, Reading, MA, 1989
● 陳根社、陳新海,"遺傳演算法的研究與進展",《信息與控制》,Vol.23,
NO.4, 1994, PP215-222
● Vittorio Maniezzo, "Genetic Evolution of the Topology and Weight Distri
bution of the Neural Networks", IEEE, Trans. on Neural Networks, Vol.5, NO
.1, 1994, PP39-53
● Xiaofeng Qi, Francesco Palmieri, "Theoretical Analysis of Evolutionary
Algorithms with an Infinite Population Size in Continuous Space. Part Ⅰ
l Networks, Vol.5, NO.1, 1994, PP102-119
● Xiaofeng Qi, Francesco Palmieri, "Theoretical Analysis of Evolutionary
Algorithms with an Infinite Population Size in Continuous Space. Part Ⅱ
al Networks, Vol.5, NO.1, 1994, PP102-119
● Gunter Rudolph, Convergence Analysis of Canonical Genetic Algorithms, I
EEE, Trans. on Neural Networks, Vol.5, NO.1, 1994, PP96-101
● A E Eiben, E H L Aarts, K M Van Hee. Gloable convergence of genetic alg
orithms: A Markov chain analysis. in Parallel Problem Solving from Nat
ure. H.-P.Schwefel, R.Manner, Eds. Berlin and Heidelberg: Springer, 1991
, PP4-12
● Wirt Atmar, "Notes on the Simulation of Evolution", IEEE, Trans. on Neu
ral Networks, Vol.5, NO.1, 1994, PP130-147
● Anthony V. Sebald, Jennifer Schlenzig, "Minimax Design of Neural Net Co
ntrollers for Highly Uncertain Plants", IEEE, Trans. on Neural Networks, V
ol.5, NO.1, 1994, PP73-81
● 方建安、邵世煌,"採用遺傳演算法自學習模型控制規則",《自動化理論、技術與應
用》,中國自動化學會 第九屆青年學術年會論文集,1993, PP233-238
● 方建安、邵世煌,"採用遺傳演算法學習的神經網路控制器",《控制與決策》,199
3,8(3), PP208-212
● 蘇素珍、土屋喜一,"使用遺傳演算法的迷宮學習",《機器人》,Vol.16,NO.5,199
4, PP286-289
● M.Srinivas, L.M.Patnaik, "Adaptive Probabilities of Crossover and Mutat
ion", IEEE Trans. on S.M.C, Vol.24, NO.4, 1994 of Crossover and Mutation",
IEEE Trans. on S.M.C, Vol.24, NO.4, 1994
● Daihee Park, Abraham Kandel, Gideon Langholz, "Genetic-Based New Fuzzy
Reasoning Models with Application to Fuzzy Control", IEEE Trans. S. M. C,
Vol.24, NO.1, PP39-47, 1994
● Alen Varsek, Tanja Urbancic, Bodgan Filipic, "Genetic Algorithms in Con
troller Design and Tuning", IEEE Trans. S. M. C, Vol.23, NO.5, PP1330-13
39, 1993

Ⅶ 遺傳演算法的程序應用,最好舉例說明。

這種很主流的演算法能搜到很多。
比如遺傳演算法合集,包括遺傳演算法簡介、研究熱點、著作、站點、參考論文下載等:
http://www.chinaai.org/ai/neural-network/genetic-algorithm.html

看之前記得打開殺毒軟體跟防火牆。

Ⅷ 遺傳演算法原理與應用實例的介紹

《遺傳演算法原理與應用實例》主要結合應用實例系統討論、介紹遺傳演算法原理及其應用,主要內容包括:遺傳演算法的基本原理和數學機理、解決連續問題優化的遺傳演算法和分布式遺傳演算法、遺傳演算法的實現技術、遺傳演算法應用實例,並給出了兩個典型的遺傳演算法源程序。《遺傳演算法原理與應用實例》在詳細介紹遺傳演算法理論與方法的同時,還給_出了基於遺傳演算法的費托合成反應動力學模型參數優化的詳細設計應用。

Ⅸ 用遺傳演算法實現用例選擇的完整實例和代碼,急求!!!

遺傳演算法和運行環境沒有任何關系

幫你找了一個現成的。
http://wenku..com/link?url=87o20FPdKgVYKX0C7VI2iuEOZ6sAh_ck3zp7oMdH7uaTybY--vE2o4hSUjZz4INHflcPqK

閱讀全文

與遺傳演算法實例相關的資料

熱點內容
安卓手機為什麼總是出現藍屏 瀏覽:252
u盤超級加密3000加密後 瀏覽:877
sql插入數據命令 瀏覽:470
u盤根目錄文件夾是哪個 瀏覽:693
新預演算法預算編制 瀏覽:622
perl怎樣遍歷文件夾 瀏覽:636
安卓手機如何更好的保護隱私 瀏覽:316
程序員書籍知乎 瀏覽:154
王者安卓v區怎麼轉移到蘋果 瀏覽:449
加密區卸載 瀏覽:122
女程序員壓力大想辭職 瀏覽:681
演算法體現在哪裡 瀏覽:219
阿里雲個人伺服器推薦 瀏覽:363
汽車識別視頻文件夾 瀏覽:110
檔案伺服器不可用是什麼意思 瀏覽:525
有什麼app能看到老婆在哪 瀏覽:562
androidpdf源碼 瀏覽:435
方舟怎麼把單機人物上傳到伺服器 瀏覽:964
偏置命令下大小形狀保持不變 瀏覽:988
單片機各功能介面晶元 瀏覽:795