Está en la página 1de 39

UT 7.

ALGORITMOS GENÉTICOS Y VIDA


ARTIFICIAL
UT 7: ALGORITMOS GENÉTICOS

¿QUÉ ES UN ALGORITMO GENÉTICO?

LOS COMPONENTES

El CICLO DE LA EVOLUCIÓN

ESTRUCTURA DE UN ALGORITMO GENÉTICO


• “He llamado a este principio, por el
cual, cada pequeña variación, si es útil,
se conserva, por el termino de la
selección natural …. La expresión
Introducción utilizada a menudo por Mr. Herbert
Spencer de la supervivencia del más
Teórica apto es más exacta, y a veces es
igualmente conveniente”.
General
• CHARLES DARWIN
• On the Origin of Species bye
means of Natural Selection, 1859
Teoría General
• Definición
• Metaheristicas que emulan la evolución biológica.

• Implementación
• Interpretando la naturaleza como una
formidable maquinaria de resolución de
problemas.
• Mecanismo análogo a los procesos evolutivos
naturales, con el objetivo de resolver
problemas de búsqueda y optimización.
• Trabajan con una población de soluciones.

• Objetivo
• Siguen la idea de la supervivencia de los individuos mas
aptos, evaluando de acuerdo al problema a resolver,
mediante una función de fitness.
Introducción Teórica General
Tres paradigmas fundamentales: GP,
ES y GA
• “Los Algoritmos Genéticos son algoritmos de
optimización búsqueda y aprendizaje inspirados
en los procesos de Evolución Natural yEvolución
¿Qué es Genética”.

• Trabajan con una población de individuos,


un cada uno de los cuales representa una solución
factible a determinado problema. A cada
individuo se le asignan un valor o puntuación
Algoritmo relacionada con lafunción de adaptación
(fitness).

Genético? • Se utiliza operadores


genéticos probabilísticos de
selección, recombinación y
mutación.
• VENTAJAS
• Simplicidad conceptual del mecanismo
de exploración.
• Amplia aplicabilidad.
¿Qué es • Superiores a métodos tradicionales en
muchos problemas delmundo real.
• Pueden incorporar conocimiento sobre
un el dominio delproblema.
• Pueden hibridizarse con otras técnicas
Algoritmo de búsqueda.
• Son robustas a los cambios dinámicos.
• En general, pueden auto-adaptar sus
Genético? parámetros.
• Explotan de modo natural las
ventajas del procesamiento
paralelo retornar Mejor Solución
Encontrada.
• DESVENTAJAS Y LIMITACIONES

¿Qué es
• Para problemas de alta complejidad la función de evaluación puede
tornarse demasiado costosa en términos de tiempo y recursos.

• Puede haber casos en los cuales dependiendo los parámetros que se


utilicen para la

un •


evaluación el algoritmo podría no llegar a converger en una solución
óptima o bien terminar en

una convergencia prematura con resultados no satisfactorios.

Algoritmo •

Se dice que no poseen una buena escalabilidad con la complejidad.
La "mejor" solución lo es solo en comparación a otras
soluciones por lo que no se tiene demasiado claro un

Genético?
criterio de cuándo detenerse ya que no se cuenta con
una solución específica
• El diseño, la creación de la función de aptitud (fitness) y la
selección de los criterios de mutación entre otros, necesitan
de cierta pericia y conocimiento del problema para obtener
buenos resultados.
Los Componentes
Ciclo de Evolución
Selección
PADRES
Cruce

POBLACIÓN Mutación

Reemplazo

DESCENDIENTES
Estructura de un Algoritmo Genético

Procedimiento de AG Inicio (1)


• t = 0;
• inicializar P(t); evaluar P(t);
• Mientras (no se cumpla la condición de parada)
hacer Inicio(2)
•t = t + 1
• seleccionar P(t) desde P(t-1) recombinar P(t)
• mutación P(t) evaluar P(t)
• Final(2) Final(1)
Modelo: Generacional vs Estacionario
Modelo generacional: Durante cada iteración se crea una
población completa con nuevos individuos. La nueva
población reemplaza directamente a la antigua.
Modelo: Generacional vs
Estacionario
• Modelo estacionario. Durante cada iteración se escogen dos padres de
la población (diferentes mecanismos de muestreo) y se les aplican los
operadores genéticos. El/los descendiente/s reemplazan a uno/dos
cromosoma/s de la población inicial.
Estructura de un Algoritmo Genético : Pasos

Diseñar una representación.

problema
Depende
del
Decidir como inicializar la población.
Diseñar una correspondencia entre el genotipo y fenotipo.
Diseñar una forma de evaluar al individuo.
Diseñar un operador de mutación adecuado.

Componentes
Diseñar un operador de cruce adecuado.

del AG
Decidir la selección de individuos para ser padres.

Decidir como reemplazar a los individuos

Decidir condición de parada.


• En 1992, J.C. Holland observa un paralelismo
entre los mecanismos de evolución de las
especies descritos por Darwin y el concepto
Algoritmos de aprendizaje, puesto que las especies
evolucionan para adaptarse mejor al medio
genéticos: y conseguir así mayor funcionalidad.
Introducción • Holland se plantea mecanismos
computacionales para el aprendizaje que
reflejen la misma filosofía que la evolución:
algoritmos genéticos
• Holland introduce los algoritmos genéticos
estableciendo los siguientes paralelismos
con los elementos de la teoría de Darwin:
• población: un conjunto de individuos (datos,
Algoritmos objetos...) que puedan agruparse como conjunto
genéticos: • mecanismos competitivos: establecemos una
función para elegir los mejores individuos de la
Introducción población
• mecanismos genéticos: operadores
computacionales para emular la mutación y el
cruzamiento
Algoritmos genéticos: Introducción

Todo problema (tenga o no relación con la biología) que pueda modelarse


distinguiendo una población, un conjunto de mecanismos competitivos y
un conjunto de operadores genéticos, podrá ser resuelto con un algoritmo
genético

¿cómo se representa un individuo?

Antes de proceder a aplicar un ¿cuál es la función de adaptación?


•La función de adaptación determina el grado de satisfacción
algoritmo genético, debemos que supone la evolución de un individuo concreto asignándole
un valor (que suele ser un nº real)
plantearnos las siguientes cuestiones: ¿cómo se escogen los individuos?
¿cómo se reproducen los individuos?
Algoritmos genéticos:
Esquema general del
algoritmo
1. Inicializar aleatoriamente
una población de 2. Evaluar cada una de las
soluciones a un problema soluciones, y asignarle una
(representadas con las puntuación según su
estructuras de datos calidad
adecuadas)

4. Mutar (modificar) y
3. Escoger de la población entrecruzar (combinar) las
la parte que tenga una diferentes soluciones de esa
puntuación mayor parte escogida, para
reconstruir la población

5. Repetir un número
determinado de veces, o
hasta que se haya
encontrado la solución
deseada
Algoritmos genéticos:
Fases del algoritmo
genético
FASE 1: Definición de los individuos

• Un individuo es un elemento del dominio


• Se representará mediante una cadena de
longitud L, formada por elementos del alfabeto 

FASE 2: Selección de los individuos

• Definición de una función de idoneidad


• La función de idoneidad asocia un valor a cada
individuo de la población; se seleccionará el que
tenga mejor valor

FASE 3: Modificación

• Obtener nuevos individuos a partir de los


