Académique Documents
Professionnel Documents
Culture Documents
Informtica evolutiva
Aprendizaje automtico:-----------------------------------------------------------------------------------------42
DIRECCIONES DE CONSULTA:------------------------------------------------------------------------------42
Algoritmos Genricos
Algoritmos Genticos
ALGORITMOS GENTICOS
1 Bsqueda, optimizacin y aprendizaje
En realidad, los algoritmos de bsqueda abarcan prcticamente todo
algoritmo para resolver problemas automticamente. Habitualmente, en
Informtica se habla de bsqueda cuando hay que hallar informacin,
siguiendo un determinado criterio, dentro de un conjunto de datos
almacenados; sin embargo, aqu nos referiremos a otro tipo de algoritmos de
bsqueda, a saber, aquellos que, dado el espacio de todas las posibles
soluciones a un problema, y partiendo de una solucin inicial, son capaces de
encontrar la solucin mejor o la nica. El ejemplo clsico de este tipo de
problemas se encuentra en los rompecabezas y juegos que se suelen abordar
en inteligencia artificial. Un ejemplo es el problema de las 8 reinas, en el cual
se deben de colocar 8 reinas en un tablero de ajedrez de forma que ninguna
amenace a otra; o las torres de Hanoi, en el que, dada una serie de discos de
radio decreciente apilados, hay que apilarlos en otro sitio teniendo en cuenta
que no se puede colocar ningn disco encima de otro de radio inferior.
1
Algoritmos Genticos
2
Algoritmos Genticos
En muchos casos, la bsqueda est guiada por una funcin que indica lo
buena que es esa solucin, o el coste de la misma, o lo cerca que se est de la
solucin final, si es que se conoce; el problema se convierte entonces en un
problema de optimizacin, es decir, encontrar la solucin que maximiza la
funcin objetivo, de evaluacin o fitness o minimiza el coste. En trminos
formales, dada una funcin F de n variables x1,x2,..., xn, optimizar la funcin
consiste en encontrar la combinacin de valores de xi tales que F(x1, x2,..., xn) =
Mximo. Se puede hablar de maximizar en vez de minimizar sin perder
generalidad, ya que maximizar F equivale a minimizar -F.
3
Algoritmos Genticos
4
Algoritmos Genticos
5
Algoritmos Genticos
1.3 Hillclimbing
6
Algoritmos Genticos
puede escoger una solucin menos ptima, siempre que la diferencia entre
ambos tenga un nivel determinado, que depende de un parmetro denominado
temperatura (seguimos con la metfora). El algoritmo de recocimiento simulado
es el siguiente:
2 La evolucin
Despus de ver el tipo de problemas a los que se pueden aplicar los
algoritmos evolutivos, se va a estudiar qu es lo que inspira dichos algoritmos,
la Naturaleza, ese fenmeno natural denominado evolucin, y si optimiza o no.
7
Algoritmos Genticos
de la herencia, pensaba que los rasgos de un ser vivo eran como un fluido, y
que los "fluidos" de los dos padres se mezclaban en la descendencia; esta
hiptesis tena el problema de que al cabo de cierto tiempo, una poblacin
tendra los mismos rasgos intermedios.
8
Algoritmos Genticos
descubri que las clulas de cada especie viviente tenan un nmero fjo y
caracterstico de cromosomas.
Y no fue hasta los aos 50, cuando Watson y Crick descubrieron que la
base molecular de los genes est en el ADN, cido desoxirribonucleico. Los
cromosomas estn compuestos de ADN, y por tanto los genes estn en los
cromosomas.La macromolcula de ADN est compuesta por bases pricas y
pirimidnicas, la adenina, citosina, guanina y timina. La combinacin y la
secuencia de estas bases forma el cdigo gentico, nico para cada ser vivo.
Grupos de 3 bases forman un codon, y cada codon codifica un aminocido (el
que exprese ese aminocido o no depende de otros factores); el cdigo
gentico codifica todas las proteinas que forman parte de un ser vivo. Mientras
que al cdigo gentico se le llama genotipo, al cuerpo que construyen esas
protenas, modificado por la presin ambiental, la historia vital, y otros
mecanismos dentro del cromosoma, se llama fenotipo.
9
Algoritmos Genticos
10
Algoritmos Genticos
SELECCIN NATURAL:
Los individuos que tengan algn rasgo que los haga menos vlidos para
realizar su tarea de seres vivos, no llegarn a reproducirse, y, por tanto, su
patrimonio gentico desaparecer del pool; algunos no llegarn ni siquiera a
nacer. Esta seleccin sucede a muchos niveles: competicin entre miembros
de la especie (intraespecfica), competicin entre diferentes especies, y
competicin predador-presa, por ejemplo. Tambin es importante la seleccin
sexual, en la cual las hembras eligen el mejor individuo de su especie
disponible para reproducirse.
DERIVA GNICA:
MUTACIN:
11
Algoritmos Genticos
mutaciones, que cambian un nucletido por otro, son letales, y los individuos ni
siquiera llegan a desarrollarse, pero a veces se da lugar a la produccin de una
protena que aumenta la supervivencia del individuo, y que, por tanto, es
pasada a la descendencia. Las mutaciones son totalmente aleatorias, y son el
mecanismo bsico de generacin de variedad gentica. A pesar de lo que se
piensa habitualmente, la mayora de las mutaciones ocurren de forma natural,
aunque existen sustancias mutagnicas que aumentan su frecuencia.
POLIPLOIDA:
RECOMBINACIN:
FLUJO GENTICO:
12
Algoritmos Genticos
13
Algoritmos Genticos
14
Algoritmos Genticos
15
Algoritmos Genticos
Por lo tanto:
EJEMPLO 1:
Si un atributo (tiempo) puede tomar tres valores posibles (despejado,
nublado, lluvioso) una manera de representarlo es mediante tres bits de forma
que:
16
Algoritmos Genticos
Ejemplo2:
JugaralTenis puede ser Cierto o Falso.
Si Viento = Fuerte entonces JugaralTenis = Cierto se representara
mediante la cadena 111 10 10. Donde los tres primeros bits a uno indican que
el atributo Tiempo no afecta a nuestra regla.
Cabe destacar que una regla del tipo 111 10 11 no tiene demasiado
sentido, puesto que no impone restricciones en la postcondicin. Para
solucionar esto, una alternativa es codificar la postcondicin con un nico bit (1
= Cierto y 0 = Falso). Otra opcin es condicionar los operadores genticos para
que no produzcan este tipo de cadenas o conseguir que estas hiptesis tengan
una adecuacin muy baja (segn la funcin de evaluacin) para que no logren
pasar a la prxima generacin de hiptesis.
El cruce opera sobre las cadenas de los genotipos de cada pareja de las
soluciones elegidas como progenitores. El sistema mediante el cual se
obtienen nuevas soluciones a partir las precedentes, es decir lo que se llama el
17
Algoritmos Genticos
ALGORITMO GENTICO
Cada uno de los pasos consiste en una actuacin sobre las cadenas de
bits, es decir, la aplicacin de un operador a una cadena binaria. Se les
denominan, por razones obvias, operadores genticos, y hay tres principales:
seleccin, crossover o recombinacin y mutacin; aparte de otros operadores
genticos no tan comunes, todos ellos se vern a continuacin.
TAMAO DE LA POBLACIN:
18
Algoritmos Genticos
CONDICIN DE TERMINACIN:
19
Algoritmos Genticos
BASADO EN EL RANGO:
RUEDA DE RULETA:
20
Algoritmos Genticos
SELECCIN DE TORNEO:
3.6 Crossover
21
Algoritmos Genticos
local, y es uno de los principales problemas con los que se enfrentan los que
aplican algoritmos genticos.
CROSSOVER N-PUNTOS:
Padre
0 0 0 1 0 1 0 1 0 1 0 1 0 1
Madre
1 0 1 1 1 0 0 1 1 1 0 1 1 1
Hijo
22
Algoritmos Genticos
0 0 0 1 0 0 0 1 1 1 0 1 0 1
CROSSOVER UNIFORME:
Padre
0 0 0 1 0 1 0 1 0 1 0 1 0 1
Madre
1 0 1 1 1 0 0 1 1 1 0 1 1 1
Hijo
0 0 1 1 0 0 0 1 1 1 0 1 1 1
CROSSOVER ESPECIALIZADOS:
3.7 Mutacin
23
Algoritmos Genticos
Una vez establecida la frecuencia de mutacin, por ejemplo, uno por mil,
se examina cada bit de cada cadena cuando se vaya a crear la nueva criatura
a partir de sus padres (normalmente se hace de forma simultnea al
crossover). Si un nmero generado aleatoriamente est por debajo de esa
probabilidad, se cambiar el bit (es decir, de 0 a 1 o de 1 a 0). Si no, se dejar
como est. Dependiendo del nmero de individuos que haya y del nmero de
bits por individuo, puede resultar que las mutaciones sean extremadamente
raras en una sola generacin.
24
Algoritmos Genticos
redes neuronales, puede que no se sepa (de hecho, nunca se sabe) cuntas
neuronas se van a necesitar. Por ejemplo, en un perceptrn hay reglas que
dicen cuantas neuronas se deben de utilizar en la capa oculta; pero en un
problema determinado puede que no haya ninguna regla heurstica aplicable;
tendremos que utilizar los algoritmos genticos para hallar el nmero ptimo de
neuronas.
25
Algoritmos Genticos
ZAP:
CREEP:
TRANSPOSICIN:
26
Algoritmos Genticos
27
Algoritmos Genticos
28
Algoritmos Genticos
f(x0)=10
f(x1)=40
f(x2)=30
f(x3)=20
Por lo tanto,
p(x0)=0.1
p(x1)=0.4
p(x2)=0.3
p(x3)=0.2
y tambin
P(x0)=0.1
P(x1)=0.5
P(x2)=0.8
P(x3)=1.0
29
Algoritmos Genticos
Como se ve, est claro que, pese al azar el individuo mejor dotado es el ms
favorecido.
30
Algoritmos Genticos
31
Algoritmos Genticos
1.- Inicializacin:
32
Algoritmos Genticos
1) 2 - 1 - 2 - 0 - 7 - 4 - 3 - 6 - 3 - 3 - 3 - 0 - 5 - 0 - 3 - 3 - 3 - 1 - 1 - 1 - 3 -
5-1-4-7-4-3-1-6-1-2-
2) 0 - 4 - 1 - 7 - 5 - 3 - 1 - 1 - 3 - 3 - 3 - 7 - 5 - 1 - 2 - 5 - 6 - 4 -
2.- Evaluacin:
3.- Seleccin:
33
Algoritmos Genticos
Ca = Ca + calif(i)
4.- Reproduccin:
34
Algoritmos Genticos
35
Algoritmos Genticos
5.- Entrenamiento:
36
Algoritmos Genticos
37
Algoritmos Genticos
Aprendizaje automtico:
DiRECCIONES DE CONSULTA:
http://geneura.ugr.es/~jmerelo/ie/ags.htm
http://www.geocities.com/waguilar_2000/ALGORITMOS_GENETICOS
http://kal-el.ugr.es/mastermind
http://www.cinefantastico.com/nexus7/ia/ageneticos.htm
http://www.fortunecity.com/underworld/fifa/613/xxx.html
http://www.geocities.com/krousky/Espanol/AlgEv001.htm
http://orchid.lsi.upc.es/~iea/transpas/9_geneticos/sld001.htm
http://kal-el.ugr.es/~jmerelo
38