Está en la página 1de 30

ALGORITMOS GENTICOS

Enlugardeenvidiarlanaturaleza
debemosemularlaHolland

Algoritmos genticos

Algoritmosbasadosenlosprincipiosdelaevolucin
natural
Seutilizanenproblemasdondenosepuedenencontrar
solucionesoestasnosonsatisfactorias
Funcionamientobsico:Segeneradeformaaleatoriauna
poblacininicialdesolucionespotenciales,seentraen
unprocesoiterativoquetrasformalapoblacinatravs
de:
unaevaluacindelassolucionesqueformanla
poblacin
seleccindelasmejoresyreproduccin
recombinacindeestasformandounanueva
poblacin

Componentesdeunalgoritmo
gentico
Unarepresentacingenticadelassolucionesdel
problema
Unaformadecrearunapoblacininicialdesoluciones
Unafuncindeevaluacincapazdemedirlabondadde
cualquiersolucin
Unconjuntodeoperadoresgenticoscomoreglasde
transicinprobabilsticasparaguiarlabsqueda
Elvalordeunosparmetrosdeentradaqueelalgoritmo
genticoutilizarparaguiarsuevolucin

Esquema bsico
Procedimiento AG
Inicio
t:=0;
inicializar P(t);
evaluar P(t);
mientras (no condicin de terminacin) hacer
t:=t+1;
reproducir P(t-1) en P(t);
recombinar P(t);
evaluar P(t);
Fin_mientras;
Fin.

Esquema bsico

Representacin
Cadenas binarias (generalmente) de longitud determinada
por el nmero de variables existentes en una solucin y el
nmero de bits necesarios para representarlas;
cromosomas o estructuras

Ejemplo: maximizar f(x)=x2 (0- 31)


1010
Representacin en binario
Los cromosomas estn compuestos por genes; el valor de
un gen se denomina alelo y a su posicin locus

Representacin
Cada iteracin ser una generacin; cit = (bi1t...bilt)
representa el cromosoma ci de la generacin t, b ser un
gen o un elemento del vocabulario elegido.
PodemosrepresentarunindividuoXitenunageneracin
determinadat,comolaterna:
Xit=(cit,xit,fit)
xitesladecodificacindelcromosoma(fenotipo)yfites
laadecuacindelasolucin

Obtencindelapoblacininicial
Conjuntodeindividuosdenmerom,(mparmetro)P(t)=
{Xit,....Xit}
InicializacindeunindividuoXi0consisteenasignarun
valoraleatorioacadaunodelosgenesbij0,conla
decodificacinobtenemossufenotipoxi0yfi0lo
obtendremosatravsdelafuncindeevaluacin.
01101

m=4

11000
01000
10011

Funcindeevaluacin
Objetivo:medirlaadecuacindeunasolucinenuna
generacint
Lafuncindeevaluacinsecorrespondeconlafuncin
objetivodelproblema
Dadouncromosomacit,ysufenotipoxitpodemosobtenersu
adecuacinfitcomo:

fit=eval(cit)=f(xit)

Funcindeevaluacin
fit=eval(cit)=f(xit)enestecasof(x)=x2
Codificacin Decodificacin Fitness
ci
xi
fi

01101
11000
01000
10011

13
24
8
19

169
576
64
361
1170

OperadoresGenticos
Reproduccin:Incluyeunalgoritmodeseleccinyun
algoritmodemuestreo
Elalgoritmodeseleccinasignaunaprobabilidadde
seleccinacadacromosoma
Elalgoritmodemuestreoproducecopiasdelos
cromosomasdelageneracint1alageneracint
Loscromosomasconmayorprobabilidaddeseleccinse
reproducirnunnmerodevecesmayorytendrnmayor
repercusinenlassiguientesgeneraciones.

OperadoresGenticos:selecciny
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

10011 19

361

30.9

1170

100

0 copias
1 copia

OperadoresGenticos:esquemas
deseleccinymuestreo

Basado en el rango:
Se mantiene el porcentaje de la poblacin.
Los M peores se substituyen por la descendencia de los mejores.
Diferentes variantes
Rueda de ruleta:
Los cromosomas de la generacin actual en una cantidad
proporcional a su bondad
Seleccin de torneo:
Se escoge aleatoriamente un nmero T de individuos, gana el que
mejor se adapta, se repite hasta obtener el nmero de individuos
deseados

Operadores genticos: rueda de


ruleta

