Académique Documents
Professionnel Documents
Culture Documents
GENÉTICOS.
Eduardo Silva V.
Resumen.
Las ideas y métodos de los AG pueden Debemos notar que lo anterior es sólo un
puntualizarse de la siguiente manera: modo de trabajar con AG y que, en principio, no
podremos garantizar que con un número bajo de
1. se genera, en principio al azar, un conjunto de generaciones se llegue a una buena solución si los
posibles soluciones al problema de interés. problemas son complicados.
Éstas han de codificarse de forma binaria de
3. Formulación del problema. elemento características
1 2 3 4 5
Se consideró un problema de
A 1 0 1 1 0
optimización típico, y al cual puede darse solución
usando métodos de programación matemática B 0 0 0 0 1
(entera-binaria). En general puede formularse del C 1 1 0 0 1
siguiente modo: D 0 1 1 0 0
1 1 1 1
1 1 0 1
1 0 1 0
1 1 1 0 1 1 1 0
1 1 0 1
óptimo = [1 0 1 0] 1 0 1 0
1 0 1 1
b) Segundo caso.
óptimo = [1 0 1 0]
ingrese padre uno : [1 1 1 1]
ingrese padre dos : [0 0 0 0]
5. Conclusiones:
nueva generación de padres (segunda):
Los programas utilizados demostraron
1 1 1 1 ser de utilidad, no sólo con el problema
1 1 1 0 presentado en detalle, sino que también con uno
que consideró 8 características y 7 elementos, lo
óptimo = [1 1 1 0] que nos permite asegurar que el objetivo
planteado fue satisfecho. Por otro lado, se pudo
se vuelve a repetir en base a los padres generados observar lo siguiente:
en la ejecución anterior:
- independiente de la condición inicial, el AG
nueva generación de padres (tercera): tiende a la solución óptima (ver caso b y c), lo
que permite hacer la solución de los problema
1 1 1 1 independientes de la habilidad del usuario
1 1 1 0 para determinar buenas soluciones como
1 1 0 1 punto de partida.
1 0 1 0 - otro punto importante es que aunque las
condiciones iniciales sean iguales (ver caso a
óptimo = [1 0 1 0] y b), las rutas que se sigue para obtener el
óptimo son distintas. En el caso (a) bastó con
c) Tercer caso. una generación, en el caso (b) se necesitaron
dos. Esto es consecuencia de la naturaleza no
padre uno : [1 1 1 1] determinística de estos algoritmos de
padre dos : [0 1 0 0] búsqueda. El problema de esto es que en
problemas de gran tamaño, es posible que se
nueva generación de padres (segunda): requieran muchas generaciones para lograr
una solución aceptable.
1 1 1 1 - lamentablemente los tiempos de ejecución de
1 1 1 0 los programas son elevados si se trabaja con
muchos elementos, en consecuencia, se deben
óptimo= [1 1 1 0] buscar modos de optimizar los programas
usados en este trabajo, si se desea aplicar lo
se vuelve a repetir en base a los padres generados anterior a situaciones reales.
en la ejecución anterior:
óptimo = [1 0 1 1]
1 1 1 1
Apéndice. prevjos=reprod(padres(j).jden,pad
res(j).jden);
1. Programas usados. U=sjze(prevjos);
U=U(2);
evolucionar for e=u_ant+1:1:U+u_ant
anterjores(e)=prevjos(e-
clear padre; u_ant);
clear hjjos; end
u_ant=U+u_ant;
padre(1).jden=jnput('jngrese end
padre uno : '); end
padre(2).jden=jnput('jngrese
padre dos : '); hjjos=anterjores;
l=0;
crear nuevos padres aptos.
whjle (l==0)
hjjos=nueva_gen(padre); functjon
[nueva,optjmo]=proxjmos_padres [nueva,optjmo]=proxjmos_padres(H,
(hjjos,elem); elem)
padre(1).jden=nueva(1).jden;
T=sjze(nueva); A=sjze(H);
e=2; B=length(H(1).jden);
for j=2:1:T(2)
z=0; k=1;
for j=e-1:-1:1
jf mejor.jden=ones(1,B);
(nueva(j).jden==padre(j).jden) mejor.apto=1;
z=z+1;
end for j=1:1:A(2)
end
H(j).apto=apto(H(j).jden,elem);
jf(z==0)
jf (H(j).apto==1)
padre(e).jden=nueva(j).jden; candjdato(k)=H(j);
e=e+1; jf
end (sum(candjdato(k).jden)<sum(mejor
end .jden))
mejor=candjdato(k);
padre.jden end
optjmo k=k+1;
A=sjze(padres); jf
u_ant=0; (sum(candjdato(k).jden)<sum(mejor
.jden))
for j=1:1:-1+A(2) mejor=candjdato(k);
for j=j+1:1:A(2) end
k=k+1; H(k-1).iden=cinta2;
jf (sum(base)==W)
aptjtud=1;
else
aptjtud=0;
end
mutar
functjon mutacjon=mutar(H)
A=sjze(H.jden);
q=random('Djscrete
Unjform',A(2),1,1);
H.jden(q)=not(H.jden(q));
H.apto=0;
mutacjon=H;
reproducjr
functjon
hjjos=reprod(cjnta1,cjnta2)
L=length(cjnta1);
k=3;
H(k-2).jden=cjnta1;