遺傳運算元
遺傳運算元()是用來維持遺傳演算法裡面的遺傳多樣性,所使用的運算元。 遺傳多樣性是演化過程的一個必要性質。在遺傳演算法裡面所使用的遺傳運算元相類似於在自然裡面出現的原則:適者生存。或者更仔細的說說,像是篩選(selection)、生產下一代 (交配,crossover,或者也叫做重新組合)、和突變(mutation)。 篩選 从交配的父母的染色体中选择遗传的染色体。问题是如何进行选择。最好的那个应该生存下来繁殖下一代。 父母应该选择和他…
共 4 篇文章
遺傳運算元()是用來維持遺傳演算法裡面的遺傳多樣性,所使用的運算元。 遺傳多樣性是演化過程的一個必要性質。在遺傳演算法裡面所使用的遺傳運算元相類似於在自然裡面出現的原則:適者生存。或者更仔細的說說,像是篩選(selection)、生產下一代 (交配,crossover,或者也叫做重新組合)、和突變(mutation)。 篩選 从交配的父母的染色体中选择遗传的染色体。问题是如何进行选择。最好的那个应该生存下来繁殖下一代。 父母应该选择和他…
在遺傳演算法裡面,突變是用來維持演算法裡面,族群(population)裡面每一個世代的染色體到下一個世代時,還能夠維持遺傳多樣性的一個遺傳運算元(genetic operator)。這個運算元設計上雷同於生物學方面的突變(這也就是這個命名的由來)。 有一種經典的突變運算元範例,會牽涉到將染色體裡面任意位元從原來的狀態改掉的機率。常用來實做這種突變運算元的方法是對染色體字串的每個位元分別產生一個隨機變數。這個隨機變數用來告訴我們這個特定…
在遺傳演算法裡面,一個染色體(chromosome,有時候也叫做基因,genome)是一些引數構成的集合,用來定義遺傳演算法嘗試解決問題的各種答案可能。 染色體常常使用一個簡單的字串來表示,不過有很多種其他的資料結構也可以使用。 染色體設計 染色體的設計跟引數使用是根據被解決問題的特殊需求來設定的。一個簡單的範例是,我們假設一個問題是要找出一個整數x,介於0和255之間,且能給出f(x) = x^2這個函數的極大值。(一般這個問題不會使…
在遺傳演算法和遺傳編程裡面,定義長度(defining length) L(H) 是指在一個架構"H"裡面,兩個定義符號(defining symbol)最遠的距離 (這裡的定義符號是指有一個固定值的符號, 對應有一些符號—— 一般以#或*表示 ——可以代表任意值) 。在樹GP(tree GP,GP代表遺傳演算法)架構裡面, L(H)則是在架構H裡面,包含所有不是"="的符號,最小樹片段的連接數。 範例 架構 "00##0","1###…