2. Concepto De algoritmo
genético
El Algoritmo Genético (AG) es un modelo de aprendizaje
que debe su comportamiento a una metáfora de algunos
de los mecanismos de la evolución que se observan en la
naturaleza (como la reproducción sexual y el principio de
la supervivencia del más apto), son métodos adaptativos,
generalmente usados en problemas de búsqueda y
optimización de parámetros.
A grandes rasgos, un algoritmo genético consiste en una
población de soluciones codificadas de forma similar a
cromosomas. Cada uno de estos cromosomas tendrá
asociado un ajuste o valor de bondad que cuantifica su
validez como solución del problema. En función de este
valor se le darán más o menos oportunidades de
reproducción. Además, con cierta probabilidad se
realizarán mutaciones de estos cromosomas.
3. Clases algoritmo genéticos
Algoritmos Genéticos Generacionales
Se asemejan a la forma de reproducción de los insectos, donde una
generación pone huevos, se aleja geográficamente o muere y es
substituida por una nueva. En este momento se realizan cruces en una
piscina de individuos, los descendientes son puestos en otra, al final de la
fase reproductiva se elimina la generación anterior y se pasa a utilizar la
nueva. Este modelo también es conocido como Algoritmo Genético
Canónico.
Algoritmos Genéticos de estado Fijo.
Utilizan el esquema generacional de los mamíferos y otros animales de
vida larga, donde coexisten padres y sus descendientes, permitiendo que
los hijos sean educados por sus progenitores, pero también que a la larga
se genere competencia entre ellos. En este modelo, no solo se deben
seleccionar los dos individuos a ser padres, si no también cuales de la
población anterior serán eliminados, para dar espacio a los descendientes.
La diferencia esencial entre el reemplazo generacional y el modelo de
estado fijo es que las estadísticas de la población son recalculadas luego
de cada cruce y los nuevos descendientes están disponibles
inmediatamente para la reproducción.
4. Clases algoritmo genéticos
Algoritmos Genéticos Paralelos.
Parte de la metáfora biológica que motivo a utilizar la búsqueda genética consiste en que es
inherentemente paralela, donde al evolucionar se recorren simultáneamente muchas
soluciones, cada una representada por un individuo de la población. Sin embargo, es muy
común en la naturaleza que no solo sea una población evolucionando, si no varias
poblaciones, normalmente aisladas geográficamente, que originan respuestas diferentes a
la presión evolutiva. Esto origina dos modelos que toman es cuenta esta variación, y utilizan
no una población como los anteriores si4 no múltiples concurrentemente.
Modelos de Islas.
Si se tiene una población de individuos, esta se divide en subpoblaciones que evolucionan
independientemente como un Algoritmo Genético normal. Ocasionalmente, se producen
migraciones entre ellas, permitiéndoles intercambiar material genético. Con la utilización de
la migración, este modelo puede explotar las diferencias en las subpoblaciones; esta
variación representa una fuente de diversidad genética. Sin embargo, si un número de
individuos emigran en cada generación, ocurre una mezcla global y se eliminan las
diferencias locales, y si la migración es infrecuente, es probable que se produzca
convergencia prematura en las subpoblaciones.
5. Clases algoritmo genéticos
Modelo Celular
Coloca cada individuo en una matriz, donde cada uno sólo podrá
buscar reproducirse con los individuos que tenga a su alrededor
(mas cerca de casa) escogiendo al azar o al mejor adaptado. El
descendiente pasara a ocupar una posición cercana. No hay islas
en este modelo, pero hay efectos potenciales similares. Asumiendo
que el cruce esta restringido a individuos adyacentes, dos
individuos separados por 20 espacios están tan aislados como si
estuvieran en dos islas, este tipo de separación es conocido como
aislamiento por distancia.
Luego de la primera evaluación, los individuos están todavia
distribuidos al azar sobre la matriz. Posteriormente, empiezan a
emerger zonas como cromosomas y adaptaciones semejantes. La
reproducción y selección local crea tendencias evolutivas aisladas,
luego de varias generaciones, la competencia local resultara en
grupos mas grandes de individuos semejantes.
6. ELEMENTOS DE UN
ALGORITMO GENETICO
Individuo Población
Un individuo es un ser que caracteriza A un conjunto de individuos
su propia especie. El individuo es un (Cromosomas) se le denomina
cromosoma y es el código de
información sobre el cual opera el población. El método de A.G´s
algoritmo. Cada solución parcial del consiste en ir obteniendo de
problema a optimizar está codificada forma sucesiva distintas
en forma de cadena o String en un poblaciones. Por otra parte un
alfabeto determinado, que puede ser
binario. Una cadena representa a un Algoritmo Genético trabaja
cromosoma, por lo tanto también a un con un conjunto de puntos
individuo y cada posición de la cadena representativos de diferentes
representa a un gen. Esto significa zonas del espacio de
que el algoritmo trabaja con una
codificación de los parámetros y no búsqueda y no con un solo
con los parámetros en si mismos. punto
7. ELEMENTOS DE UN
ALGORITMO GENETICO
Operadores Genéticos :
Operador de Selección.
El paso siguiente a la evaluación es escoger los miembros de la población que serán
utilizados para la reproducción. Su meta es dar mas oportunidades de selección a los
miembros más aptos de la población. Así funciona: se calcula el cociente entre el
valor fitness de un individuo y la suma total de los valores fitness de todos los
individuos de la población. Este resultado mide la probabilidad de selección Ps (i) de
cada individuo.
8. ELEMENTOS DE UN
ALGORITMO GENETICO
Operador de Cruce
Consiste en unir en alguna forma los cromosomas de los padres que han sido
previamente seleccionados de la generación anterior para formar dos
descendientes. Existen diversas variaciones, dependiendo del número de
puntos de división a emplear y la forma de ver el cromosoma. El operador cruce
se aplica en dos pasos: en el primero los individuos se aparean (se seleccionan
de dos a dos) aleatoriamente con una determinada probabilidad, llamada
probabilidad de cruce Pc; en el segundo paso a cada par de individuos
seleccionados anteriormente se le aplica un intercambio en su contenido desde
una posición aleatoria K hasta el final, con K Î [1, m-1], donde m es la longitud
de individuo. K es el denominado punto de cruce y determina la subdivisión de
cada padre en dos partes que se intercambian para formar dos nuevos hijos,
según podemos ver en la figura 2 Esto se conoce como cruce ordinario o cruce
de un punto. El objetivo del operador de cruce es recombinar sub-cadenas de
forma eficiente; esta gestión recibe el nombre de construcción de bloques.
9. ELEMENTOS DE UN
ALGORITMO GENETICO
Operadores Geneticos
Mutación.
El operador de mutación consiste en la alteración aleatoria de cada uno de los genes
del individuo con una probabilidad de mutación PM.
El objetivo de la mutación es producir diversidad en la población. Si al generar
aleatoriamente la población inicial o después de varias generaciones, en la misma
posición de todos los cromosomas sólo aparece un único elemento del alfabeto
utilizado, esto supondrá que con los operadores de reproducción y cruce, nunca
cambiara dicho elemento, por lo que puede ocurrir que jamas se alcance la solución
más optima a nuestro problema. La probabilidad de aparición del operador de
mutación no debe ser grande para no perjudicar la correcta construcción de bloques.
El operador de mutación origina variaciones elementales en la población y garantiza
que cualquier punto del espacio de búsqueda pueda ser alcanzado.
10. ESTRUCTURA DE UN ALGORITMO GENÉTICO SIMPLE
Cuando el AG es implementado, se hace de forma que involucre el siguiente
ciclo:
1. Generación de una población inicial de manera aleatoria.
2. Evaluar el desempeño de todos los individuos de la población, tomando
en cuenta alguna función objetivo.
3. Crear una nueva población mediante la ejecución de operaciones como el
crossover y mutación sobre individuos cuyo desempeño haya sido evaluado.
4. Descartar la población vieja e iterar usando la nueva, hasta que el
número de generaciones alcanza al criterio de terminación.
11. ESTRUCTURA DE UN ALGORITMO GENÉTICO SIMPLE
Generacion=0
Población Inicial Aleatoria
SI
Criterio de Resultado Propuesto
terminación??
NO
Evaluación de cada individuo en la Fin
población
SI
Generacion++ Individuos=M?
NO
Mutación
Selección de la operación
Genética
Cruce
2 Individuos seleccionados en base a su Individuo seleccionado en base a su
desempeño desempeño
Ejecución Crossover Ejecución Mutación
Inserción de 2 individuos en la nueva Inserción del mutante en la nueva población
población
Individuos=Individuos+2 Individuos=Individuos+1
12. Ventajas de los algoritmos genéticos en la solución de
problemas computacionales
• Descendencia múltiple : pueden explorar el espacio de soluciones en múltiples
direcciones a la vez.
• Paralelismo : les permite evaluar implícitamente muchos esquemas a la vez,
los AG funcionan particularmente bien resolviendo problemas cuyo espacio de
soluciones potenciales es realmente grande, demasiado vasto para hacer una
búsqueda exhaustiva en un tiempo razonable
• Multiparamétrico : manipula muchos parámetros simultáneamente.
Muchos problemas de la vida real no pueden definirse en términos de un
único valor que hay que minimizar o maximizar, sino que deben expresarse
en términos de múltiples objetivos
13. Aéreas de aplicación de los algoritmos genéticos
Existen numerosas aéreas en las cuales se pueden aplicar los algoritmos
genéticos, entre ellas se encuentran :
• Programación automática: Los AG se han empleado para desarrollar
programas para tareas específicas , y para diseñar otras estructuras
computacionales tales como el autómata celular, y las redes de clasificación.
• Economía: En este caso, se ha hecho uso de estos Algoritmos para
modelar procesos de innovación, el desarrollo de estrategias de puja, y la
aparición de mercados económicos.
• Aprendizaje máquina: Han servido asimismo para desarrollar determinados
aspectos de sistemas particulares de aprendizaje, como pueda ser el de los
pesos en una red neuronal, las reglas para sistemas de clasificación de
aprendizaje o sistemas de producción simbólica, y los sensores para robots.
• Optimización: Los AG se han utilizado en numerosas tareas de optimización,
incluyendo la optimización numérica, y los problemas de optimización
combinatoria.
14. Estrategias de Seleccion
El análisis de estrategias y selección de
alternativas sirve para identificar la
alternativa más viable para organizar la
intervención.
Las estrategias son los medios que
resultan más adecuados para alcanzar
los objetivos
15. Selección Directa
Se encarga tomar elementos de acuerdo
a un criterio objetivo, como son los x
mejores, los x peores.
17. Selección Equiprobable
Es cuando todos tienen la misma
probabilidad de ser escogidos. Por
ejemplo, en nuestro algoritmo la madre en
el cruce es escogida con probabilidad
equiprobable.
18. Selección Estocastica
Es cuando probabilidad de que un
individuo sea escogido depende de una
heurística. Los distintos procedimientos
estocásticos son:
Selección por sorteos
Por ruleta
Por torneo o elitesco
19. Selección por Sorteos
Cada individuo de la población tiene
asignado un rango proporcional o
inversamente proporcional a su
adaptación. Se escoge un número
aleatorio dentro del rango global, y el
escogido es aquel que tenga dicho número
dentro de su rango. La probabilidad de ser
escogido es proporcional/inversamente
proporcional al grado de adaptación del
individuo.
20. Por Ruleta
. El comportamiento es similar al de una ruleta,
donde se define un avance cada tirada a partir
de la posición actual. Tiene la ventaja de que no
es posible escoger dos veces consecutivas el
mismo elemento, y que puede ser forzado a que
sea alta la probabilidad de que no sean
elementos próximos en la población esto último
no es una ventaja de por sí; salvo que algunos
de los otros operadores genéticos emplee un
método de selección directa basado en la
posición relativa de los individuos de la
población.
21. Por Torneo o Elitesco
Escoge un subconjunto de individuos de acuerdo con
una de las técnicas anteriores -habitualmente, aleatoria
o estocástica- y de entre ellos selecciona el más
adecuado por otra técnica habitualmente, determinística
de tipo el mejor o el peor. Esta técnica tiene la ventaja
de que permite un cierto grado de elitismo -el mejor
nunca va a morir, y los mejores tienen más probabilidad
de reproducirse y de emigrar que los peores- pero sin
producir una convergencia genética prematura, si la
población es, al menos, un orden de magnitud superior
al del número de elementos involucrados en el torneo.
En caso de que la diferencia sea menor no hemos
observado mucha diferencia entre emplear el torneo o
no.
22. Técnicas de Cruces
Cruce básico: se selecciona un punto al azar de la cadena. La parte anterior del
punto es copiada del genoma del padre y la posterior del de la madre.
Cruce multipunto: igual que el básico, solo que estableciendo más de un punto de
cruce.
Cruce uniforme: para cada gen de la cadena del descendiente existe una
probabilidad de que el gen pertenezca al padre, y otra de que pertenezca al padre.
23.
24. ¿QUE SON LAS
MUTACIONES?
Se define mutación como una
variación de las informaciones
contenidas en el código genético
- habitualmente, un cambio de
un gen a otro producido por algún
factor exterior al algoritmo
genético
El objetivo del operador de mutación es
producir nuevas soluciones a partir de la
modificación de un cierto número de genes de
una solución existente, con la intención de
fomentar la variabilidad dentro de la población.
Existen muy diversas formas de realizar la
mutación, desde la más sencilla (Puntual ),
donde cada gen muta aleatoriamente con
independencia del resto de genes, hasta
configuraciones más complejas donde se tienen
en cuanta la estructura del problema y la relación
entre los distintos genes.
25. TECNICAS DE MUTACION
• Mutación de bit: existe una única probabilidad de
que se produzca una mutación de algún bit. De
producirse, el algoritmo toma aleatoriamente un bit, y BIT
lo invierte.
• Mutación multibit: cada bit tiene una probabilidad
de mutarse o no, que es calculada en cada pasada
del operador de mutación multibit.
• Mutación de gen: igual que la mutación de bit, BARAJADA
MULTIBIT
solamente que, en vez de cambiar un bit, cambia un
gen completo. Puede sumar un valor aleatorio, un
valor constante, o introducir un gen aleatorio nuevo.
• Mutación multigen: igual que la mutación de
multibit, solamente que, en vez de cambiar un TECNICAS
conjunto de bits, cambia un conjunto de genes. DE
Puede sumar un valor aleatorio, un valor constante,
o introducir un gen aleatorio nuevo. MUTACION
• Mutación de intercambio: existe una probabilidad
de que se produzca una mutación. De producirse,
toma dos bits/genes aleatoriamente y los
intercambia. INTERCAMBI
O GE
• Mutación de barajado: existe una probabilidad de
que se produzca una mutación. De producirse, toma N
dos bits o dos genes aleatoriamente y baraja de
forma aleatoria los bits -o genes, según hubiéramos MULTIGEN
escogido- comprendidos entre los dos.
26.
27. DATOS CURIOSOS
• Schaffer y col. encuentran que el efecto del
cruce en la búsqueda es inferior al que
previamente se esperaba. Utilizan la
denominada evolución primitiva, en la cual, el
proceso evolutivo consta tan sólo de
selección y mutación.
• Se considera como un operador secundario
en los algoritmos genéticos canonicos.
• Se suelen recomendar porcentajes de
mutacion entre 0.001 y 0.01 para la
representacion binaria.
• Algunos investigadores han sugerido que el
usar porcentajes altos de mutacion al inicio
de la busqueda, y luego de crementarlos
exponencialmente, favorece el desempeño
de un AG (Fogarty, 1989).
• Algunos autores sugieren que pm =1/L
(donde L es la longitud de la cadena
cromosomica) es un limite inferior para el
porcentaje optimo de mutacion (Black, 1993).
• El papel que juega la mutacion en el proceso
evolutivo, asi como su comparacion con la
cruza, sigue siendo tema frecuente de
investigacion y debate en la comunidad de
computacion evolutiva.