📄 ag_basico.m
字号:
%% Algoritmo Genetico basico
%==========================
global K1 K2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EL ALGORITMO
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
gen = 0;
while (gen <= maxgen),
gen = gen + 1;
%% Generacion de una nueva generacion
NewPop = generar(Pop, Fitness, pcross, pmutation);
%% Evaluacion de la nueva generacion
Fenotipos = CromToPesos(Pop);
distancias = Fenotipos'*data1;
clases = orig(3,:)';
bienClasificado = sign(distancias*clases);
[mal,midx]= find(bienClasificado==-1);
Fitness = min(abs(distancias),[],2);
Fitness(midx) = 0;
%fitness promedio
FitMax = max(Fitness);
FitAVG = sum(Fitness)/popsize;
EvalFitnness(gen,:) = [FitMax; FitAVG];
Pop = NewPop;
end
%
%% Comportamiento de la poblacion a traves de las
%% generaciones
h2 = figure(2);
plot (EvalFitnness,'*')
axis([1 gen 0 max(EvalFitnness(:))*1.1 ])
title('Capacidad de adaptacion de la poblacion')
xlabel('generacion')
legend('FitMax','FitAVG',4)
%
%% Adaptacion de la poblacion final
[wsort,Ind] = sort(Fitness);
orig = orig';
w = Fenotipos(:,1);
figure(1)
subplot(1,2,2),plot(orig(1:K1,1),orig(1:K1,2),'*',orig(K1+1:K2,1),orig(K1+1:K2,2),'o')
axis('square');grid
v=axis;
[lx,ly]=sline(w,v);
subplot(1,2,1),plot(orig(1:K1,1),orig(1:K1,2),'*',...
orig(K1+1:K2,1),orig(K1+1:K2,2),'o',lx,ly)
axis('square');grid
title('separating hyperplane')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -