Você está na página 1de 24

INTELIGENCIA ARTIFICIAL

ALGORITMOS GENETICOS
Algoritmo genético

• John Holland, 1960s


• “Los organismos vivientes
son consumados
resolvedores de problemas”
• Adaptation in natural and
artificial systems, 1975
Algoritmo genético
• Población de soluciones
• Serie de caracteres (cromosomas)
• Caracter (gen, rasgo)
• Reproducción sexual y cross-over
• Mutación
• Ciclo:
• 1. Generar población
• 2. Evaluar adecuación
• 3. Los mejores se reproducen, los peores
se extinguen
• 4. Aplicar mutaciones
• 5. Actualizar población
• 6. Volver a 2
Descripción
• Encuentran soluciones “buenas” en un tiempo razonable.
• Representan las posibles soluciones de un problema como genes.
• Los algorítmos genéticos generan una población de genes (posibles
soluciones) y los hacen evolucionar para obtener genes mas aptos
(mejores soluciones).
Inspiración

• En la naturaleza los individuos compiten por los recursos


del medio ambiente. Algunos son mejores que otros, esos
son los que tienen mas posibilidades de sobrevivir y
propagar su material genético.

• En un AG los genes son evaluados según una función


llamada Fitness function y los mejores son los que pasarán
a la próxima iteración.
Operadores Genéticos
Reproducción: Incluye un algoritmo de selección y un algoritmo de
muestreo
• El algoritmo de selección asigna una probabilidad de selección a cada
cromosoma
• El algoritmo de muestreo produce copias de los cromosomas de la
generación t-1 a la generación t
Los cromosomas con mayor probabilidad de selección se reproducirán
un número de veces mayor y tendrán mayor repercusión en las
siguientes generaciones.
Operadores Genéticos: selección y muestreo

ci ci Fitness % del total

01101 13 169 14.4 1 copia


11000 24 576 49.2 2 copias
01000 8 64 5.5
0 copias
10011 19 361 30.9
1 copia
1170 100
Operadores Genéticos: esquemas de selección y
muestreo
• Basado en el rango:
• Se mantiene el porcentaje de la población.
• Los M peores se substituyen por la descendencia de los mejores.
• Diferentes variantes
• Rueda de ruleta:
• Los cromosomas de la generación actual en una cantidad
proporcional a su “bondad”
• Selección de torneo:
• Se escoge aleatoriamente un número T de individuos, gana el
que mejor se adapta, se repite hasta obtener el número de
individuos deseados
Operadores genéticos: rueda de ruleta
Operadores Genéticos: cruce
• Cruce:
• Dependiendo de una probabilidad inicial, probabilidad
de cruce seleccionamos de forma aleatoria los
cromosomas que van a participar en el apareamiento
• A continuación aplicamos alguna técnica de cruce, por
ejemplo el cruce simple

11000 10000
10011 11011
Operadores Genéticos: cruce
• Cruce de n puntos:
• los cromosomas se cortan por n puntos aleatorios y se intercambia el material
genético
• Cruce uniforme:
• cada gen se obtiene de la madre o del padre de forma aleatoria
Operadores Genéticos: cruce
Operadores Genéticos: mutación
• Mutación:
• Su objetivo es producir diversidad en la población
• Teniendo en cuenta una probabilidad, probabilidad de
mutación, y de forma aleatoria se altera un bit o gen de
un cromosoma

• Una vez aplicados los operadores, se evalúa de nuevo la


población
Operadores Genéticos
• Parámetros:
• Tamaño de la población
• Número de generaciones
• Probabilidad de cruce
• Probabilidad de mutación

• Ejemplo: valores aceptados para funciones de optimización


• Tamaño de la población: 50-100
• Probabilidad de cruce: 0.60
• Probabilidad de mutación: 0.001
Introducción

• Población
• Conjunto de soluciones potenciales, donde la
población inicial puede ser elegida randómicamente
• Cambia con el tiempo pero su tamaño se mantiene
• Individuo
• Elemento de la población
• Cada individuo es representado por una cadena de
caracteres
Introducción

• Crossover
• Dos nuevos individuos pueden ser obtenidos de dos
padres en el mating pool, recombinando a ambos
padres
• Mutación
• Individuos en el mating pool también pueden cambiar
a través de mutación randómica
• Resultado -> Un nueva generación
• El proceso se repite y converge a una población con
individuos muy similares entre si
Algoritmo

Repetir
para cada individuo i evaluar y calcular fitness f(i)
Crear mating pool de tamaño N basado en los valores de fitness f(i)
para i=1 hasta (N/2)
quitar pares de individuos {j,k} del mating pool
recombinar usando los individuos j y k
aplicar mutación
Hasta ‘condición de parada’
Consideraciones

• Diferentes implementaciones. Idea básica: nuevas buenas


soluciones pueden ser obtenidas a partir de bloques de
soluciones existentes
• El tiempo de corrida va a depender de los parámetros con
gran probabilidad de que si se deja correr por un buen
tiempo se obtenga una solución óptima o casi óptima
• Trabajan sobre toda una población otorgando mayor
paralelismo
• Pueden trabajar sobre un problema sin conocer los
detalles del mismo con demasiada exactitud
Fundamentos de AG
• Esquema: patrón de similitud que describe un subconjunto de cadenas
con similitudes en ciertas posiciones
• Aumentamos el vocabulario con el símbolo *, en las posiciones en las
que aparece este símbolo puede haber cualquier elemento del alfabeto
inicial.
• Orden de un esquema O(E): número de posiciones fijas en él
Fundamentos de AG
• Longitud de un esquema L(E): distancia entre la primera y la última
posición definida en el esquema
• Cada ristra pertenece a todas las regiones (esquemas) en las cuales
aparece cualquiera de sus bits
• El número de esquemas procesados útilmente por un algoritmo
genético que maneje una población de n individuos es del orden de m3.
Paralelismo implícito
Fundamentos de AG
• Aplicación del operador selección: La probabilidad de seleccionar un
cromosoma perteneciente a un esquema E, viene dada por el cociente
entre la adecuación media de los representantes de un esquema y la
adecuación media de la población en un instante t.
• m(E,t+1)= m(E,t) . fpro(E)/fpro
• m(E,t) número de representantes del esquema E en la generación t
Fundamentos de AG
• Aplicación del operador cruce:
• Si A=B No se destruye ningún esquema
• Si el orden del esquema es cero, no será destruido nunca
• Si la longitud del esquema es uno la probabilidad de que sea destruido
es 1/m-1
• Si la longitud del esquema es dos la probabilidad es 2/m-1. En
general L(E)/m-1
• Teniendo en cuenta la probabilidad de aplicar el cruce Pc L(E)/m-1
Fundamentos de AG
• Aplicación del operador mutación:
• Pm probabilidad de mutación, 1-Pm probabilidad de que un gen
sobreviva
• O(E) . Pm probabilidad de que sobrevivan todos los de un cromosoma
• Si consideramos un esquema por encima de la media e%, el efecto del
operador reproducción, en cada generación los esquemas por encima
de la media reciben un incremento exponencial de sus representantes
• m(E,t+1) = m(E,0)(1+e)t
Fundamentos de AG
• Si consideramos también el efecto del operador cruce y mutación:
• m(E,t+1) >= m(E,t) . (fpro(E)/fpro ). [1-PcL(e)/(m-1)-O(E)Pm

Teorema del esquema:

Los esquemas de longitud corta, orden bajo y adecuación por encima de la media
reciben un incremento exponencial en subsiguientes generaciones de un algoritmo
genético

Você também pode gostar