Вы находитесь на странице: 1из 30

ALGORITMOS

GENÉTICOS

CÁTEDRA: MÉTODOS MATEMÁTICOS PARA INGENIERÍA QUÍMICA


LAYIMAR CEGARRA
2 INSPIRACIÓN BIOLÓGICA

• En la naturaleza, los organismos obtienen sus habilidades a través del mecanismo de la


Evolución Natural.
• Las especies se crean, evolucionan y desaparecen si no se adaptan ⟹ sólo los mejores
sobreviven.
• La computación ve en dicho marco un claro proceso de optimización:
 se toman los individuos mejores adaptados (mejores soluciones temporales),
 se cruzan (mezclan), generando nuevos individuos (nuevas soluciones) que
contendrán parte del código genético (información) de sus antecesores, y
 el promedio de adaptación de toda la población se mejora.
3 COMPUTACIÓN EVOLUTIVA

• Rama de la computación que engloba técnicas que simulan la evolución natural.

• Las soluciones, codificadas en un cromosoma, compiten para ver cuál constituye la mejor
solución.
Gen ⟶ codificación de un elemento particular del candidato a solución
𝐶𝑖
Individuos o Cromosomas ⟶ candidato a solución del problema
Poblaciones y generaciones ⟶ conjunto de soluciones
4 ANALOGÍAS UTILIZADAS ENTRE BIOLOGÍA
Y COMPUTACIÓN
Funciones de aptitud ⟶ función objetivo
• Mide el grado en el que cada individuo de una población cumple con el objetivo del
problema.
• Debe encapsular todas las restricciones del problema, representadas con un costo.
• El valor de aptitud de un cromosoma se obtiene sumando los costos de las
restricciones no cumplidas.

Diversidad
• Distancia media entre individuos en una población.
• Permite al algoritmo buscar una región más grande del espacio.
5 ALGORITMOS EVOLUTIVOS

• Sistemas de resolución de problemas de optimización o búsqueda, empleando modelos


computacionales de algún mecanismo de evolución conocido.

• Trabajan con una población de individuos, que representan soluciones candidatas a un


problema.

• La población se somete a ciertas transformaciones y después a un proceso de selección,


constituyendo generaciones.

• Se espera que después de cierto número de generaciones, el mejor individuo de la


población esté cerca de la solución buscada.

• Combinan la búsqueda aleatoria (transformaciones), con una búsqueda dirigida (selección).


6 ALGORITMOS EVOLUTIVOS
7 ALGORITMO GENÉTICO

• “los algoritmos genéticos son algoritmos de búsqueda basados en los mecanismos de


selección natural y de la genética natural. Combinan la supervivencia del más apto entre
estructuras de secuencias con un intercambio de información estructurado, aunque aleatorizado,
para constituir así un algoritmo de búsqueda que tenga algo de las genialidades de las
búsquedas humanas” [Goldberg 1989].

• Es un método para solucionar problemas de optimización con o sin restricciones


basándose en un proceso de selección natural que imita la evolución biológica.
8 ALGORITMO GENÉTICO

• Es independiente del problema.

• Sólo se requiere una forma de representación de las soluciones candidatas y una forma
de medir el grado en el que cada solución candidatas resuelve el problema.

• Bajo elitismo, se puede demostrar que el algoritmo converge en probabilidad al óptimo.

• Para encontrar los óptimos globales, hacen uso de un modo eficiente de dos técnicas:
a) explorar áreas desconocidas en el espacio de búsqueda, y
b) explotar el conocimiento obtenido de puntos previamente evaluados.
9 DIFERENCIAS DE LOS AG Y LAS ESTRATEGIAS DE
BÚSQUEDA CONVENCIONALES

1. Son más difíciles de engañar por trabajar sobre un conjunto codificado de soluciones, y
no con las funciones y sus variables de control.

2. Buscan en paralelo con una población de puntos muestrales bien adaptados, no un único
Pueden tomar otro tipo de
punto; se reduce la probabilidad de caer en una cima falsa.
funciones objetivo y todo tipo
de restricciones (lineales y no
3. Emplean directamente la lineales)
función definidas
objetivo,sobre
no necesitan derivadas ni otra información
complementaria, ganandoespacios
eficiencia y generalidad.
discretos, continuos
o espacios de búsqueda
4. Selecciona la siguiente población mediante reglas de transición probabilísticas
combinados
(operadores aleatorios), no deterministas.
10 VENTAJAS DEL ALGORITMO GENÉTICO

• Son intrínsecamente paralelos.


 operan de forma simultánea con varias soluciones, si la solución resulta subóptima la
desechan y siguen por otros caminos.
 al evaluar la aptitud de un individuo particular, sondea al mismo tiempo cada uno de los
espacios a los que pertenece.

• Resultan menos afectados por los máximos locales, gracias al paralelismo, selección, mutación
y cruzamiento.

• No necesitan conocimientos específicos sobre el problema que intentan resolver.

• Habilidad para manipular muchos parámetros simultáneamente (problemas multiobjetivo).


11 DESVENTAJAS DEL ALGORITMO GENÉTICO

• Definir una representación del problema.

• Cómo elegir la función de aptitud?

• Pueden tardar mucho en converger o no converger en absoluto, dependiendo en cierta


medida de los parámetros que se utilicen.

• Convergencia prematura, si un individuo que es más apto que la mayoría.


12 VERSIÓN BÁSICA DEL ALGORITMO
GENÉTICO
1. Generar una población inicial de soluciones.

2. Seleccionar, de la población actual, los individuos mejor adaptados (PADRES)

3. Cruzar algunos Padres para obtener su descendencia (HIJOS)

Decidir si un grupo de la población actual con los mejores valores de


aptitud, pasan a la siguiente generación, y elegirlo. (HIJOS ELITE)

4. Mutar algunos Hijos para obtener individuos mutadas.

5. Elegir los individuos que sobreviven y formaran la nueva generación.

6. Si no se alcanza un criterio de parada volver al paso 2.


13 ALGORITMO GENÉTICO

Población Inicial
• Puede ser generada de forma aleatoria o tomada de una base de conocimiento del problema.
• Debe tener un tamaño lo suficientemente grande para garantizar la diversidad de soluciones.
• El algoritmo genético puede encontrar el mínimo incluso con una opción menos que óptima
para el rango inicial.

Tamaño de la Población: indica el número


de cromosomas que se tiene en una
población para una generación determinada.
14 ALGORITMO GENÉTICO

Probabilidad de Reproducción o de Cruce 𝑷𝑪


Indica la frecuencia con la que se producen cruces entre los cromosomas padres.
𝑷𝑪 = 𝟎, los hijos serán copias exactas se los padres;
𝟎 < 𝑷𝑪 < 𝟏, los hijos tendrán partes de los cromosomas de los padres;
𝑷𝑪 = 𝟏, el hijo se crea totalmente por cruce, no por partes.

Probabilidad de Mutación 𝑷𝑴
Indica la frecuencia con la que los genes de un cromosoma son mutados.
𝑷𝑴 = 𝟎, los descendientes son los mismos que había tras la reproducción;
𝟎 < 𝑷𝑴 < 𝟏, parte del cromosoma descendiente es modificado;
𝑷𝑴 = 𝟏, la totalidad del cromosoma se cambia.
15 ALGORITMO GENÉTICO

Representación de los Cromosomas


• Deben ocupar el menor espacio posible, ser fáciles de preservar.
• Cada individuo es una cadena de bits (0 o 1).
16 OPERADORES DEL ALGORITMO GENÉTICO

• Los operadores utilizados por un AG se aplicarán sobre estos cromosomas, o sobre


poblaciones de ellos, para crear la siguiente generación a partir de la población
actual.

Operadores Evolutivos: Selección o Reproducción Operadores Genéticos: Cruce y Mutación


17 OPERADORES EVOLUTIVOS: SELECCIÓN O
REPRODUCCIÓN
• Permite orientar la búsqueda a aquellos puntos más promisorios.
• Este operador escoge individuos entre la población, basado en sus valores de aptitud,
para efectuar la reproducción.
• Es independiente de la representación de los individuos.

Presión de selección: medida en la que los individuos con mayor aptitud tienen una mayor
probabilidad de reproducirse. Puede provocar “convergencia prematura”.

Takeover time: inverso del tiempo que tarda la población en ser colonizada por copias del
mejor individuo utilizándose únicamente el operador de selección.
18 SELECCIÓN POR RUEDA DE RULETA

1. Determinar la suma S de las adaptaciones de toda la población.


2. Crear la ruleta de la población actual.
𝑓𝑖 𝑓𝑖
Asignar a cada cromosoma una parte de la ruleta en función a su puntuación 𝑝𝑖,𝑡 = ; 𝑁𝑒,𝑖 =
σ𝑛𝑗=1 𝑓𝑗 𝑓ഥ𝑡
3. Girar la ruleta: Generar un número aleatorio en [0,S).
4. Seleccionar el individuo 𝑝𝑖,𝑡 cuyo segmento cubre el número aleatorio,
y asignar un número de copias esperadas
5. Si n° muestras seleccionadas < tamaño de la población
Volver al paso 3
En caso contrario
Finalizar.
19 SELECCIÓN POR RANGO

• A cada individuo de la población se le asigna un rango numérico basado en su aptitud, y la


selección se basa en este ranking, en lugar de las diferencias absolutas en aptitud.

1. Ordenar la población del mejor individuo (x = 1) al peor (x = M).


2. Asignar un número de copias esperadas según

3. Usar método de la ruleta para llenar la población.


20 SELECCIÓN POR TORNEO

• Se eligen subgrupos de individuos de la población


• Se elige al individuo que tiene puntuación mayor de cada subgrupo para la reproducción.

1. Escoger tamaño de torneo K.


2. Crear una permutación aleatoria de M enteros.
3. Comparar la adaptación de los próximos K-miembros

de la población y seleccionar el mejor.


4. Si se acaba la permutación, generar una nueva permutación.
5. Repetir hasta llenar la población.
21 OTROS TIPOS DE SELECCIÓN

Selección escalada:
• la función de aptitud se hace más discriminadora cuando la fuerza de la presión selectiva
también aumenta.
• Puede ser útil cuando todos los individuos tengan una aptitud relativamente alta y sólo
les distingan pequeñas diferencias en la aptitud.

Selección jerárquica:
• los individuos atraviesan múltiples rondas de selección en cada generación.
• La ventaja de este método es que reduce el tiempo total de cálculo al utilizar primero
una selección más rápida, y sometiendo a una evaluación de aptitud más rigurosa sólo a
los que sobreviven.
22 OPERADORES GENÉTICOS: CRUCE Y
MUTACIÓN
• Alteran aleatoriamente a los individuos aptos con la esperanza de mejorar su aptitud para
la siguiente generación.
• Son dependientes de la representación de los individuos.

Métodos de especiación. Técnica para restringir la recombinación.


Dos individuos puedan ser recombinados, si la 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝑓𝑒𝑛𝑜𝑡í𝑝𝑖𝑐𝑎 𝑜 𝑔𝑒𝑛𝑜𝑡í𝑝𝑖𝑐𝑎 ≤
𝜎𝑚𝑎𝑙𝑖𝑛𝑔 ; si no se puede encontrar tal pareja, dos individuos son elegidos al azar.
23 CRUCE O REPRODUCCIÓN

Elegir aleatoriamente un par de individuos seleccionados, decidir si se cruzaran, y dividirlos en


secciones según los puntos de cruce, que se recombinan para formar su descendencia.
24 MUTACIÓN

• Se decide, para cada individuo de la población, si


se va a mutar, y aplicar el operador de mutación.

• Produce variaciones de modo aleatorio en uno o


varios genes de un cromosoma.

• Los algoritmos genéticos incorporan la mutación


como una forma de incluir soluciones de regiones
diferentes del espacio de búsqueda.
25 REEMPLAZO DE LA POBLACIÓN

• Modelo generacional. La nueva


población reemplaza directamente a la
antigua.

• Modelo estacionario. Es elitista. No


reemplaza al mejor cromosoma de la
población
26 CONDICIONES DE PARADA

El algoritmo genético se detiene cuando:


• El número de generaciones es igual a Generaciones máximas.

• Después de ejecutarse durante un período de tiempo igual al Límite de tiempo.

• El valor de la función de aptitud para el mejor punto de la población actual es menor o igual
que el Valor de aptitud límite.

• El cambio relativo promedio en el valor de la función de aptitud sobre las siguientes


generaciones es menor que la tolerancia de la función.

• No hay mejoría en la función objetivo durante un intervalo de tiempo igual al Límite de


tiempo de parada .
27 APLICACIONES DE LOS ALGORITMOS
GENÉTICOS
• Ingeniería Aeroespacial, Robótica, Diseño de circuitos integrados,…

• Aprendizaje máquina: se han utilizado en muchas de estas aplicaciones, tales como la


predicción de la estructura de una proteína.

• Genética de poblaciones: En el estudio de preguntas del tipo “¿Bajo qué condiciones


será viable evolutivamente un gen para la recombinación?”
28 ALGORITMO GENÉTICO. EJEMPLO
29 EJEMPLOS

Ruta óptima Mejor Auto


30 EJEMPLOS

Optimización de materiales

Вам также может понравиться