seleccionados en la fase anterior
• Existen fundamentalmente 2 técnicas:
combinación o crossover, y mutación
Algoritmos genéticos:
Fases del algoritmo genético
OPERADORES DE COMBINACIÓN
- Combinación puntual o 1-point crossover: es el
más usual.
• Sean dos individuos I1 e I2, ambos de longitud L, y un valor de k
entre ]1, L-1[. Podemos obtener el nuevo individuo I1’
concatenando los elementos I11I12...I1k con los elementos
I2(k+1)I2(k+2)...I2L, e I2’ de manera análoga. Por ejemplo, para L=5 y
k=2:
I1=I11I12I13I14I15 I1’= I11I12I23I24I25
I2=I21I22I23I24 I25 I2’= I21I22I13I14I15
OPERADORES DE MUTACIÓN
• La mutación consiste en elegir al azar un
eslabón de la cadena (un elemento del
Algoritmos individuo) y modificar su valor.
• Por ejemplo, para el individuo I dado,
genéticos: modificamos el valor del 3er elemento por la
Fases del izquierda y obtenemos el nuevo individuo I’:
I= 0100 0101
algoritmo
I’= 0110 0101
genético • Nótese que en este caso ={0, 1}.
• FASE 4: SUSTITUCIÓN
• Una vez obtenidos los nuevos individuos, ya sea
Algoritmos mediante combinación o mutación, se trata de
que éstos reemplacen a los individuos de la
genéticos: población existente
• Hay dos criterios para hacer esto:
Fases del • Modelo poblacional: los nuevos individuos generados
reemplazan a sus padres
algoritmo • Modelo del estado fijo: Seleccionamos a los 2
mejores y a los 2 peores de la población, de acuerdo
genético con el valor que les asignó la función de adaptación.
Entonces, los 2 mejores tendrán 2 hijos que
reemplazarán a los 2 peores.
• Este modelo es el más cercano a la biología
“Algoritmos genéticos y
computación evolutiva”.
Adam Marczyk, 2004
(http://the-
geek.org/docs/algen/)

“Inteligencia Artificial: Un
enfoque moderno”. Stuart
Bibliografía Russell y Peter Norvig.
Prentice-Hall
Hispanoamericana, 1996

Wikipedia en Español
(http://es.wikipedia.org)
Representación
Debemos disponer de un mecanismo para codificar un individuo como un
genotipo. Una vez elegida la representación, se evaluará a los genotipos
(codificación) y los operadores genéticos a utilizar.

Una codificación es discreta, en especial binaria.

Fenotipo: Es el conjunto de parámetros representando un cromosoma


particular.
Genotipo: Es la totalidad de la información genética de un individuo.

23/04/2019
Representación

• Los individuos se representan como permutaciones.

• Se utilizan para problemas de secuenciación.


• Ejemplo famoso: Viajante de Comercio, donde cada ciudad
tiene asignado un único número entre 1 y n.
• Necesita operadores especiales para garantizar que el
resultado de aplicar un operador sigue siendo una
permutación.
Inicialización

• Uniforme sobre el espacio de búsqueda


Cadena binaria con probabilidad 0.5
Representación real
• Se elige una población a partir de los resultados de una
heurística previa o una técnica de optimización local.
• La inicialización no aleatoria de la población inicial puede
acelerar la convergencia del AG.
Evaluación de un individuo

• Es el paso más costoso para la aplicación real.


• Puede ser una subrutina, un simulador, un proceso externo.
• Se puede usar funciones aproximadas para reducir el costo
de evaluación.
• Cuando hay restricciones, éstas se pueden introducir en el
costo de penalización.
• Con múltiples objetivos se busca una solución de
compromiso.
Se debe de garantizar que los mejores individuos puedan ser
padres (reproducirse) con una mayor posibilidad frente a los
demás.
La presión selectiva determina en que grado la reproducción
esta dirigida por los mejores individuos.

Selección por torneo (TS): se escoge al individuo de mejor


Fitness de entre Nts individuos seleccionados
aleatoriamente.

Estrategias de Orden lineal (LR): la población e orden en función de su


fitness.
Selección
Selección aleatoria (RS).

Emparejamiento Variado Inverso (NAM): un padre escoge


aleatoriamente a otro para emparejarse.

Selección por Ruleta: se asigna una probabilidad de


selección proporcional al valor del fitness del cromosoma.
(Modelo clásico)
Operador deCruce

• Podríamos tener uno o más operadores de cruce para


nuestra representación.
• Algunos aspectos importantes a tener en cuenta son:
• Los hijos deberían heredar algunas características de cada padre.
Si éste no es el caso, entonces estamos ante un operador de
mutación.
• Se debe diseñar de acuerdo a la representación.
• La recombinación debe producir cromosomas válidos.
• Se utiliza con una probabilidad alta de actuación sobre cada pareja
de padres a cruzar (Pc entre 0.6 y 0.9), si no actua los padres son
los descendientes del proceso de recombinación de la pareja.
Operador de Cruce
Representación binaria:

Población:

23/04/2019
Operador deMutación

• Podemos tener uno o más operadores de mutación para


nuestra representación.
• Algunos aspectos importantes a tener en cuenta son:
• Debe permitir alcanzar cualquier parte del espacio debúsqueda.
• El tamaño de la mutación debe ser controlado.
• Debe producir cromosomas válidos.
• Se aplica con una probabilidad muy baja de actuación sobre cada
descendiente obtenido tras aplicar el operador de cruce (incluidos
los descendientes que coinciden con los padres porque el operador
de cruce no actúa).
Operador deMutación

GEN MUTADO

La mutación ocurre con una probabilidad pm para cada gen.


Estrategia de
Reemplazo
• La presión selectiva se ve también afectada por la forma en que
los cromosomas de la población son reemplazados por los nuevos
descendientes.
• Podemos utilizar métodos de reemplazamiento aleatorios, o
determinísticos. Podemos decidir no reemplazar al mejor cromosoma de
la población: Elitismo.
• Un modelo con alto grado de elitismo consiste en utilizar una
población intermedia con todos los padres (N) y todos los
descendientes y seleccionar los N mejores.
Estrategia de Reemplazo
Cuando se considera un modelo estacionario nos
encontramos con diferentes propuestas.
• Reemplazar al peor de la población (RW). Genera alta
presión selectiva.

• Torneo Restringido (RTS): Se reemplaza al mas parecido de entre


w (w=3, …). Mantiene una cierta diversidad.

• Peor entre semejantes (WAMS): Se reemplaza el peor cromosoma


del conjunto de los w (w=3, …) padres más parecidos al
descendiente generado (seleccionados de toda la población). Busca
equilibrio entre diversidad y presión selectiva.

• Algoritmo de Crowding Determinístico (DC): El hijo reemplaza a su


• 04/p06a/2d01r9emás parecido. Mantiene diversidad
Estrategia de Reemplazo

• Cuando se alcanza el óptimo.

• Recursos limitados del CPU: Fijar el máximo

número de evaluaciones.

• Limite sobre la paciencia del usuario: Después de

algunas iteraciones sin mejora.


Ejemplo: Viajante deComercio
Representación de orden

(3 5 1 13 6 15 8 2 17 11 14 4 7 9 10 12 16)

17 ciudades

Objetivo: Suma de la distancia entre las ciudades.

Población: 61 cromosomas - Elitismo

Cruce: OX (Pc = 0.6) Mutación: Inversión de una lista (Pm = 0.01 –

cromosoma)
Ejemplo: Viajante de
Comercio

17! = 3.5568743 e14 recorridos posibles Solución optima: 226.64


Ejemplo: Viajante de
Comercio

Iteración: 0 Costo: 403.7 Iteración: 25 Costo: 303.86


Solución óptima: 226.64
Ejemplo: Viajante de
Comercio

Iteración: 200 Costo: 231.4 Iteración: 250 Solución óptima: 226.64

También podría gustarte