OperadoresGenticos:cruce
Cruce:
Dependiendodeunaprobabilidadinicial,probabilidad
decruceseleccionamosdeformaaleatorialos
cromosomasquevanaparticiparenelapareamiento
Acontinuacinaplicamosalgunatcnicadecruce,por
ejemploelcrucesimple
11000

10000

10011

11011

OperadoresGenticos:cruce
Cruce de n puntos:
los cromosomas se cortan por n puntos
aleatorios y se intercambia el material gentico

Cruce uniforme:
cada gen se obtiene de la madre o del padre de
forma aleatoria

OperadoresGenticos:cruce

OperadoresGenticos:mutacin
Mutacin:
Suobjetivoesproducirdiversidadenlapoblacin
Teniendoencuentaunaprobabilidad,probabilidadde
mutacin,ydeformaaleatoriasealteraunbitogen
deuncromosoma

Unavezaplicadoslosoperadores,seevaladenuevola
poblacin

OperadoresGenticos
Parmetros:
Tamaodelapoblacin
Nmerodegeneraciones
Probabilidaddecruce
Probabilidaddemutacin
Ejemplo:valoresaceptadosparafuncionesdeoptimizacin
Tamaodelapoblacin:50100
Probabilidaddecruce:0.60
Probabilidaddemutacin: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
mximo beneficio:
Maximizar
bi xi sujeto a pi xi C
1 i n

xi 0,1 , bi 0, pi 0

1 i n

El problema de la mochila
Representacin
X=(x1, x2,...xn) xi pertenece a (0,1)
!! Pueden haber individuos que no cumplen las restriciones!!
Funcin de evaluacin:
C

b x

1i n

b x

1 i n

i i

i i

si

b x

1 i n

en otro caso

i i

Problema de la mochila
Con la funcin de evaluacin 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:patrndesimilitudquedescribeun
subconjuntodecadenasconsimilitudesenciertas
posiciones
Aumentamoselvocabularioconelsmbolo*,en
lasposicionesenlasqueapareceestesmbolo
puedehabercualquierelementodelalfabeto
inicial.
OrdendeunesquemaO(E):nmerode
posicionesfijasenl

Fundamentos de AG
LongituddeunesquemaL(E):distanciaentrela
primeraylaltimaposicindefinidaenel
esquema
Cadaristraperteneceatodaslasregiones
(esquemas)enlascualesaparececualquieradesus
bits
Elnmerodeesquemasprocesadostilmentepor
unalgoritmogenticoquemanejeunapoblacin
denindividuosesdelordendem3.Paralelismo
implcito

Fundamentos de AG
Aplicacin del operador seleccin: La
probabilidad de seleccionar un cromosoma
perteneciente a un esquema E, viene dada por el
cociente entre la adecuacin media de los
representantes de un esquema y la adecuacin
mediadelapoblacinenuninstantet.
m(E,t+1)=m(E,t).fpro(E)/fpro
m(E,t) nmero de representantes del esquema E
enlageneracint

Fundamentos de AG
Aplicacindeloperadorcruce:
SiA=BNosedestruyeningnesquema
Si el orden del esquema es cero, no ser destruido
nunca
Si la longitud del esquema es uno la probabilidad de
queseadestruidoes1/m1
Silalongituddelesquemaesdoslaprobabilidades
2/m1.EngeneralL(E)/m1
Teniendoencuentalaprobabilidaddeaplicarelcruce
PcL(E)/m1

Fundamentos de AG
Aplicacindeloperadormutacin:
Pmprobabilidaddemutacin,1Pmprobabilidaddequeun
gensobreviva
O(E).Pmprobabilidaddequesobrevivantodoslosdeun
cromosoma
Siconsideramosunesquemaporencimadelamediae%,
elefectodeloperadorreproduccin,encadageneracinlos
esquemasporencimadelamediarecibenunincremento
exponencialdesusrepresentantes

m(E,t+1)=m(E,0)(1+e)t

Fundamentos de AG
Si consideramos tambin el efecto del operador cruce y
mutacin:
m(E,t+1)>=m(E,t).(fpro(E)/fpro).[1PcL(e)/(m1)O(E)Pm

Teoremadelesquema:
Losesquemasdelongitudcorta,ordenbajoyadecuacin
porencimadelamediarecibenunincrementoexponencial
ensubsiguientesgeneracionesdeunalgoritmogentico

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 genticos, y
direcciones donde se pueden encontrar algoritmos
simples, con los que se puede jugar cambiando
parmetros del algoritmo

También podría gustarte