| 9 | 1/1 | 返回列表 |
| 查看: 2072 | 回復(fù): 8 | ||
cq0932金蟲 (初入文壇)
|
[求助]
請(qǐng)教關(guān)于遺傳算法的幾個(gè)問題
|
|
1.在選擇復(fù)制的過程中,適應(yīng)度值大的個(gè)體將有更多的子孫,而相反的會(huì)被淘汰。在看書上代碼《先進(jìn)PID控制及其Matlab仿真 劉金琨著》的時(shí)候發(fā)現(xiàn)選擇復(fù)制后的種群規(guī)模變小了,比如初始種群是30個(gè)個(gè)體,選擇以后,就只剩十幾個(gè)了。在交叉之前是否需要補(bǔ)全?如果要補(bǔ)全有什么比較好的方法? 2.接下來是交叉,交叉的對(duì)象應(yīng)該如何選擇?只從選擇復(fù)制后產(chǎn)生的優(yōu)勢(shì)群體中選擇嗎?問題1中補(bǔ)全的部分是否參加交叉?未發(fā)生交叉的個(gè)體是直接保留原樣到下一代嗎? 3.然后是變異,是否只有交叉產(chǎn)生的個(gè)體才有可能發(fā)生變異?還是所有個(gè)體都會(huì)變異?另外,適應(yīng)度大小對(duì)變異概率是否有影響? |
木蟲 (著名寫手)
勁升

銀蟲 (小有名氣)

木蟲 (小有名氣)
|
1.選擇只是進(jìn)化的第一步,選擇出來的個(gè)體往往有3種用途,比如直接復(fù)制到下一代(elite selection),或者選擇出來的個(gè)體進(jìn)行交叉,或者是變異。 2.選擇進(jìn)行交叉的個(gè)體可以有多種辦法,經(jīng)典的有rank selection, roulette wheel selection, tournament selection?梢跃W(wǎng)上隨意找到各自的選擇辦法。 3.變異有兩種策略,一種是對(duì)交叉后的個(gè)體進(jìn)行變異,另外一種辦法是分別使用交叉和變異產(chǎn)生一定數(shù)量的下一代個(gè)體,兩者之間分別產(chǎn)生。具體由問題而定。 |
銀蟲 (小有名氣)
|
第一步中,選擇之后種群要保持為30的,具體恢復(fù)方法,給你個(gè)用matlab寫的遺傳算法優(yōu)化PID控制器的簡(jiǎn)單算法,你看看就明白了吧。 http://good.gd/2364258.htm |
金蟲 (初入文壇)
|
您貼的代碼和我從書上看到的遺傳算子部分是一樣的,選擇結(jié)束以后,種群的個(gè)體數(shù)是減少的,他是在交叉的時(shí)候把選擇出來的個(gè)體和初始種群中的個(gè)體進(jìn)行交叉,不知道這樣處理是否合理?程序的結(jié)果是在交叉之后恢復(fù)了種群的個(gè)體數(shù)目。 %****** Step 2 : 選擇算子****** fi_sum=sum(fi); fi_Size=(Oderfi/fi_sum)*Size; fi_S=floor(fi_Size); %按較大的適應(yīng)度選擇個(gè)體 kk=1; for i=1:1:Size for j=1:1:fi_S(i) %選擇與產(chǎn)生后代個(gè)體 TempE(kk,:)=E(Indexfi(i),:); kk=kk+1; %kk用于產(chǎn)生后代用 end end %************ Step 3 交叉算子************ pc=0.60; %交叉概率0.60 n=ceil(20*rand); for i=1:2:(Size-1) temp=rand; if pc>temp %若temp落在[0,0.6]區(qū)間,則進(jìn)行交叉操作 for j=n:1:20 TempE(i,j)=E(i+1,j); TempE(i+1,j)=E(i,j); end end end TempE(Size,:)=BestS; E=TempE; |
木蟲 (小有名氣)
|
我覺得已經(jīng)回復(fù)得非常有針對(duì)性了,看了下lz你的留言,我覺得你是完全沒有理解什么是選擇。population的size是不會(huì)變的,有一些ind被選擇出來了,如你所說的按適應(yīng)度比例選擇,即roulette wheel selection,新的pop是通過重復(fù)地對(duì)這些選擇出來的ind進(jìn)行crossover和mutation來產(chǎn)生的。 無論如何,最后下一代的pop大小都會(huì)跟前一代的相同的。程序上來說,一個(gè)for循環(huán)就搞定了。 |
銀蟲 (小有名氣)
新蟲 (小有名氣)

| 9 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 291求調(diào)劑 +8 | hhhhxn.. 2026-03-23 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 材料/農(nóng)業(yè)專業(yè),07/08開頭均可,過線就行 +3 | 呵唔哦豁 2026-03-23 | 4/200 |
|
|
[考研] 一志愿中南大學(xué)化學(xué)學(xué)碩0703總分337求調(diào)劑 +5 | niko- 2026-03-22 | 5/250 |
|
|
[考研] 化學(xué)308分求調(diào)劑 +3 | 你好明天你好 2026-03-23 | 3/150 |
|
|
[考研] 306求調(diào)劑 +9 | chuanzhu川燭 2026-03-18 | 9/450 |
|
|
[考研] 北科281學(xué)碩材料求調(diào)劑 +8 | tcxiaoxx 2026-03-20 | 9/450 |
|
|
[考研] 280分求調(diào)劑 一志愿085802 +4 | PUMPT 2026-03-22 | 7/350 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +5 | 我愛生物生物愛?/a> 2026-03-17 | 5/250 |
|
|
[考研] 285求調(diào)劑 +6 | ytter 2026-03-22 | 6/300 |
|
|
[考研] 085600材料與化工306 +4 | z1z2z3879 2026-03-21 | 4/200 |
|
|
[考研] 313求調(diào)劑 +4 | 肆叁貳壹22 2026-03-19 | 4/200 |
|
|
[考研] 302求調(diào)劑 +12 | 呼呼呼。。。。 2026-03-17 | 12/600 |
|
|
[考研] 332求調(diào)劑 +3 | 鳳凰院丁真 2026-03-20 | 3/150 |
|
|
[考研] 材料學(xué)學(xué)碩080502 337求調(diào)劑-一志愿華中科技大學(xué) +4 | 順順順mr 2026-03-18 | 5/250 |
|
|
[考研] 085601調(diào)劑 358分 +3 | zzzzggh 2026-03-20 | 4/200 |
|
|
[考研] 307求調(diào)劑 +3 | wyyyqx 2026-03-17 | 3/150 |
|
|
[考研] 一志愿重慶大學(xué)085700資源與環(huán)境專碩,總分308求調(diào)劑 +3 | 墨墨漠 2026-03-18 | 3/150 |
|
|
[考研] 329求調(diào)劑 +9 | 想上學(xué)吖吖 2026-03-19 | 9/450 |
|
|
[考研] 085410人工智能專碩317求調(diào)劑(0854都可以) +4 | xbxudjdn 2026-03-18 | 4/200 |
|
|
[碩博家園] 湖北工業(yè)大學(xué) 生命科學(xué)與健康學(xué)院-課題組招收2026級(jí)食品/生物方向碩士 +3 | 1喜春8 2026-03-17 | 5/250 |
|