Vous êtes sur la page 1sur 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 
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 1010
• 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 
01101
11000
m=4 01000
10011
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: 
Función de evaluación

fit=eval(cit)=f(xit)   en este caso  f(x) =x2
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

1 copia

2 copias

0 copias

1 copia
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
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 sujeto a
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:

si

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 
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 
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
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          
                           
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 
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 
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

Vous aimerez peut-être aussi