?? mutation.m
字號:
function popnew=mutation(pop,pmut,num,length)
%變異函數
% 變異(mutation),基因的突變普遍存在于生物的進化過程中。變異是指父代中的每個個體的每一位都以概率 pm 翻轉,即由“1”變為“0”,
% 或由“0”變為“1”。遺傳算法的變異特性可以使求解過程隨機地搜索到解可能存在的整個空間,因此可以在一定程度上求得全局最優解。
%遺傳算法子程序
%Name: mutation.m
%pmut為變異概率
%pop=randint(16)
%n=16;
%pmut=0.05;
%length=16;
k=1;
while k<=num
rk=rand(1);
if rk<pmut
pos=fix(rand(1)*1*length)+1; %隨機產生變異點
pop(k,pos)=~pop(k,pos); %對變異點進行變異
end
k=k+1;
end
popnew=pop;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -