Taxonomía de un algoritmo genético Adaptado de “Genetic algorithms”, Dr. Angel Kuri Morales, 1998 Categoría Codificación Clasificación Primaria Secundaria Numérica Pesada No pesada No numérica Población inicial Aleatoria Dirigida Por genoma Por solución Mixta Evaluación Directa Normalizada Selección Probabilística Uniforme Normal Nietzsche Supervivencia Uno a uno Mutación Migración Individuos al azar ¿Cómo determinar el número de individuos con los cuáles empezar la simulación y cómo generarlos? “Prototipos”: 1*, 0*, (10)* Individuos selectos a genomas 60% +20% +20% (Ver fórmulas en recuadro) ¿Cómo se procesa el desempeño obtenido a fin de seleccionar luego? Torneo Distribución gaussiana (% desempeño) Variedad: Mejor Peor Desempeño: Mejor Siguiente Una vez determinado el desempeño de cada individuo de la generación, ¿cómo decidir cuántas veces y con quién será cruzado para generar los descendientes de la generación? P M O, A El tamaño de la generación, ¿se mantiene constante o varía? Uno a muchos Lineal Bit a bit Anular Intercambio por bloques Intercambio por bits Corrimiento de bits ¿Cómo se producen individuos nuevos a partir de individuos ya existentes? 0.005 Pm 0.01 Gauss “Mutación inteligente” ¿Cómo se introduce –y mantiene– la variedad genética de las poblaciones y ampliar la búsqueda? Sin elitismo Parcial Completa Todos mueren ¿Qué ocurre con los individuos que van quedando atrás en una generación? ¿Se guarda a los mejores o también desaparecen? Sin migración Débil Un solo núcleo poblacional Aleatoria Fuerte Criterio de paro ¿Cómo representar en una cadena genética (genoma) una posible solución a un problema determinado? P “juega” más de una vez Uniforme Normal Dirigida Elitismo Conceptos y comentarios Código binario posicional Código de Gray Conexión entre dos nodos dados de un grafo Bits, “Trits”, … Tomar el desempeño tal cual Determinística Vasconcelos Cruzamiento Ejemplos Algunos mueren Nadie muere Aleatoria Período fijo Aleatoria Período fijo Número de generaciones Desempeño Desviación Razón mejor/media Se intercambian individuos al azar Se intercambian individuos seleccionados Digamos 100 Ya se encontró al mejor Durante x generaciones las poblaciones no varían mucho El mejor ya no lo es tanto ¿Cómo mantener la variedad genética de las poblaciones y aprovechar las ventajas del procesamiento paralelo? ¿Cuándo finalizar la simulación del algoritmo genético?