• No results found

7.2.1 Generalidades

A pesar de su nombre no existe mucha relación entre la genética natural y los algoritmos genéticos. La genética natural es muchísimo más compleja, en comparación con los algoritmos genéticos que solo son el resultado de aplicar un conjunto insignificante de conceptos; por esta razón también se les conoce como algoritmos evolutivos, ya que esta denominación describe mejor su funcionamiento.

El objetivo de los algoritmos genéticos es el de buscar el óptimo para un problema dado, o de no ser posible el óptimo un resultado muy próximo a él (sub-optimo). En ingeniería el problema puede ser el de dimensionar una estructura de hormigón armado, un cambiador de calor etc. El objetivo de optimizar dichos problemas puede ser el de minimizar sus costes; maximizar la generación de empleo; minimizar sus impactos ambientales; o maximizar su índice de sostenibilidad global.

7.2.2 Proceso de los Algoritmos Genéticos

Todo algoritmo genético se aplica a una población inicial. Para la definición de esta población inicial se realiza un proceso de iniciación, lo cual supone realizar una preselección de soluciones. Para dicho proceso, o bien se comienza por una preselección de individuos que ya tienen un buen ajuste, o se selecciona la sub- población que mejor ajuste tenga, dentro de una población existente, o bien se selecciona aleatoriamente la población inicial, con valores aceptables de ajuste.

Una vez que se tiene esa población inicial, es decir tras la preselección, se procede con la reproducción de dicha población. La reproducción puede ser de dos formas o bien por clonación (empleando un solo individuo) o mediante cruce (crossover), habitualmente mediante dos individuos, aunque también se puede realizar cruces de más de dos individuos. Cada hijo parte de los genes de sus padres (al igual que la reproducción humana), aunque no necesariamente el reparto se hace al 50% (mitad y mitad). Además, para acercarse más a la realidad, tanto si es una reproducción por clonación o por cruce se producen mutaciones. La nueva generación es evaluada (ajuste), y si el algoritmo está bien ajustado, la evaluación media debería mejorar con respecto a la anterior generación.

Una vez que se obtienen la nueva generación, viene el proceso de supervivencia, que consiste en seleccionar los nuevos individuos que van a formar parte del siguiente

proceso de reproducción. Existen muchas estrategias de supervivencia, puede ser que la generación nueva sustituya a la generación anterior (todos los padres por todos los hijos), o dejando que los padres que tengan mejor ajuste que los hijos de nueva generación, sobrevivan, normalmente generando menos hijos. Tras la selección de los mejores individuos, estos se reproducen, y la nueva generación es evaluada.

Después hay sucesivos procesos de supervivencia y reproducción, hasta que se produzca la convergencia. Cada vez que se evalúa una nueva generación se calcula unos datos estadísticos con las puntuaciones (ajustes) de los diferentes individuos, haciendo que el algoritmo se detenga cuando, en varias evaluaciones seguidas, la mejoría de los ajustes sea menor a un porcentaje establecido. Una vez que se llega a la convergencia, se toma el individuo que mejor se ajuste al óptimo o sub-óptimo.

En la figura 27 se muestra un flujograma resumen del proceso aquí explicado.

Figura 27. Flujograma resumen de los algoritmos genéticos (fuente: del Caño, A., de la Cruz, M.P.)

7.2.3 Ejemplo Biológico

Imaginemos que estamos viendo una población de ratones. Estos ratones muestran dos tamaños, pequeño y grande, y dos colores, claros y oscuros. Nuestra población consiste de los siguientes ocho ratones:

Figura 28. Ejemplo Biológico I (fuente: Palisade Corporation, 2010)

Los principales depredadores son gatos donde, resulta que los ratones más oscuros y pequeños son más difíciles de encontrar por parte de los gatos. De esta forma,

distintos ratones poseen diferentes posibilidades de evitar a los gatos por un tiempo suficientemente largo como para poder reproducirse. Asumiendo que los ratones viejos mueren justo después de reproducirse, la próxima generación de ratones se ve como sigue en la figura 29:

Figura 29. Ejemplo Biológico II (fuente: Palisade Corporation, 2010)

Nótese que los ratones grandes, los ratones claros y más aún los ratones blancos y grandes están teniendo problemas para sobrevivir lo suficientemente como para reproducirse. Esto continúa en la próxima generación como se ve en la figura 30.

Figura 30. Ejemplo Biológico III (fuente: Palisade Corporation, 2010)

Ahora la población consiste, sobre todo, de ratones pequeños y oscuros, ya que estos ratones están mejor adaptados a la supervivencia en este ambiente que otros tipos de ratones.

7.2.4 Ejemplo Digital

Imaginémonos que tenemos un problema con dos variables, X y Y, que dan un resultado Z. Si calculásemos representasemos la Z resultante para cada valor posible X y Y, veríamos algo parecido a la figura. Ya que estamos tratando de encontrar un “Z” máximo, los picos de la función son soluciones “buenas”, y los valles son “malas” como se aprecia en la figura 31.

Figura 31. Ejemplo Digital I (fuente: Palisade Corporation, 2010)

Al utilizar algoritmos genéticos para maximizar nuestra función, empezamos creando algunas soluciones posibles, además de ser aleatorias (los puntos negros), en vez de solamente un punto de partida. Posteriormente, se valoran todos los escenarios, y se ordenan de mayor a menor satisfacción.

Cada uno de los tres escenarios restantes se duplica a sí mismo, haciendo que el número de escenarios sea una vez más de seis. Cada uno de los seis escenarios está hecho de dos valores ajustables (representados como una coordenada con un X y un Y). Los escenarios se emparejan con otro de manera aleatoria. Ahora, cada escenario intercambia cada uno de sus dos valores ajustables con el correspondiente valor de su pareja. Por ejemplo:

Antes Después Escenario 1 3.4, 5.0 2.6, 5.0

Escenario 2 2.6, 3.2 3.4,3.2 Tabla 18. Ejemplo Digital (fuente: Palisade Corporation, 2010)

Esta operación se denomina de cruce (“crossover”). Cuando nuestros seis escenarios se emparejan aleatoriamente y ejecutan un cruce, podríamos obtener un nuevo conjunto de escenarios como éste de la figura 32:

Figura 32. Ejemplo Digital II (fuente: Palisade Corporation, 2010)

Vemos que algunos de los nuevos escenarios dan un resultado más bajo (menor altitud) que cualquiera que vimos en la generación original. Sin embargo, un escenario está en una situación muy alta. Si permitimos que la población evolucione una generación más, podríamos ver una escena como la siguiente:

Figura 33. Ejemplo Digital III (fuente: Palisade Corporation, 2010)

Se puede observar como la población tienden hacia el óptimo, aunque no se logre obtener el máximo, el resultado son valores muy próximos a este.

Related documents