Algoritmo genetico

7,116 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,116
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
289
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Algoritmo genetico

  1. 1. UNIVERSIDAD BICENTENARIA DE ARAGUA FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA DE SISTEMAS SAN JOAQUÍN DE TURMERO INTEGRANTES: INGRID SOCORRO PATRICIA SEVILLA MARCO GAMEZ
  2. 2. Los algoritmos genéticos establecen unaCONCEPTO analogía entre el conjunto de soluciones de un problema y el conjunto de individuos de una población natural, codificando la información de cada solución en un string (vector binario) a modo de cromosoma. "Se pueden encontrar soluciones aproximadas a problemas de gran complejidad computacional mediante un proceso de "evolución simulada", Holland
  3. 3. Los Algoritmos Genéticos (AG) son métodos adaptativos que pueden ser utilizados para implementar búsquedas y problemas deCONCEPTO optimización. Ellos están basados en los procesos genéticos de organismos biológicos, codificando una posible solución a un problema en un "cromosoma" compuesto por una cadena de bits o caracteres.
  4. 4. De estado Fijo: Utilizan el esquema generacional de losALGORITMOS GENÉTICOS mamíferos y otros Generacionales: animales de vida Se asemejan a la larga, donde Paralelos: forma de coexisten padres y CLASES DE reproducción de los sus Se originan dos insectos, donde una descendientes, permi modelos que toman generación pone tiendo que los hijos es en cuenta esta huevos, se aleja sean educados por variación, y utilizan geográficamente o sus no una población muere y es progenitores, pero como los anteriores también que a la si múltiple sustituida por una larga se genere concurrentemente. nueva. competencia entre ellos.
  5. 5. ALGORITMOS GENÉTICOS Modelos de Islas: Modelo Celular: Si se tiene una población Los individuos están de individuos, esta se distribuidos al azar sobre divide en sub-poblaciones la matriz, Posteriormente CLASES DE que evolucionan empiezan a emerger zonas independientemente. como cromosomas y Ocasionalmente, se adaptaciones semejantes. producen migraciones La reproducción Y entre ellas permitiéndoles selección local crea intercambiar material tendencias evolutivas genético. aisladas.
  6. 6. Como los Algoritmos Genéticos se encuentra basados en los procesos de evolución de los seres vivos, casi todos sus conceptos se basanALGORITMOS GENÉTICOS en conceptos de biología y genética que son fáciles de comprender. INDIVIDUO ELEMENTOS DE Un individuo es un ser que caracteriza su propia especie. El POBLACIÓN individuo es un OPERADORES cromosoma y es el GENETICOS. A un conjunto de codigo de información individuos (Cromosomas) Son los diferentes sobre el cual opera el se le denomina población. métodos u operaciones algoritmo. Cada El método de A.G´s que se pueden ejercer solución parcial del consiste en ir obteniendo sobre una población y problema a optimizar de forma sucesiva que nos permite está codificada en distintas poblaciones. obtener poblaciones forma de cadena o nuevas. String en un alfabeto determinado, que puede ser binario
  7. 7. ESTRUCTURA DEALGORITMOS GENÉTICOS
  8. 8. CODIFICACIÓN: los elementos característicos del problema se pueden representar de tal forma que resulte sencilla su implementación y comprensión.ALGORITMOS GENÉTICOS POBLACIÓN INICIAL: para constituir la población inicial, que será la población base de las sucesivas ESTRUCTURA DE generaciones, existen varios métodos. FUNCIÓN FITNESS: asigna a cada cromosoma un número real, que refleja el nivel de adaptación al problema del individuo representado por el cromosoma. SELECCIÓN: es el proceso por el cual se eligen una o varias parejas de individuos de la población inicial para que desempeñen el papel de progenitores, cruzándose posteriormente y obteniendo descendencia o permaneciendo en la siguiente generación. Cruzamiento: el operador cruce permite el intercambio de información entre individuos de una población, recombinando los cromosomas, dando lugar a nuevos individuos. Mutación: el operador mutación se aplica tras el cruce con el objetivo de incrementar la diversidad poblacional.
  9. 9. • Una clara ventaja es que los algoritmos genéticos son intrínsecamente paralelos, es decir, operan de forma simultánea con varias soluciones, en vez de trabajar de forma secuencial como las técnicas tradicionales. Esto significa que mientras técnicas tradicionales sólo pueden explorar elALGORITMOS GENÉTICOS espacio de soluciones hacia una solución en una dirección al mismo tiempo, y si la solución que descubren resulta subóptima, no se puede hacer otra cosa que abandonar todo el trabajo hecho y empezar de VENTAJAS DE nuevo. Sin embargo, los algoritmos genéticos simplemente desechan esta solución subóptima y siguen por otros caminos. • Cuando se usan para problemas de optimización resultan menos afectados por los máximos locales (falsas soluciones) que las técnicas tradicionales. Muchos algoritmos de búsqueda pueden quedar atrapados en los óptimos locales: si llegan a lo alto de una colina del paisaje adaptativo, descubrirán que no existen soluciones mejores en las cercanías y concluirán que han alcanzado la mejor de todas, aunque existan picos más altos en algún otro lugar del mapa, situación que no sucede para algoritmos genéticos.
  10. 10. Otra ventaja es su habilidad para manipular muchos parámetros simultáneamente. Resulta interesante en caso de tener varios objetivos a resolver.ALGORITMOS GENÉTICOS No necesitan conocimientos específicos sobre el problema que intentan resolver. Realizan cambios aleatorios en sus soluciones candidatas y luego utilizan la función de aptitud para determinar VENTAJAS DE si esos cambios producen una mejora o no. Resulta sumamente fácil ejecutarlos en las modernas arquitecturas masivas en paralelo. Usan operadores probabilísticos, en vez de los típicos operadores determinísticos de las otras técnicas.
  11. 11. OPTIMIZACIÓN: Se trata de un campo especialmente abonado para el uso de los Algoritmos Genéticos, por las características intrínsecas de estos problemas. No en vano fueron la fuente de inspiración para los creadores estos algoritmos. Los Algoritmos Genéticos se han utilizado en numerosasALGORITMOS GENÉTICOS tareas de optimización, incluyendo la optimización numérica, y los problemas de optimización combinatoria. APLICACIONES DE PROGRAMACIÓN AUTOMÁTICA: Los Algoritmos Genéticos 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. APRENDIZAJE MÁQUINA: Los AG se han utilizado también en muchas de estas aplicaciones, tales como la predicción del tiempo o la estructura de una proteína. 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. ECONOMÍA: En este caso, se ha hecho uso de estos Algoritmos para modelar procesos de innovación, el desarrollo estrategias de puja, y la aparición de mercados económicos.
  12. 12. SISTEMAS SOCIALES: En el estudio de aspectos evolutivos de los sistemas sociales, tales como la evolución del comportamiento social en colonias de insectos, y la evolución de la cooperación y laALGORITMOS GENÉTICOS comunicación en sistemas multiagentes. APLICACIONES DE Sistemas inmunes: Al momento de modelar varios aspectos de los sistemas inmunes naturales, incluyendo la mutación somática durante la vida de un individuo y el descubrimiento de familias de genes múltiples en tiempo evolutivo, ha resultado útil el empleo de esta técnica.
  13. 13. Para aplicar los operadores genéticos tendremos que seleccionar unESTRATEGIAS DE SELECCIÓN subconjunto de la población. Algunas de las técnicas que disponemos son: SELECCIÓN DIRECTA: toma elementos de acuerdo a un criterio objetivo, como son «los x mejores», «los x peores»... los del tipo «el cuarto individuo a partir del último escogido» son empleados con mucha frecuencia cuando se quieren seleccionar dos individuos distintos, y se selecciona el primero por un método aleatorio o estocástico. SELECCIÓN SELECCIÓN ALEATORIA: puede ser realizado por selección equiprobable o selección estocástica. • Selección equiprobable: todos tienen la misma probabilidad de ser escogidos. Por ejemplo, en nuestro algoritmo la madre en el cruce es escogida con probabilidad equiprobable. • Selección estocástica: la probabilidad de que un individuo sea escogido depende de una heurística. POR TORNEO: 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»-.
  14. 14. La forma de calcular el genoma del nuevo individuo en función del genoma del padre y de la madre. El operador de cruce es fuertemente responsable de las propiedades del algoritmo genético, y determinará en gran medida la evolución de la población.TECNICAS DE CRUCE Existen gran cantidad de técnicas de cruce. Las técnicas básicas son: 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 cruce CRUCE básico, sólo 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 a la madre.
  15. 15. 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-. En Biología se definen dos tipos de mutaciones: las generativas, que se heredan y las somáticas, que no se heredan. En los algoritmos genéticos sólo nos serán interesantes las mutaciones generativas. Algunas de las razones que pueden motivar a incorporar son:MUTACION DESBLOQUEO DEL ALGORITMO: Si el algoritmo se bloqueó en un mínimo parcial, una mutación puede sacarlo al incorporar nuevos fenotipos de otras zonas del espacio. ACABAR CON POBLACIONES DEGENERADAS: Puede ocurrir que, bien por haber un cuasi-mínimo, bien porque en pasos iniciales apareció un individuo demasiado bueno que acabó con la diversidad genética, la población tenga los mismos fenotipos. Si se ha llegado a una población degenerada, es preciso que las mutaciones introduzcan nuevos genomas.
  16. 16. INCREMENTAR EL NÚMERO DE SALTOS EVOLUTIVOS. Los saltos evolutivos - aparición de un fenotipo especialmente valioso, o, dicho de otra forma, salida de un mínimo local- son muy poco probables en un genético puro para un problema genérico. La mutación permite explorar nuevos subespacios de soluciones, por lo que, si el subespacio es bueno en términos de adaptación, se producirá un salto evolutivo después de la mutación que se expanderá de forma exponencial por la población.MUTACION ENRIQUECER LA DIVERSIDAD GENÉTICA: Es un caso más suave que el de una población degenerada -por ejemplo, que la población tenga una diversidad genética pobre-, la mutación es un mecanismo de prevención de las poblaciones degeneradas. Sin embargo, si la tasa de mutación es excesivamente alta tendremos la ya conocida deriva genética. Una estrategia muy empleada es una tasa de mutación alta al inicio del algoritmo, para aumentar la diversidad genética, y una tasa de mutación baja al final del algoritmo, para conseguir que converja.
  17. 17. Existen varias técnicas distintas de mutación. Algunas de éstas son: 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 lo invierte.MUTACION 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, 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 conjunto de bits, cambia un conjunto de genes. Puede sumar un valor aleatorio, un valor constante, o introducir un gen aleatorio nuevo. MUTACIÓN DE INTERCAMBIO: existe una probabilidad de que se produzca una mutación. De producirse, toma dos bits/genes aleatoriamente y los intercambia.
  18. 18. GRACIAS…

×