Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 1 TEMA 3: Áreas de la IA: Ejemplos de investigación actual. Algoritmos Genéticos 1 Introducción 2 Esquema general 2.1 Operadores 3 Aplicaciones a la Documentación Bibliografía Bibliografía S. Russell, P. Norvig. Inteligencia Artificial . Un enfoque moderno. Prentice Hall. 1996 S. Russell, P. Norvig. Inteligencia Artificial . Un enfoque moderno. Prentice Hall. 1996 Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 2 1 Introducción El algoritmo genético es una técnica de búsqueda basada en la teoría de la evolución de Darwin. Ha cobrado tremenda popularidad en los últimos años. Esta técnica se basa en los mecanismos de selección que utiliza la naturaleza: los individuos más aptos de una población son los que sobreviven pues se adaptan más fácilmente a los cambios que se producen en su entorno. Los cambios se traducen en transformaciones en los genes de un individuo (unidad básica de codificación de cada uno de los atributos de un ser vivo) Las características más destacadas de un individuo (i.e., los que le permiten adaptarse mejor a su entorno) se deben transmitir a sus descendientes. Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 3 1 Introducción Definición “Es un algoritmo matemático altamente paralelo que transforma un conjunto de objetos matemáticos individuales con respecto al tiempo usando operaciones modeladas de acuerdo al principio Darwiniano de reproducción y supervivencia del más apto, y tras haberse presentado de forma natural una serie de operaciones genéticas de entre las que destaca la recombinación sexual. Cada uno de estos objetos matemáticos suele ser una cadena de caracteres (letras o números) de longitud fija que se ajusta al modelo de las cadenas de cromosomas, y se les asocia con una cierta función matemática que refleja su aptitud.” Un AG empieza por uno o varios individuos y mediante operaciones de transformación y selección va haciendo evolucionar su especie, desarrollando individuos mejores. Un AG se caracteriza por su aleatoriedad en todo su proceso (empleo de probabilidades) Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 4 2 Esquema general Elementos de un AG: Población: Población individuos que representan cada uno de ellos una solución codificada de una forma adecuada (cromosomas). Operadores: Operadores conjunto de operaciones a realizar sobre los individuos de una población. Función de adaptación: adaptación función que se emplea para evaluar la idoneidad de un individuo determinado. Un AG desarrolla un proceso de evolución de los individuos de una población, obteniendo nuevas poblaciones a partir de los individuos más fuertes. Un AG busca un individuo que maximice o minimice la función de adaptación. Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 5 2 Esquema general Esquema de un algoritmo genético: generar población inicial G(0); evaluar G(0); t:=0; repetir t:=t+1; generar G(t) usando G(t-1); evaluar G(t); hasta encontrar una solución; Se seleccionan los mejores Se transforman los padres generando nuevos hijos Se seleccionan los mejores Sol. considerada suficientemente buena Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 6 2 Esquema general Ejemplo de ejecución de un algoritmo genético: 1ª generación Selección Selecciónde delos los mejores mejores 2ª generación Se AApartir partirde deellos ellos Sepasa pasaaalala siguiente segeneran generanlos los siguientegeneración generación se aalos nuevos nuevoshijos hijos losmejores mejores Volvemos Volvemos aaseleccionar seleccionar los losmejores mejores Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 7 2 Esquema general A la hora de desarrollar un AG debemos tener en cuenta: ¿Cómo se representa un individuo? ¿Cuál es la función de adaptación? ¿Como se escogen los individuos? ¿Como se reproducen los individuos? Individuos: Un individuo representa una solución La codificación más común de las soluciones es a través de cadenas binarias Gen 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 Cromosoma Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 8 2 Esquema general Función de adaptación: Se aplica sobre un individuo dando idea de la calidad del mismo Depende del problema en cuestión Entrada: individuo Salida: número real El AG tratará de maximizar o minimizar dicho valor real Estrategia de selección (de individuos) La estrategia de selección es aleatoria (en general) La probabilidad de selección es proporcional a su adaptación. Supongamos un individuo de adaptación X y otro de adaptación Y, si X=2*Y entonces el primer individuo tiene el doble de probabilidades de ser seleccionado Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 9 2.1. Operadores Reproducción de individuos: Permite la obtención de una nueva generación de individuos. Se lleva a cabo mediante dos operadores: Cruzamiento y Mutación Son operadores binarios. Los nuevos hijos de una generación necesitan 1 o 2 individuos padres Ambos tienen una probabilidad asociada de aplicación CRUCE Operador que a a partir de dos cromosomas realiza un intercambio de parte de su material genético. 0 1 0 1 0 1 1 0 0 1 C. padre 1 0 1 0 0 1 1 1 0 0 1 C. hijo 1 1 0 0 0 1 1 0 0 1 1 C. padre 2 1 0 0 1 0 1 0 0 1 1 C. hijo 2 Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 10 2 2.1. Esquema Operadores general MUTACIÓN Operador que introduce diversidad de los descendientes respecto a los progenitores. 0 1 0 1 0 1 1 0 0 1 C. padre 0 1 0 1 1 1 1 0 0 0 C. hijo Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 11 3 Aplicaciones a la Documentación La aplicación de los AG’s a la recuperación de información ha crecido notablemente en los últimos años. Áreas de aplicación: Indización de documentos Agrupamiento de documentos y términos Mejoras en la definición de consultas Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 12 3 Aplicaciones a la Documentación Indización de documentos: Problema: encontrar una descripción de términos apropiada para un documento. Pueden asociarse varias descripciones a un documento e ir adaptándolas a lo largo del tiempo. Cuando el usuario introduce una consulta, el sistema empareja ésta con todas las descripciones y decide en promedio. Se puede disponer de un AG, el cual: Cada cromosoma es una descripción representada por un vector binario. La población sería un conjunto de descripciones El AG se aplicaría para cada documento La función de adaptación dispone de un conjunto de consultas relevantes para el documento y de otro conjunto de consultas no relevantes Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 13 3 Aplicaciones a la Documentación Indización de documentos: El funcionamiento sería: El conjunto de descripciones van transformándose aplicando mutaciones y cruce. La función de adaptación obtiene la relevancia de la descripción frente a los conjuntos de documentos disponibles. De esta forma se pueden obtener las mejores descripciones. Agrupamiento de documentos y términos Empleo de un AG para formar grupos (clusters) Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 14 3 Aplicaciones a la Documentación Mejoras en la definición de consultas Para aprender las características de una consulta se suele emplear un conjunto de documentos relevantes proporcionados por el usuario. Un AG se puede emplear para: 1) Aprendizaje de términos: Los cromosomas serían vectores binarios de tamaño fijo, donde cada posición está asociada a un término existente. La función de adaptación mide la similitud entre un individuo y el conjunto de documentos suministrados 0 1 0 1 0 1 1 0 0 1 El término es o no es relevante Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 15 3 Aplicaciones a la Documentación Mejoras en la definición de consultas 2) Aprendizaje de pesos: Los cromosomas serían vectores de valores reales [0,1] de tamaño fijo, donde cada posición está asociada a un término existente. La función de adaptación (igual que antes) mide la similitud entre un individuo y el conjunto de documentos suministrados 0.8 0.2 0.5 1 0.1 0 0.9 Se indica el peso del término en la consulta Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV Tema 3: Áreas de la IA: Ejemplos de investigación actual pp. 16 3 Aplicaciones a la Documentación Mejoras en la definición de consultas 3) Aprendizaje de la consulta completa: Los cromosomas serían árboles representado también las conectivas lógicas entre términos El algoritmo trata de aprender las estructura de términos, pesos y conexiones entre los términos por medio de expresiones booleanas. and or Inteligencia Artificial/Departamento de Sistemas Informáticos y ComputaciónFacultad de Informática / UPV