Sunteți pe pagina 1din 3

1.

Conteste verdadero o Falso :


Los algoritmos genéticos son un método tradicional de optimización ( ).

2. Se requiere minimizar una función f(x) por medio de AG. Indique cual es la función fitness a
utilizar en este caso.

3. Se desea optimizar una función f(x) de tres variables de diseño (x1, x2 y x3) por medio de un
algoritmo genético. Indique:

a) si el siguiente código realiza correctamente el proceso de mutación (justifique su


respuesta) (el número total de individuos en la población es de 20. qx1, qx2 y qx3 son el
número de bits de las variables x1, x2 y x3 respectivamente. Children es la matriz obtenida
en la etapa anterior al proceso de mutación.):

for i = 1:1:20,
randPos = round(1 + ((qx1+qx2+qx3-1).*rand(1)));
coin = rand(1);
if coin >0.6
if children(i,randPos) == 1;
children(i,randPos) = 0;
end
end
end

b) si el siguiente código realiza correctamente el proceso de crossover (justifique su


respuesta) (el número total de individuos en la población es de 20. qx1, qx2 y qx3 son el
número de bits de las variables x1, x2 y x3 respectivamente. MatingPool es la matriz
obtenida en la etapa anterior al proceso de crossover).

children = MatingPool;
contTotalCrossOver = 0;
numCO = 60;
limitCO = tamanoPobla*numCO/100;
i = 1;

while(contTotalCrossOver<=limitCO)
randPos = round(1 + (qx1+qx2+qx3).*rand(1,1));

children(i,randPos:qx1+qx2+qx3) = MatingPool(i,randPos:qx1+qx2+qx3);
children(i+1,randPos:qx1+qx2+qx3) = MatingPool(i+1,randPos:qx1+qx2+qx3);
contTotalCrossOver = contTotalCrossOver + 2;
i=i+2;
end

c) Si se obtiene de manera adecuada las poblaciones binarias de cada variable (binPopx1,


binPopx2, binPopx3), luego de la etapa de mutación. qx1, qx2 y qx3 son el número de bits
de las variables x1, x2 y x3 respectivamente. children es la matriz obtenida en la etapa de
mutacion).

binPopx1 = children(:,1:qx1);
binPopx2 = children(:,qx1:qx2);
binPopx3 = children(:,qx2:qx3);

4. Seleccione las repuestas correctas:


a. Los algoritmos genéticos están basados en la teoría de supervivencia de Darwin.
b. Los algoritmos genéticos están basados en los principios de genética y selección natural.
c. Los AG son equivalentes a los métodos tradicionales de optimización ya que ambos
métodos utilizan derivadas.
d. En los AG se inicia el proceso con un solo valor para la variable de diseño.

5. El orden correcto en un AG es (selecciones la respuesta correcta):


a. Reproducción – crossover – mutación
b. Crossover – mutación – reproducción
c. Mutación – crossover – reproducción
d. Reproducción – crossover – mutación

6. Se desea optimizar una función f(x) de tres variables de diseño (x1, x2 y x3) por medio de un
algoritmo genético. Indique:

a) si el siguiente código realiza correctamente el proceso de mutación (justifique su


respuesta) (el número total de individuos en la población es de 20. qx1, qx2 y qx3 son el
número de bits de las variables x1, x2 y x3 respectivamente. Children es la matriz obtenida
en la etapa anterior al proceso de mutación. “not” es la función negación de valores
booleanos.):

for i = 1:1:20,
randPos = round(1 + ((qx1+qx2+qx3-1).*rand(1)));
coin = rand(1);
if coin >0.6
children(i,randPos) = double(not(children(i,randPos)));
end
end

b) si el siguiente código realiza correctamente el proceso de crossover (justifique su


respuesta) (el número total de individuos en la población es de 20. qx1, qx2 y qx3 son el
número de bits de las variables x1, x2 y x3 respectivamente. MatingPool es la matriz
obtenida en la etapa anterior al proceso de crossover).

children = MatingPool;
contTotalCrossOver = 0;
numCO = 60;
limitCO = tamanoPobla*numCO/100;
i = 1;

while(contTotalCrossOver<=limitCO)
randPos = round(1 + (qx3).*rand(1,1));

children(i,randPos:qx1+qx2+qx3) = MatingPool(i+1,randPos:qx3);
children(i+1,randPos:qx1+qx2+qx3) = MatingPool(i,randPos:qx3);
contTotalCrossOver = contTotalCrossOver + 2;
i=i+2;
end

c) Si se obtiene de manera adecuada las poblaciones binarias de cada variable (binPopx1,


binPopx2, binPopx3), luego de la etapa de mutación qx1, qx2 y qx3 son el número de bits
de las variables x1, x2 y x3 respectivamente. children es la matriz obtenida en la etapa de
mutacion).

binPopx1 = children(:,1:qx1);
binPopx2 = children(:,qx1:qx1+qx2);
binPopx3 = children(:,qx1+qx2:qx3+qx1+qx2);

S-ar putea să vă placă și