Inteligencia Artificial Clase 5

3,841 views
3,660 views

Published on

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

No Downloads
Views
Total views
3,841
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Inteligencia Artificial Clase 5

  1. 1. Algoritmos GenéticosIntroducción<br />AG<br />Los Algoritmos Genéticos (AG) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización.<br />Por imitación del proceso natural, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real.<br />Los Algoritmos Genéticos (AG) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización.<br />Por imitación del proceso natural, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real.<br />
  2. 2. Algoritmos GenéticosReseña Histórica<br />AG<br />Los primeros ejemplos de lo que hoy podríamos llamar algoritmos genéticos aparecieron a finales de los 50 y principios de los 60, programados en computadoras por biólogos evolutivos que buscaban explícitamente realizar modelos de aspectos de la evolución natural.<br />En 1962, investigadores como G.E.P. Box, G.J. Friedman, W.W. Bledsoe y H.J. Bremermann habían desarrollado independientemente algoritmos inspirados en la evolución para optimización de funciones y aprendizaje automático.<br />En 1965 surgió un desarrollo más exitoso, cuando IngoRechenberg, Universidad Técnica de Berlín, introdujo una técnica que llamó estrategia evolutiva. En esta técnica no había población ni cruzamiento; un padre mutaba para producir un descendiente, y se conservaba el mejor de los dos, convirtiéndose en el padre de la siguiente ronda de mutación.<br />
  3. 3. Algoritmos Genéticos Reseña Histórica<br />AG<br />El siguiente desarrollo importante en el campo vino en 1966, cuando L.J. Fogel, A.J. Owens y M.J. Walsh introdujeron en América una técnica que llamaron programación evolutiva, las soluciones candidatas para los problemas se representaban como máquinas de estado finito sencillas; al igual que en la estrategia evolutiva de Rechenberg, su algoritmo funcionaba mutando aleatoriamente una de estas máquinas simuladas y conservando la mejor de las dos. Sin embargo, ltodavía faltaba el cruzamiento. <br />En 1962, el trabajo de John Holland (Universidad de Michigan) sobre sistemas adaptativos fué el primero en proponer explícitamente el cruzamiento y otros operadores de recombinación. Sin embargo, el trabajo fundamental en el campo de los algoritmos genéticos apareció en 1975, con la publicación del libro ``Adaptación en Sistemas Naturales y Artificiales''. <br />
  4. 4. Algoritmos GenéticosCaracterísticas<br />AG<br /><ul><li> Una población de individuos que representan soluciones candidatas del problema a resolver.
  5. 5. Un mecanismo de selección competitiva basada en calidad de cada individuo.
  6. 6. Operadores genéticos idealizados que modifican los individuos seleccionados para crear otros nuevos.</li></ul>Esto permite explotar el todo conocimiento acumulado durante la búsqueda (pasar de las generaciones) de tal manera de encontrar un equilibrio entre la necesidad de ampliar la búsqueda y la de centrarse en las soluciones de mayor adaptación.<br />
  7. 7. Algoritmos GenéticosAlgoritmo generalizado<br />AG<br />I(t) hace referencia a la población I en la generación t<br />I’(t) esta conformada por los mejores individuos de I<br />
  8. 8. Algoritmos GenéticosAlgoritmo generalizado<br />AG<br />Generalmente un Algoritmo Genético debe tener 5 componentes: <br />Una representación genética de las soluciones del problema, es decir, representación de las variables que intervienen en cadenas de bits.<br />Una forma de crear una población inicial de soluciones.<br />Una función de evaluación en términos de conveniencia o adaptación de la solución evaluada. <br />Operadores genéticos que cambien la composición de los descendientes. <br />Valores para los parámetros utilizados por los Algoritmos Genéticos (N, Pc, Pm, ...). <br />I(t) hace referencia a la población I en la generación t<br />I’(t) esta conformada por los mejores individuos de I<br />
  9. 9. Algoritmos GenéticosRepresentación de los datos<br />AG<br />Las solucionespotenciales al problema se representancomo un conjunto de parámetros (genes). Estosparámetros se agrupanparaformarunacadena de valores (cromosoma). Tradicionalmente en AGs cadenas de bits, otrasrepresentaciones, númerosreales, árboles, etc <br />I(t) hace referencia a la población I en la generación t<br />I’(t) esta conformada por los mejores individuos de I<br />
  10. 10. Algoritmos GenéticosInicialización<br />AG<br />Inicialización De La Población:<br />Se trata de obtener una población inicial de la que partir en el proceso evolutivo.<br />En general la población inicial suele calcularse de forma aleatoria.<br />
  11. 11. Algoritmos GenéticosEvaluación<br />AG<br />Evaluación:<br />Llamamos Función Objetivo (Fitness) a la que evalúa la adaptación al medio de los individuos de la población, y es la que nos delimita el criterio a la hora de reproducir y seleccionar unos individuos de la población en lugar de otros.<br />Su propósito es proveer una medida de la calidad de la solución candidata. Para algunos problemas diseñar una función de fitness es sencillo, pero este no es siempre el caso en aplicaciones reales.<br />Este puede ser el paso más costoso del AG pues significa enfrentar a los individuos con el problema y en situaciones reales implica consumo de recursos.<br />
  12. 12. Algoritmos GenéticosSelección<br />AG<br />Selección:<br />Es el proceso que se lleva a cabo al final de cada generación, y consiste en escoger un conjunto de individuos de tamaño N, que serán los individuos que sobrevivan y pasen a la siguiente generación.<br />Se puede optar que sobrevivan los individuos mejor adaptados en cada generación, es decir, aquellos con mayor valor de la función objetivo, sin embargo, existen otras posibilidades, como escoger un grupo de los mejores individuos, los más adaptados, y del resto escoger otro grupo de individuos aleatoriamente.<br />Se puede afectar el proceso de búsqueda cuando la selección es muy fuerte, disminuyendo diversidad necesaria para el progreso o cuando la selección es muy débil porque la evolución es muy lenta.<br />
  13. 13. Algoritmos GenéticosSelección<br />AG<br />Métodos de Selección:<br />- SelecciónProporcional (Proportional Selection)<br />- Selecciónpor Ranking (Rank Selection)<br />- SelecciónporTorneo (Tournament Selection)<br />
  14. 14. Algoritmos GenéticosSelección<br />AG<br />Métodos de Selección:<br />- Selección Proporcional<br />El número de veces que un individuo con fitnessfies seleccionado es: fi/Media(fi)<br />Los mejores individuos (más adaptados) tienen:<br />Más chance de ser elegidos<br /> Más espacio en la ruleta<br />
  15. 15. Algoritmos GenéticosSelección<br />AG<br />Métodos de Selección:<br />- Selección por Ranking<br />Se ordenan los individuossegúnsu fitness del mejor al peor. La posición en estalistaordenada se llama ranking.En lugar de usar los valores de fitness del individuo, se usa la posición de los individuosparaseleccionar de estalistaordenada.<br />
  16. 16. Algoritmos GenéticosSelección<br />AG<br />Métodos de Selección:<br />- Selección por Torneo<br />Seleccionar k individuos sin reemplazo y tomar el mejor de ellos, repetir esto. <br />(k es llamado el tamaño del torneo)<br />
  17. 17. Algoritmos GenéticosModificación <br />AG<br />Para efectuar los cambios pertinentes en la población, se emplean los Operadores Genéticos:<br />Combinación o Cruce<br /> Mutación<br />Asociadas a los operadores genéticos de cruce y mutación existen:<br />La probabilidad de cruce:Pc y es la probabilidad de aplicar el operador de cruce sobre parejas de individuos obtenidas en cada generación.<br />La probabilidad de mutación:Pm, la probabilidad de aplicar el operador de mutación sobre los individuos de cada generación. <br />
  18. 18. Algoritmos GenéticosModificación <br />AG<br />Combinación o Cruce:<br />Se trata de simular la reproducción de dos individuos de la población, obteniendo como resultado un nuevo individuo intermedio entre sus dos progenitores. <br />El nuevo individuo es el resultado del cruce de dos individuos “originales”, dividiendo en un cierto punto el código genético de éstos y siendo el nuevo individuo el resultado de concatenar la primera parte del código genético del primer original con la segunda parte del código del segundo original. <br />
  19. 19. Algoritmos GenéticosModificación <br />AG<br />Combinación o Cruce:<br />Hay varias opciones de cruce o recombinación:<br />
  20. 20. Algoritmos GenéticosModificación <br />AG<br />Mutación:<br />Se trata de producir una leve modificación en el código genético de los individuos, con vistas a diversificar la población, y a la salida de un eventual estado estable en el cuál la similitud de todos los individuos coarten en gran medida la evolución hacia individuos con mayor función objetivo.<br />
  21. 21. Algoritmos GenéticosReemplazo<br />AG<br />El reemplazo de la generación puede hacerse por uno de los siguientes enfoques:<br />Generacional: toda la población es reemplazada en cada generación<br />Estado – Estacionario (steady – state): Solo pocos individuos son reemplazados cada generación (típicamente uno o dos)<br />Gap Generacional: Entre los dos esquemas anteriores, se define un porcentaje (gap) de los individuos que serán reemplazados cada generación,<br />
  22. 22. Algoritmos GenéticosFinalización<br />AG<br />Existen muchas formas de terminar el proceso de búsqueda de la solución por A.G., los criterios principales son:<br />- Númerofijo de generaciones o evaluaciones<br /><ul><li>Considerandomedidas de diversidad en la población
  23. 23. Cuando se alcance el óptimo (siesconocido)</li></ul>- Luego de variasgeneraciones sin ningunamejora<br /> -Luego de un tiempo de computofijo<br />
  24. 24. Algoritmos GenéticosEjemplo de aplicación<br />AG<br />Ejemplo 1:<br />Max(f(x)=x^2), donde x>=0 y x<=31; x es entero.<br />Codificación:<br />
  25. 25. Algoritmos GenéticosEjemplo de aplicación<br />AG<br />Ejemplo 1:<br />Max(f(x)=x^2), donde x>=0 y x<=31; x es entero.<br />Población Inicial:<br />
  26. 26. Algoritmos GenéticosEjemplo de aplicación<br />AG<br />Ejemplo 1:<br />Max(f(x)=x^2), donde x>=0 y x<=31; x es entero.<br />Selección Proporcional:<br />Población Resultante<br />
  27. 27. Algoritmos GenéticosAreas de aplicación<br />AG<br />Existen muchas formas de terminar el proceso de búsqueda de la solución por A.G., los criterios principales son:<br />Solución de modelos de Inventarios Estocásticos.<br />Solución de Problemas de Corte Unidimensional.<br />Diseño de redes viales urbanas.<br />Optimización de carga de contenedores.<br />Planeación y Administración de Recursos en Entidades Académicas.<br />

×