古詩詞大全網 - 四字成語 - 什麽是遺傳算法

什麽是遺傳算法

遺傳算法 百科名片

遺傳算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是壹種通過模擬自然進化過程搜索最優解的方法,它最初由美國Michigan大學J.Holland教授於1975年首先提出來的,並出版了頗有影響的專著《Adaptation in Natural and Artificial Systems》,GA這個名稱才逐漸為人所知,J.Holland教授所提出的GA通常為簡單遺傳算法(SGA)。

遺傳算法(Genetic Algorithm)是壹類借鑒生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜索方法。它是由美國的J.Holland教授1975年首先提出,其主要特點是直接對結構對象進行操作,不存在求導和函數連續性的限定;具有內在的隱並行性和更好的全局尋優能力;采用概率化的尋優方法,能自動獲取和指導優化的搜索空間,自適應地調整搜索方向,不需要確定的規則。遺傳算法的這些性質,已被人們廣泛地應用於組合優化、機器學習、信號處理、自適應控制和人工生命等領域。它是現代有關智能計算中的關鍵技術。 對於壹個求函數最大值的優化問題(求函數最小值也類同),壹般可以描述為下列數學規劃模型:遺傳算法 式中為決策變量,為目標函數式,式2-2、2-3為約束條件,U是基本空間,R是U的子集。滿足約束條件的解X稱為可行解,集合R表示所有滿足約束條件的解所組成的集合,稱為可行解集合。 遺傳算法的基本運算過程如下: a)初始化:設置進化代數計數器t=0,設置最大進化代數T,隨機生成M個個體作為初始群體P(0)。 b)個體評價:計算群體P(t)中各個個體的適應度。 c)選擇運算:將選擇算子作用於群體。選擇的目的是把優化的個體直接遺傳到下壹代或通過配對交叉產生新的個體再遺傳到下壹代。選擇操作是建立在群體中個體的適應度評估基礎上的。 d)交叉運算;將交叉算子作用於群體。所謂交叉是指把兩個父代個體的部分結構加以替換重組而生成新個體的操作。遺傳算法中起核心作用的就是交叉算子。 e)變異運算:將變異算子作用於群體。即是對群體中的個體串的某些基因座上的基因值作變動。 群體P(t)經過選擇、交叉、變異運算之後得到下壹代群體P(t 1)。 f)終止條件判斷:若tT,則以進化過程中所得到的具有最大適應度個體作為最優解輸出,終止計算。

[編輯本段]遺傳算法定義

遺傳算法是從代表問題可能潛在的解集的壹個種群(population)開始的,而壹個種群則由經過基因(gene)編碼的壹定數目的個體(individual)組成。每個個體實際上是染色體(chromosome)帶有特征的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭發的特征是由染色體中控制這壹特征的某種基因組合決定的。因此,在壹開始需要實現從表現型到基因型的映射即編碼工作。由於仿照基因編碼的工作很復雜,我們往往進行簡化,如二進制編碼,初代種群產生之後,按照適者生存和優勝劣汰的原理,逐代(generation)演化產生出越來越好的近似解,在每壹代,根據問題域中個體的適應度(fitness)大小選擇(selection)個體,並借助於自然遺傳學的遺傳算子(genetic operators)進行組合交叉(crossover)和變異(mutation),產生出代表新的解集的種群。這個過程將導致種群像自然進化壹樣的後生代種群比前代更加適應於環境,末代種群中的最優個體經過解碼(decoding),可以作為問題近似最優解。