Universidad Tecnológica Nacional Facultad Regional Buenos Aires Inteligencia Artificial – 2009 Trabajo Práctico N°: 4 Tema TP: Algoritmos Genéticos Grupo N°: 12 Legajo 110258-8 111841-9 109703-6 248462-6 113341-0 Apellido y Nombre Vázquez, Christian Feldman, Javier Vaamonde, Alejandro Migliaro, Francisco Fürst, Hernán (Responsable) Fecha Presentación: 02/11/2009 Clasificación:__________________ Fecha Devolución: ______________ Firma Profesor: ________________ Inteligencia Artificial TP N°: 4 Temas/s Evaluado/s: Algoritmos Genéticos - Grupo N°: 12 INDICE Trabajo Práctico N°: 4 ......................................................................................................................... 1 Objetivos.............................................................................................................................................. 3 Enunciado ............................................................................................................................................ 4 Composición del individuo.................................................................................................................. 5 Ejecuciones de la aplicación ................................................................................................................ 6 1er ejecución: ................................................................................................................................... 6 Parámetros .................................................................................................................................. 6 Resultados.................................................................................................................................... 6 2da ejecución: .................................................................................................................................. 7 Parámetros .................................................................................................................................. 7 Resultados.................................................................................................................................... 7 3ra ejecución: ................................................................................................................................... 8 Parámetros .................................................................................................................................. 8 Resultados.................................................................................................................................... 8 Conclusión ........................................................................................................................................... 9 Página 2 de 9 Inteligencia Artificial TP N°: 4 Temas/s Evaluado/s: Algoritmos Genéticos - Grupo N°: 12 Objetivos ENTREGA Número 4: Algoritmos Genéticos Resolver el problema mediante Algoritmos Genéticos. Para ello se debe considerar: a) Definir la función de aptitud y estructura del cromosoma de acuerdo a la heurística definida. b) Implementar la función de aptitud y realizar por lo menos 3 ejecuciones con diferentes parámetros y/o métodos. c) Analizar las ejecuciones generadas, presentando las conclusiones. d) Recomendar nuevos parámetros y/o métodos, justificando su respuesta. Página 3 de 9 Inteligencia Artificial TP N°: 4 Temas/s Evaluado/s: Algoritmos Genéticos - Grupo N°: 12 Enunciado Un equipo de investigación conjunta de EE.UU. y Australia se encuentran en la búsqueda del sitio perfecto para emplazar un observatorio astronómico. El objetivo es combinar datos de satélites, estaciones terrestres y modelos climáticos en un estudio para evaluar los múltiples factores que afectan a la astronomía. Estos factores deben considerar las siguientes restricciones: Temperatura (ºC) [-70, -50] (+5) (-50, -30] (+2) (-30, -10] (0) > -10 (-5) Humedad relativa (%) [0,2] (+5) (2,4] (+2) (4,6] (-1) (6, 100] (-5) Cobertura de nubes promedio por año (%) [0,1] (+5) (1,2] (+1) (2,3] (-1) (3,100] (-5) Brillo del cielo nocturno (escala Bortle) [4;7,6) (-5) (7,6;8] (+5) Velocidad del viento (km/h) [0,2] (+5) (2,5] (+2) (5,10] (-1) (10,15] (-3) > 15 (-5) Presión atmosférica (hPa) [600,700] (+5) (700,800] (+2) (800,900] (-1) (900,1000] (-3) > 1000 (-5) La función de aptitud es: f = 3 * (Temperatura + Humedad relativa) + 2 * (cobertura de nubes promedio por año + brillo del cielo nocturno) + velocidad del viento + (presión atmosférica / 2) Página 4 de 9 Inteligencia Artificial TP N°: 4 Temas/s Evaluado/s: Algoritmos Genéticos - Grupo N°: 12 Composición del individuo C1 Temperatura (ºC) C2 Humedad relativa (%) C3 Cobertura de nubes promedio por año (%) C4 Brillo del cielo nocturno C5 Velocidad del viento C6 Presión atmosférica Cada individuo representa una ciudad y contiene seis atributos, donde cada uno representa una característica diferente de dicha ciudad (por ejemplo: humedad, presión, temperatura, etc.). Página 5 de 9 Inteligencia Artificial TP N°: 4 Temas/s Evaluado/s: Algoritmos Genéticos - Grupo N°: 12 Ejecuciones de la aplicación 1er ejecución: Parámetros Método de Selección: Elitista / Ruleta. Método de Cruza: Simple. Método de Mutación: Simple. Mejor Fitness posible: 57.5 Tasa de Mutación: 0,1 Tamaño de Población: 100 Generaciones: 2000 Resultados Mejor Temperatura: -57,12 Humedad Relativa: 38,19 Cobertura de nubes: 70,14 Brillo del cielo nocturno: 7,73 Velocidad del viento: 1,42 Presión atmosférica: 673,29 Valor de la función aptitud: 7,5 Peor Temperatura: -52,23 Humedad Relativa: 59,73 Cobertura de nubes: 51,58 Brillo del cielo nocturno: 6,72 Velocidad del viento: 1,42 Presión atmosférica: 677,71 Valor de la función aptitud: -12,5 Página 6 de 9 Inteligencia Artificial TP N°: 4 Temas/s Evaluado/s: Algoritmos Genéticos - Grupo N°: 12 2da ejecución: Parámetros Método de Selección: Elitista / Ruleta. Método de Cruza: Simple. Método de Mutación: Simple. Mejor Fitness posible: 57.5 Tasa de Mutación: 0,1 Tamaño de Población: 500 Generaciones: 5000 Resultados Mejor Temperatura: -51,80 Humedad Relativa: 32,60 Cobertura de nubes: 39,00 Brillo del cielo nocturno: 5,82 Velocidad del viento: 4,68 Presión atmosférica: 788,92 Valor de la función aptitud: -17 Peor Temperatura: -6,66 Humedad Relativa: 35,52 Cobertura de nubes: 38,23 Brillo del cielo nocturno: 6,77 Velocidad del viento: 33,34 Presión atmosférica: 918,27 Valor de la función aptitud: -56,5 Página 7 de 9 Inteligencia Artificial TP N°: 4 Temas/s Evaluado/s: Algoritmos Genéticos - Grupo N°: 12 3ra ejecución: Parámetros Método de Selección: Elitista / Ruleta. Método de Cruza: Simple. Método de Mutación: Simple. Mejor Fitness posible: 57.5 Tasa de Mutación: 0,1 Tamaño de Población: 100 Generaciones: 2000 Resultados Mejor Temperatura: -50,25 Humedad Relativa: 0,69 Cobertura de nubes: 49,56 Brillo del cielo nocturno: 7,68 Velocidad del viento: 1,93 Presión atmosférica: 624,39 Valor de la función aptitud: 37,5 Peor Temperatura: -1,76 Humedad Relativa: 24,90 Cobertura de nubes: 49,56 Brillo del cielo nocturno: 7,68 Velocidad del viento: 1,93 Presión atmosférica: 824,24 Valor de la función aptitud: -25,5 Página 8 de 9 Inteligencia Artificial TP N°: 4 Temas/s Evaluado/s: Algoritmos Genéticos - Grupo N°: 12 Conclusión Se hicieron varias pruebas con índice de mutación bajo e índice de mutación alto. El resultado fue que cuando la mutación se ejecuta y activa en cada vuelta, la población resultante difícilmente tienda a mejores soluciones del problema. De acuerdo a la naturaleza de nuestro problema, no aplicaríamos Algoritmos Genéticos para su resolución. Si bien AG aportaría una población final de mejores soluciones, eligiendo finalmente la más apta, esta última es altamente probable que no exista. Esto no resolvería nuestro problema, ya que implicaría una búsqueda posterior de aquellas ciudades existentes que cumplan con las características del individuo seleccionado. Nota: El algoritmo genético implementado está basado en la implementación de dicho algiritmo de Barry Lapthorn. El mismo se puede descargar de http://www.codeproject.com/KB/recipes/btl_ga.aspx. Partiendo de esa implementación se codificó la función aptitud y se modificaron los métodos de creación de la población y de mutación para que respondan a la configuración de nuestros individuos, los cuales están compuestos de características con valores reales en diferentes rangos. Anexo a este trabajo práctico se encuentra el código fuente utilizado para el trabajo práctico junto con los archivos binarios usados para realizar las corridas. Página 9 de 9