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

ALGORITMOS GENÉTICOS

 “En lugar de envidiar la naturaleza  
debemos emularla”  Holland

   
Algoritmos genéticos
• Algoritmos basados en los principios de la evolución 
natural 
• Se utilizan en problemas donde no se pueden encontrar 
soluciones o estas no son satisfactorias 
• Funcionamiento básico:Se genera de forma aleatoria 
una población inicial de soluciones potenciales, se entra 
en un proceso iterativo que trasforma la población a 
través de:
– una evaluación de las soluciones que forman la 
población 
–  selección de las “mejores” y reproducción 
– recombinación de estas formando una nueva 
  población   
Componentes de un algoritmo 
genético
• Una representación genética de las soluciones del 
problema
• Una forma de crear una población inicial de soluciones
• Una función de evaluación capaz de medir la bondad de 
cualquier solución
• Un conjunto de operadores genéticos como reglas de 
transición probabilísticas para guiar la búsqueda
• El valor de unos parámetros de entrada que el algoritmo 
genético utilizará para guiar su evolución

   
Esquema básico
Procedimiento AG
Inicio
t:=0;
inicializar P(t);
evaluar P(t);
mientras (no condición de terminación) hacer
t:=t+1;
reproducir P(t­1) en P(t);
recombinar P(t);
evaluar P(t);
Fin_mientras;
 
Fin.  
Esquema básico

   
Representación
• Cadenas binarias (generalmente) de longitud determinada 
por el número de variables existentes en una solución y el 
número de bits necesarios para representarlas; 
cromosomas o estructuras

• Ejemplo: maximizar f(x)=x2   (0­ 31) 
• Representación en binario 1 0 1 0
• Los cromosomas están compuestos por genes; el valor de 
un gen se denomina alelo y a su posición locus
   
Representación
• Cada iteración será una generación; cit = (bi1t...bilt) 
representa el cromosoma ci de la generación t, b será un 
gen o un elemento del vocabulario elegido.

• Podemos representar un individuo Xit en una generación 
determinada t, como la terna:
Xit=(cit,xit,fit)
• xit es la decodificación del cromosoma (fenotipo) y fit es 
la adecuación de la solución

   
Obtención de la población inicial
• Conjunto de individuos de número m, (m parámetro) 
P(t)= {Xit,....Xit}
• Inicialización de un individuo Xi0 consiste en asignar un 
valor aleatorio a cada uno de los genes bij0, con la 
decodificación obtenemos su fenotipo xi0  y fi0 lo 
obtendremos a través de la función de evaluación.
0 1 1 0 1

m = 4 1 1 0 0 0
0 1 0 0 0
1 0 0 1 1
   
Función de evaluación 
• Objetivo: medir la adecuación de una solución en una 
generación t 

• La función de evaluación se corresponde con la función 
objetivo del problema

• Dado un cromosoma cit, y su fenotipo xit podemos 
obtener su adecuación fit como: 

• fit=eval(cit)=f(xit)

   
Función de evaluación

fit=eval(cit)=f(xit)   en este caso  f(x) =x2

Codificación Decodificación Fitness


ci xi fi
01101 13 169
11000 24 576
01000 8 64
10011 19 361
   
1170
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 

1 1 0 0 0 1 0 0 0 0
1 0 0 1 1 1 1 0 1 1

   
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
   
EL problema de la mochila
• N objetos para meter en una mochila
• Cada objeto i, tiene un pero pi, y si se mete en la 
mochila produce un beneficio bi
• Objetivo: Llenar la mochila obteniendo el 
máximo beneficio:
• Maximizar ∑ bi xi sujeto a ∑ pi xi ≤ C
1≤ i ≤ n 1≤ i ≤ n

xi ∈ { 0,1} , bi > 0, pi > 0


   
El problema de la mochila
• Representación
X=(x1, x2,...xn) xi pertenece a (0,1)

!! Pueden haber individuos que no cumplen las restriciones!!
• Función de evaluación:
                            
C − ∑ bi xi
1≤ i ≤ n  si  ∑
1≤ i ≤ n
bi xi > C
                             

1≤ i ≤ n
bi xi
en otro caso

   
Problema de la mochila

• Con la función de evaluación eliminamos 
las soluciones no factibles
• Se generan individuos de forma aleatoria
• El operador de cruce, se puede usar el 
cruce simple
• Se puede seguir el esquema general

   
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 
   
Fundamentos de AG

   
Tutoriales

http://geneura.ugr.es/~jmerelo/ie
http://www.cs.qub.ac.uk/~/M.Sullivan/ga/ga_index.html
http://polaris.lcc.uma.es/~ccottap/semEC/
http://cs.felk.cvut.cz/~xobitko/ga/
http://lisisu02.fis.usal.es/~curdoc7/

Se encuentran un tutoriales sobre algoritmos genéticos, y  
direcciones donde se pueden encontrar algoritmos 
simples, con los que se puede “jugar” cambiando 
parámetros del algoritmo
   

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