Professional Documents
Culture Documents
ALGORITMOS GENÉTICOS
ALGORITMOS GENÉTICOS---3
1
Algoritmos Genéticos
1.- Inicialización:.................................................................................................................................24
2.- Evaluación:...................................................................................................................................25
3.- Selección:.......................................................................................................................................25
4.- Reproducción:................................................................................................................................26
5.- Entrenamiento:...............................................................................................................................27
CONCLUSIÓN DEL TRABAJO:..........................................................................................................28
Aplicaciones de búsqueda y optimización : ........................................................................................28
Aprendizaje automático: .....................................................................................................................28
DIRECCIONES DE CONSULTA:........................................................................................................28
2
Algoritmos Genéticos
ALGORITMOS GENÉTICOS
3
Algoritmos Genéticos
de color o posición. Sólo una solución (entre 64) es la correcta, pero el jugador que
ha puesto la combinación oculta va orientando la búsqueda mediante las
chinchetas blancas o negras. El problema se hace exponencialmente más difícil
cuando se aumenta el número de colores, y la longitud de la combinación.
En muchos casos, la búsqueda está guiada por una función que indica lo
buena que es esa solución, o el coste de la misma, o lo cerca que se está de la
solución final, si es que se conoce; el problema se convierte entonces en un
problema de optimización, es decir, encontrar la solución que maximiza la función
objetivo, de evaluación o fitness o minimiza el coste. En términos formales, dada
una función F de n variables x1,x2,..., xn, optimizar la función consiste en encontrar
la combinación de valores de xi tales que F(x1, x2,..., xn) = Máximo. Se puede hablar
de maximizar en vez de minimizar sin perder generalidad, ya que maximizar F
equivale a minimizar -F.
4
Algoritmos Genéticos
programa para jugar al Othello o reversi, el fitness vendrá dada por su puntuación
a la hora de jugar con los demás jugadores. Un autor, Pollack hizo enfrentarse a
unas estrategias de juego con otras, de forma que según van evolucionando, el
fitness va variando. Este tipo de optimización se suele encontrar en problemas de
vida artificial y el Dilema del Prisionero, usado para modelizar interacciones
sociales.
5
Algoritmos Genéticos
1.3 HILLCLIMBING,
6
Algoritmos Genéticos
2 LA EVOLUCIÓN
7
Algoritmos Genéticos
no se volvieron a redescubrir hasta principios del siglo XX. Además, hasta 1930 el
geneticista inglés Robert Aylmer no relacionó ambas teorías, demostrando que los
genes mendelianos eran los que proporcionaban el mecanismo necesario para la
evolución.
Y no fue hasta los años 50, cuando Watson y Crick descubrieron que la
base molecular de los genes está en el ADN, ácido desoxirribonucleico. Los
cromosomas están compuestos de ADN, y por tanto los genes están en los
cromosomas.La macromolécula de ADN está compuesta por bases púricas y
pirimidínicas, la adenina, citosina, guanina y timina. La combinación y la secuencia
de estas bases forma el código genético, único para cada ser vivo. Grupos de 3
bases forman un codon, y cada codon codifica un aminoácido (el que exprese ese
aminoácido o no depende de otros factores); el código genético codifica todas las
proteinas que forman parte de un ser vivo. Mientras que al código genético se le
llama genotipo, al cuerpo que construyen esas proteínas, modificado por la presión
ambiental, la historia vital, y otros mecanismos dentro del cromosoma, se llama
fenotipo.
8
Algoritmos Genéticos
Todos estos hechos forman hoy en día la teoría del neo-darwinismo, que
afirma que la historia de la mayoría de la vida está causada por una serie de
procesos que actúan en y dentro de las poblaciones: reproducción, mutación,
competición y selección.
SELECCIÓN NATURAL:
Los individuos que tengan algún rasgo que los haga menos válidos para
realizar su tarea de seres vivos, no llegarán a reproducirse, y, por tanto, su
patrimonio genético desaparecerá del pool; algunos no llegarán ni siquiera a nacer.
Esta selección sucede a muchos niveles: competición entre miembros de la especie
(intraespecífica), competición entre diferentes especies, y competición predador-
presa, por ejemplo. También es importante la selección sexual, en la cual las
hembras eligen el mejor individuo de su especie disponible para reproducirse.
DERIVA GÉNICA:
El simple hecho de que un alelo sea más común en la población que otro,
causará que la proporción de alelos de esa población vaya aumentando en una
9
Algoritmos Genéticos
MUTACIÓN:
La mutación es una alteración del código genético, que puede suceder por
múltiples razones. En muchos casos, las mutaciones las elimina la ADN-polimerasa,
la navaja del ejército suizo del ADN, que igual duplica, que corrige, que desinvierte
un cacho genético mal colocado. En muchos otros casos, las mutaciones, que
cambian un nucleótido por otro, son letales, y los individuos ni siquiera llegan a
desarrollarse, pero a veces se da lugar a la producción de una proteína que
aumenta la supervivencia del individuo, y que, por tanto, es pasada a la
descendencia. Las mutaciones son totalmente aleatorias, y son el mecanismo
básico de generación de variedad genética. A pesar de lo que se piensa
habitualmente, la mayoría de las mutaciones ocurren de forma natural, aunque
existen sustancias mutagénicas que aumentan su frecuencia.
POLIPLOIDÍA:
Mientras que las células normales poseen dos copias de cada cromosoma, y
las células reproductivas una (haploides), puede suceder por accidente que alguna
célula reproductiva tenga dos copias; si se logra combinar con otra célula diploide o
haploide dará lugar a un ser vivo con varias copias de cada cromosoma. La mayoría
de las veces, la poliploidía da lugar a individuos con algún defecto (por ejemplo, el
tener 3 copias del cromosoma 21 da lugar al mongolismo), pero en algunos casos
se crean individuos viables. Un caso de mutación fue el que sufrió (o disfrutó) el
mosquito Culex pipiens, en el cual se duplicó un gen que generaba una enzima que
rompía los organofosfatos, componentes habituales de los insecticidas;
RECOMBINACIÓN:
Cuando las dos células sexuales, o gametos, una masculina y otra femenina
se combinan, los cromosomas de cada una también lo hacen, intercambiándose
genes, que a partir de ese momento pertenecerán a un cromosoma diferente. A
veces también se produce traslocación dentro de un cromosoma; una secuencia de
código se elimina de un sitio y aparece en otro sitio del cromosoma, o en otro
cromosoma.
FLUJO GENÉTICO:
10
Algoritmos Genéticos
3.1 INTRODUCCIÓN
11
Algoritmos Genéticos
12
Algoritmos Genéticos
Por lo tanto:
EJEMPLO 1:
EJEMPLO2:
13
Algoritmos Genéticos
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 postcondición. Para solucionar esto, una
alternativa es codificar la postcondición con un único bit (1 = Cierto y 0 = Falso).
Otra opción es condicionar los operadores genéticos para que no produzcan este
tipo de cadenas o conseguir que estas hipótesis tengan una adecuación muy baja
(según la función de evaluación) para que no logren pasar a la próxima generación
de hipótesis.
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 operador de
cruzamiento, puede ser distinto según las técnicas específicas empleadas. El que se
describe en el punto siguiente es uno de los más generalizados.
ALGORITMO GENÉTICO
Evaluar la puntuación (fitness) de cada uno de los genes.
14
Algoritmos Genéticos
Cada uno de los pasos consiste en una actuación sobre las cadenas de bits,
es decir, la aplicación de un operador a una cadena binaria. Se les denominan, por
razones obvias, operadores genéticos, y hay tres principales: selección, crossover o
recombinación y mutación; aparte de otros operadores genéticos no tan comunes,
todos ellos se verán a continuación.
TAMAÑO DE LA POBLACIÓN:
CONDICIÓN DE TERMINACIÓN:
15
Algoritmos Genéticos
Aplicar una operación al fitness para escalarlo; como por ejemplo el escalado
sigma. En este esquema el fitness se escala
Una vez evaluado el fitness, se tiene que crear la nueva población teniendo
en cuenta que los buenos rasgos de los mejores se transmitan a ésta. Para ello, hay
que seleccionar a una serie de individuos encargados de tan ardua tarea. Y esta
selección, y la consiguiente reproducción, se puede hacer de dos formas
principales:
BASADO EN EL RANGO:
RUEDA DE RULETA:
SELECCIÓN DE TORNEO:
16
Algoritmos Genéticos
3.6 CROSSOVER
CROSSOVER N-PUNTOS:
Padre
0 0 0 1 0 1 0 1 0 1 0 1 0 1
Madre
17
Algoritmos Genéticos
1 0 1 1 1 0 0 1 1 1 0 1 1 1
Hijo
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 MUTACIÓN
Una vez establecida la frecuencia de mutación, 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 simultánea al crossover). Si un
número 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
18
Algoritmos Genéticos
número de individuos que haya y del número de bits por individuo, puede resultar
que las mutaciones sean extremadamente raras en una sola generación.
19
Algoritmos Genéticos
ZAP:
CREEP:
TRANSPOSICIÓN:
20
Algoritmos Genéticos
Generamos una población inicial de n individuos; que serán -no podía ser
menos- n números (elegidos al azar). Es decir, ya tenemos x1, x2, ... ,xn. Todos ellos,
entre a y b, los límites de nuestro intervalo.
21
Algoritmos Genéticos
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 también
P(x0)=0.1
P(x1)=0.5
P(x2)=0.8
P(x3)=1.0
Esta claro que los p(xi) suman 1. A continuación generamos n números aleatorios
entre 0 y 1. Cada uno de esos números -por ejemplo, t- estará relacionado con un
individuo de nuestra generación intermedia; de la siguiente forma:
si t está entre P(xi) y P(xi+1) escogemos xi+1)
Seguimos con el ejemplo: Si nuestros cuatro números aleatorios son 0.359, 0.188,
0.654 y 0.399, entonces nuestra generación intermedia será:
Como se ve, está claro que, pese al azar el individuo mejor dotado es el más
favorecido.
22
Algoritmos Genéticos
23
Algoritmos Genéticos
1.- INICIALIZACIÓN:
24
Algoritmos Genéticos
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.- EVALUACIÓN:
3.- SELECCIÓN:
Ca = Ca + calif(i)
25
Algoritmos Genéticos
4.- REPRODUCCIÓN:
26
Algoritmos Genéticos
Esta cruza nos garantiza que obtengamos individuos válidos, es decir que
nos van a dar un camino que inicie en la posición original de la persona y finalice en
alguna salida. Y que además no choque con ningún obstáculo.
5.- ENTRENAMIENTO:
Los algoritmos genéticos tienen una característica peculiar, que es que cada
vez que se ejecuta nos da (muy probablemente) respuestas diferentes, y esto es
porque la población inicial se genera aleatoriamente.
27
Algoritmos Genéticos
APRENDIZAJE AUTOMÁTICO:
DIRECCIONES DE CONSULTA:
• http://geneura.ugr.es/~jmerelo/ie/ags.htm
• http://www.geocities.com/waguilar_2000/ALGORITMOS_GENETICOS
28
Algoritmos Genéticos
• 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
29