Title: Clase 6: Dise
1Clase 6 Diseño de un Algoritmo Genético,
Componentes Básicos
Computación Evolutiva Gabriela Ochoa http//www.ld
c.usb.ve/gabro/
2Contenido
- Términos de Computación Evolutiva
- Pasos fundamentales en el Diseño de un Algoritmo
Genético - Componentes básicos de un Algoritmo Genético y
sus variantes - Representación Genética
- Inicialización de la población
- Función de Aptitud (fitness)
- Esquema de Selección
3Términos de CE
- Cromosoma estructura de datos que contiene una
cadena de parámetros de diseño o genes. Ejemplo,
como una cadena de bits o un arreglo de enteros - A un cromosoma se le puede llamar también
genotipo o individuo
4Términos de CE
- Gen subsección de un cromosoma que (usualmente)
codifica el valor de un solo parámetro.
5Términos de CE
- Se denomina aptitud (fitness) al valor que se
asigna a cada individuo y que indica qué tan
bueno es éste con respecto a los demás para la
solución de un problema.
Si
entonces
6Esquema de un Algoritmo Genético
Procedure GA t 0 / Initial Generation /
initialise population(t)
evaluate(t)
until (done) t t1 parent_selection(t)
recombine(t) mutate(t) evaluate(t) selec
t_survivors(t)
7Pasos Fundamentales
- Escoger una representación genética adecuada
- Diseñar e implementar la función de adaptación
- Estos dos elementos conforman el puente entre el
problema y el marco del algoritmo
8Otras Decisiones
- Método de selección cómo implementar la
selección - Escogencia de los operadores Qué operadores
genéticos utilizar - Valores de los parámetros Cómo escoger los
valores de los parámetros evolutivos
9Componentes Básicos de un AG
- Representación o codificación
- Inicialización de la Población
- Función de Fitness o Adaptación
- Selección
- Operadores Genéticos
- Reemplazo de la Población
- Elitismo
- Criterio de Terminación
- Medidas de Desempeño
10Representación o Codificación
- Las soluciones potenciales al problema se
representan como un conjunto de parámetros
(genes) - Estos parámetros se agrupan para formar una
cadena de valores (cromosoma) - Tradicionalmente en AGs cadenas de bits, otras
representaciones, números reales, árboles, etc
11Ejemplo Representación Discreta (Bit String)
La representación genética puede basarse en
valores discretos binarios, enteros u otro
sistema o alfabeto con un conjunto discreto de
valores
Cromosoma
Gen
12Ejemplo Representación Discreta (Bit String)
Fenotipo
13Fenotipo Números Enteros
Genotipo
Fenotipo
163
127 026 125 024 023 022 121
120 128 32 2 1 163
14Fenotipo Números Reales
Ejemplo representar un número entre 2.5 y 17.5
utilizando 8 bits
Genotipo
Fenotipo
12.1
15Conversión a Número Real
- Conocer el rango de la variable (Ej. 2.5,
17.5) - La longitud del string dependerá de la precisión
requerida - Ejemplo anterior, precisión 1 dígito decimal,
quiere decir que debo representar 1510 números.
Por tanto necesito 8 bits, l 8, (128 27 lt
150 lt 28 256) - Aloritmo
- Convertir el número de ase 2 a base 10 (x)
16Fenotipo Asignación (Schedule)
Ejemplo 8 tareas a ser asignadas en dos etapas
Etapa Tiempo
Tarea
1 2 3 4 5 6 7 8
2 1 2 1 1 1 2 2
Genotipo
Fenotipo
17Inicialización de la Población
- Uniformemente en el espacio de búsqueda (si es
posible ) - Binario 0 ó 1 con probabilidad 0.5
- Introducir semillas en la población con
resultados previos o provenientes de otras
heurísticas (con cuidado ) - Posible pérdida de la diversidad genética
- Posible preferencia (bias) no recuperable
18Función de Fitness o Adaptación
- Propósito proveer una medida de la calidad de la
solución candidata o cromosoma - Para algunos problemas diseñar una función de
fitness es sencillo (ej. Optimización de
funciones o combinatoria). Pero este no es
siempre el caso en aplicaciones reales - Este es el paso mas costoso en las aplicaciones
reales (no deben reevaluarse individuos no
modificados) - Puede ser una sub-rutina, una caja negra, o
cualquier proceso externo (Ej. simulación de
robots) - Se puede utilizar aproximaciones al fitness
19Función de Fitness o Adaptación
- Manejo de restricciones -- que hacer si un
individuo rompe alguna restricción del problema - Penalizar el fitness de la solución
- Métodos específicos (reparar la solución)
- Algorimtos Genéticos Multiobjetivo, produce un
conjunto de soluciones, compromiso entre varios
objetivos
20Selección
- Asigna oportunidades reproductivas a cada
organismo de la población - Mientras más apto sea un organismo (valor de
aptitud mas alto), mas veces será seleccionado
para reproducirse - Afecta el proceso de búsqueda
- Selección muy fuerte organismos de alto fitness
que son subóptimos puede tomar la población,
disminuyendo diversidad necesaria para progreso - Selección muy débil evolución muy lenta
21Métodos de Selección
- Selección Proporcional (Proportional
Selection) - Métodos de Escalamiento (Scaling)
- Selección por Rango (Rank Selection)
- Selección por Torneo (Tournament
Selection) - Selección (m, l) y (m l)
22Selección Proporcional
- El número de veces que un individuo con fitness
fi es seleccionado es
- Los mejores individuos (más adaptados) tienen
- Mas chance de ser elegidos
- Mas espacio en la ruleta
Mejor
Peor
23Selección Proporcional
- Método mas común de implementarlo Rueda de la
ruleta (Roulette wheel) - Produce errores de muestreo dado los tamaños de
población usados (número actual de seleccionados
se aleja del valor esperado) - Para minimizar estos errores, Baker en 1987,
propuso el llamado SUS (Stochastic Universal
Sampling). Computacionalmente mas eficiente,
utilizado en aplicaciones reales
24Selección Proporcional (Desventajas)
- Peligro de Convergencia Prematura (premature
convergence) debido a que individuos muy aptos
dominan la población completa muy rápidamente - Baja Presión Selectiva (selection pressure)
cuando los valores de aptitud son muy cercanos
entre si. Se produce estancamiento en el proceso
de búsqueda - Requiere que los valores de fitness sean
positivos (no negativos)
25Definiciones
- Convergencia prematura fenómeno de convergencia
a uns solución sub-óptima - Convergencia Se dice que un gen ha convergido
cuando el 95 de la población tiene el mismo
valor en esa posición. La población ha convergido
cuando todos los genes han convergido. - Presión Selectiva termino informal, indical la
fuerza de un mecanismo de selección. Radio
entre el máximo fitness y el fitness promedio de
la población
26Escalamiento
- Manera de aligerar los problemas de la selección
proporcional - Mapear los valores de la función objetivo a
valores positivos - Mantener niveles apropiados de competencia entre
los individuos a lo largo de la corrida - Se han propuesto varios métodos
27Métodos de Escalamiento
- Se han propuesto 3 métodos generales de
escalamiento - Escalamiento Lineal
- Truncamiento Sigma
- Escalamiento por Ley de Potencia
28Escalamiento Lineal
- f es sustituida por f af b donde a y b se
escogen de forma tal que favg favg
i.e. el promedio escalado es igual al
promedio original - y fmax c favg donde c es el
número epsperado deseado de copias del mejor
individuo. Usualmente c 2
29Truncamiento Sigma
- f ' f - (favg - c ?) donde ? es la desviación
estándard de la población c es un múltpiplo
razonable de ? (usualmente 1 lt c lt 3). Los
resultados negativos se asignan arbitrariamente a
0 - Elimina el problema de escalar a valores
negativos
30Escalamiento por Ley de Potencia
- f es reemplazado por f ' fk con un valor
adecuado de k - Este método no es muy usado
- En general el valor de k depende mucho del
problema y puede requerir cambios dinámicos para
aumentar o disminuir el rango cuando sea
necesario
31Selección por Torneo
- Seleccionar k individuos sin reemplazo
- Tomar el mejor
- (k es llamado el tamaño del torneo)
32Selección basada en rango
- Se ordenan los individuos según su fitness del
mejor al peor. La posición en esta lista ordenada
se llama rango - En lugar de usar los valores de fitness del
individuo, el rango se usa para seleccionar los
individuos en esta lista ordenada