Diseño con algoritmos genéticos
Upcoming SlideShare
Loading in...5
×
 

Diseño con algoritmos genéticos

on

  • 264 views

 

Statistics

Views

Total Views
264
Views on SlideShare
264
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Diseño con algoritmos genéticos Presentation Transcript

  • 1. Sistemas Inteligentes de Control: Esquema Módulo I. Control de Sistemas. Módulo II. Fundamentos de Lógica Difusa. Módulo III. Sistemas Basados en Reglas Difusas. Módulo IV. Aprendizaje y Adaptación en Sistemas Basados en Reglas Difusas. Tema 8. Diseño Automático de Sistemas Basados en Reglas Difusas para Control. Tema 9. Diseño Ad Hoc. Tema 10. Diseño con Algoritmos Genéticos. MÓDULO IV: Aprendizaje y adaptación en sistemas basados en reglas difusas Tema 10. Diseño con algoritmos genéticos
  • 2. Tema 10: Diseño con Algoritmos Genéticos 1. Conceptos básicos sobre algoritmos genéticos 1.1.Introducción 1.2.¿Cómo se construye? 1.3.Sobre su utilización 1.4.Diversidad, exploración, explotación 2. Diseño evolutivo de sistemas difusos 2.1.Diseño de la base de reglas 2.2.Diseño de la base de datos 2.3.Diseño combinado Evolución natural. Evolución artificial ¿Qué es un algoritmo genético? Los ingredientes El ciclo de la evolución Estructura de un algoritmo genético Dominios de aplicación 1.1. Introducción a los algoritmos genéticos 1.1. Introducción a los algoritmos genéticos
  • 3. Evolución natural En la naturaleza, los procesos evolutivos ocurren cuando se satisfacen las siguientes condiciones: Una entidad o individuo tiene la habilidad de reproducirse Hay una población de tales individuos que son capaces de reproducirse Existe alguna variedad, diferencia, entre los individuos que se reproducen Algunas diferencias en la habilidad para sobrevivir en el entorno están asociadas con esa variedad 1.1. Introducción a los algoritmos genéticos Evolución natural Los mecanismos que conducen esta evolución no son totalmente conocidos, pero sí algunas de sus características, que son ampliamente aceptadas: La evolución es un proceso que opera sobre los cromosomas más que sobre las estructuras de la vida que están codificadas en ellos 1.1. Introducción a los algoritmos genéticos
  • 4. Evolución natural La selección natural es el enlace entre los cromosomas y la actuación de sus estructuras decodificadas El proceso de reproducción es el punto en el cual la evolución toma parte, actúa La evolución biológica no tiene memoria Referencia: Darwin, C. (1859). On the Origin of Species by Means of Natural Selection or the Preservations of Favored Races in the Struggle for Life. London: John Murray. 1.1. Introducción a los algoritmos genéticos Evolución artificial COMPUTACION EVOLUTIVA Está compuesta por modelos de evolución basados en poblaciones cuyos elementos representan soluciones a problemas La simulación de este proceso en un ordenador resulta ser una técnica de optimización probabilística, que con frecuencia mejora a otros métodos clásicos en problemas difíciles 1.1. Introducción a los algoritmos genéticos
  • 5. Evolución artificial Existen cuatro paradigmas básicos: Algoritmos Genéticos que utilizan operadores genéticos sobre cromosomas Estrategias de Evolución que enfatizan los cambios de comportamiento al nivel de los individuos Programación Evolutiva que enfatizan los cambios de comportamiento al nivel de las especies Programación Genética que evoluciona expresiones representadas como árboles Existen otros modelos de evolución de poblaciones 1.1. Introducción a los algoritmos genéticos Los Algoritmos Genéticos son algoritmos de optimización, búsqueda y aprendizaje inspirados en los procesos de Evolución Natural y Evolución Genética ¿Qué es un algoritmo genético? 1.1. Introducción a los algoritmos genéticos
  • 6. Cruce (o recombinación) t t + 1 mutación reproducción selección Los ingredientes 1.1. Introducción a los algoritmos genéticos Cruce Mutación Selección Reemplazamiento PADRES POBLACIÓN DESCENDIENTES El ciclo de la evolución 1.1. Introducción a los algoritmos genéticos
  • 7. Algoritmo Genético Básico Inicio (1) t = 0 inicializar P(t) evaluar P(t) Mientras (no se cumpla la condición de parada) hacer Inicio(2) t = t + 1 seleccionar P’(t) desde P(t-1) P’’(t) ← cruce P’(t) P(t) ← mutación P’(t) evaluar P(t) Final(2) Final(1) Estructura de un algoritmo genético 1.1. Introducción a los algoritmos genéticos Generación de trayectorias Planificación de sistemas de Producción Optimización estructural 1 2 m 1nDiseño de circuitos VLSI Aprendizaje Clasificación Control de procesos químicos Dominios de aplicación 1.1. Introducción a los algoritmos genéticos
  • 8. • Optimización combinatoria y en dominios reales • Modelado e identificación de sistemas • Planificación y control • Ingeniería • Vida artificial • Aprendizaje y minería de datos • Internet y Sistemas de Recuperación de Información • ... Dominios de aplicación 1.1. Introducción a los algoritmos genéticos Los pasos para construir un Algoritmo Genético 1. Diseñar una representación 2. Decidir cómo inicializar la población 3. Diseñar una correspondencia entre genotipo y fenotipo 4. Diseñar una forma de evaluar un individuo 5. Diseñar un operador de mutación adecuado 6. Diseñar un operador de cruce adecuado 7. Decidir cómo seleccionar los individuos para ser padres 8. Decidir cómo reemplazar a los individuos 9. Decidir la condición de parada 1.2. ¿Cómo se construye? 1.2. ¿Cómo se construye?
  • 9. 1.2.1. Representación Debemos disponer de un mecanismo para codificar un individuo como un genotipo Existen muchas maneras de hacer esto y se escoge la más relevante para el problema en cuestión Una vez elegida una representación, tenemos que tener en cuenta cómo serán evaluados los genotipos y qué operadores genéticos hay que utilizar DEFINICIONES Cromosoma: vector completo que codifica la solución Gen: elemento mínimo del cromosoma Alelos: valores que puede tomar cada gen 1.2. ¿Cómo se construye? CROMOSOMACROMOSOMA GENGEN La representación de un individuo se puede hacer mediante una codificación discreta, y en particular binaria 1.2.1. Representación binaria ALELOS={0,1}ALELOS={0,1} 1.2. ¿Cómo se construye?
  • 10. Genotipo 8 bits Fenotipo • Entero • Número real • Secuencia • ... • Cualquier otra? 1.2.1. Representación binaria 1.2. ¿Cómo se construye? El fenotipo pueden ser números enteros Genotipo: 1*21*277 + 0*2+ 0*266 + 1*2+ 1*255 + 0*2+ 0*244 + 0*2+ 0*233 + 0*2+ 0*222 + 1*2+ 1*211 + 1*2+ 1*200 == 128 + 32 + 2 + 1 = 163128 + 32 + 2 + 1 = 163 = 163 Fenotipo: 1.2.1. Representación binaria 1.2. ¿Cómo se construye?
  • 11. El fenotipo pueden ser números reales Ejemplo: un número real entre 2.5 y 20.5 utilizando 8 dígitos binarios ( ) 9609.135.25.20 256 163 5.2 =−+=x = 13.9609 Genotipo: Fenotipo: 1.2.1. Representación binaria 1.2. ¿Cómo se construye? Una forma natural de codificar una solución es utilizando valores reales como genes Muchas aplicaciones tienen esta forma natural de codificación Los individuos se representan como vectores de valores reales: La función de evaluación asocia a un vector un valor real de evaluación: 1.2.1. Representación real Rx x x x X i n ∈ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ,2 1 M RR:f n → 1.2. ¿Cómo se construye?
  • 12. Los individuos se representan como permutaciones Se utilizan para problemas de secuenciación Ejemplo famoso: Viajante de Comercio, donde cada ciudad tiene asignado un único número entre 1 y n Necesita operadores especiales para garantizar que el resultado de aplicar un operador sigue siendo una permutación 1.2.1. Representación de orden 1.2. ¿Cómo se construye? 1.2.2. Inicialización Uniforme sobre el espacio de búsqueda … (si es posible) Cadena binaria: 0 ó 1 con probabilidad 0.5 Representación real: uniforme sobre un intervalo dado (para valores acotados) Elegir la población a partir de los resultados de una heurística previa 1.2. ¿Cómo se construye?
  • 13. Algunas veces la obtención del fenotipo a partir del genotipo es un proceso obvio En otras ocasiones el genotipo puede ser un conjunto de parámetros para algún algoritmo, el cual trabaja sobre los datos de un problema para obtener un fenotipo Datos de un Problema Fenotipo Algoritmo de obtención Genotipo (Codificación) 1.2.3. Correspondencia entre genotipo y fenotipo 1.2. ¿Cómo se construye? Este es el paso más costoso para una aplicación real Puede ser una subrutina, un simulador, o cualquier proceso externo (ej. Experimentos en un robot, ....) Se pueden utilizar funciones aproximadas para reducir el costo de evaluación Cuando hay restricciones, éstas se pueden introducir en el costo como penalización Con múltiples objetivos se busca una solución de compromiso 1.2.4. Evaluación de un individuo 1.2. ¿Cómo se construye?
  • 14. Podemos tener uno o más operadores de mutación para nuestra representación Algunos aspectos importantes a tener en cuenta son: Debe permitir alcanzar cualquier parte del espacio de búsqueda El tamaño de la mutación debe ser controlado Debe producir cromosomas válidos 1.2.5. Operador de mutación 1.2. ¿Cómo se construye? 1 1 1 1 1 1 1antes 1 1 1 0 1 1 1después La mutación ocurre con una probabilidad pm para cada gen, o para cada cromosoma gen mutado Ejemplo: Mutación para representación binaria 1.2. ¿Cómo se construye?
  • 15. Perturbación de los valores mediante un valor aleatorio Generalmente, mediante una distribución normal N(0,σ), donde 0 es la media σ es la desviación típica x’i = xi + N(0,σi) para cada parámetro Ejemplo: Mutación para representación real 1.2. ¿Cómo se construye? 7 83 41 2 6 5 7 83 46 2 1 5 Intercambio de dos genes seleccionados aleatoriamente Ejemplo: Mutación para representación de orden 1.2. ¿Cómo se construye?
  • 16. Podríamos tener uno o más operadores de cruce para nuestra representación Algunos aspectos importantes a tener en cuenta son: Los hijos deberían heredar algunas características de cada padre. Si éste no es el caso, entonces estamos ante un operador de mutación Se debe diseñar de acuerdo a la representación La recombinación debe producir cromosomas válidos 1.2.6. Operador de cruce 1.2. ¿Cómo se construye? Población: . . . Cada cromosoma se corta en n partes que son recombinadas (Ejemplo para n = 1) 1 1 1 1 1 1 1 0 0 0 0 0 0 0 padres corte corte 1 1 1 0 0 0 0 0 0 0 1 1 1 1 descendientes Ejemplo: Cruce para representación binaria 1.2. ¿Cómo se construye?
  • 17. Cruce uniforme (recombinación discreta): a db fc e g h FD GE HCBA a b C Ed Hgf Ejemplo: Cruce para representación real 1.2. ¿Cómo se construye? Cruce aritmético (recombinación aritmética): a db fc e FD ECBA (a+A)/2 (b+B)/2 (c+C)/2 (e+E)/2(d+D)/2 (f+F)/2 ↓ Ejemplo: Cruce para representación real 1.2. ¿Cómo se construye?
  • 18. 7 83 41 2 6 5 78 16 5234 81 2 7, 3, 4, 6, 5 4, 3, 6, 7, 5 ordenar 7 85 41 2 3 6 Padre 1 Padre 2 Hijo 1 Ejemplo: Cruce para representación de orden 1.2. ¿Cómo se construye? Debemos garantizar que los mejores individuos tengan una mayor posibilidad de ser padres (reproducirse) frente a los individuos menos buenos Esta idea nos define la presión selectiva que conducirá la reproducción No obstante, debemos ser cuidadosos para dar una posibilidad de reproducirse a los individuos menos buenos. Éstos pueden incluir material genético útil en el proceso de reproducción 1.2.7. Estrategia de selección 1.2. ¿Cómo se construye?
  • 19. El número de veces que un individuo debe reproducirse es ∑ = j j i i f f ps Mejor Peor Los mejores individuos tienen: Más espacio en la ruleta Más probabilidad de ser seleccionados Ejemplo: Selección proporcional 1.2. ¿Cómo se construye? La presión selectiva se ve también afectada por la forma en que los cromosomas de la población son reemplazados por los nuevos descendientes Podemos utilizar métodos de reemplazamiento aleatorios, o determinísticos Podemos decidir no reemplazar al mejor cromosoma de la población: Elitismo 1.2.8. Estrategia de reemplazamiento 1.2. ¿Cómo se construye?
  • 20. Cuando se alcanza el óptimo Recursos limitados de CPU: fijar el máximo número de evaluaciones Límite sobre la paciencia del usuario: Después de algunas iteraciones sin mejora 1.2.9. Criterio de parada 1.2. ¿Cómo se construye? 1.3. Utilización Nunca sacar conclusiones de una única ejecución utilizar medidas estadísticas (medias, medianas, ...) con un número suficiente de ejecuciones independientes “Se puede obtener lo que se desea en una experimentación de acuerdo a la dificultad de los casos utilizados” – No se debe ajustar/chequear la actuación de un algoritmo sobre ejemplos simples si se desea trabajar con casos reales Desde el punto de vista de las aplicaciones: doble enfoque y diferente diseño Encontrar una solución muy buena al menos una vez Encontrar al menos una solución muy buena en cada ejecución 1.3. Utilización
  • 21. 1.4. Diversidad, exploración, explotación Diversidad genética Asociada a las diferencias entre los cromosomas en la población Falta de diversidad genética = todos los individuos en la población son parecidos Falta de diversidad convergencia al vecino más cercano En la práctica es irreversible. Solución: Inclusión de mecanismos de diversidad Reinicialización 1.4. Diversidad, exploración, explotación Exploración vs Explotación Exploración = muestrear regiones desconocidas Excesiva exploración = búsqueda aleatoria, no converge Explotación = trata de mejorar el mejor individuo Excesiva explotación = solo búsqueda local, convergencia a un óptimo local 1.4. Diversidad, exploración, explotación 1.4. Diversidad, exploración, explotación
  • 22. Resumen de los algoritmos genéticos Basados en una metáfora biológica: evolución Gran potencialidad de aplicación Muy populares en muchos campos Muy potentes en diversas aplicaciones Altas prestaciones a bajo costo 2. Diseño evolutivo de sistemas difusos Algoritmos Evolutivos Funciones de escalado Reglas Difusas Funciones de pertenencia Base de Conocimiento Entrada escalada Fuzificación Motor de inferencia Defuzificación Salida escalada Procesamiento Difuso DiseñoEvolutivo 2. Diseño evolutivo de sistemas difusos
  • 23. 2. Diseño evolutivo de sistemas difusos Objetivo del proceso de aprendizaje de un SBRD Encontrar una Base de Conocimiento tal que el SBRD que la incluya resuelva un problema dado. ¿Qué partes del SBRD se van a optimizar? Procesos de aprendizaje: Diseño de algunos componentes de la Base de Conocimiento o de la Base de Conocimiento al completo. Procesos de ajuste: Optimización de un SBRD existente. 2. Diseño evolutivo de sistemas difusos R1: Si X1 es Alto y X2 es Bajo -> Y es Medio R2: Si X1 es Bajo y X2 es Medio -> Y es Alto ... 2. Diseño evolutivo de sistemas difusos Interfaz de Fuzificación Interfaz de Defuzificación Base de Reglas Base de Datos Base de Conocimiento Mecanismo de Inferencia Bajo Medio X1 Bajo Medio Alto X2 Bajo Medio Alto Y Alto Predefinida Factores de escala Predefinidos 2. Diseño evolutivo de sistemas difusos
  • 24. Predefinida R1: Si X1 es Alto y X2 es Bajo -> Y es Medio R2: Si X1 es Bajo y X2 es Medio -> Y es Alto ... 2. Diseño evolutivo de sistemas difusos Interfaz de Fuzificación Interfaz de Defuzificación Base de Reglas Base de Datos Base de Conocimiento Mecanismo de Inferencia Bajo Medio X1 Bajo Medio Alto X2 Bajo Medio Alto Y Factores de escala Alto Predefinida 2. Diseño evolutivo de sistemas difusos Predefinida R1: Si X1 es Alto y X2 es Bajo -> Y es Medio R2: Si X1 es Bajo y X2 es Medio -> Y es Alto ... 2. Diseño evolutivo de sistemas difusos Interfaz de Fuzificación Interfaz de Defuzificación Base de Reglas Base de Datos Base de Conocimiento Mecanismo de Inferencia Bajo Medio X1 Bajo Medio Alto X2 Bajo Medio Alto Y Factores de escala Alto Predefinidos 2. Diseño evolutivo de sistemas difusos
  • 25. R1: Si X1 es Alto y X2 es Bajo -> Y es Medio R2: Si X1 es Bajo y X2 es Medio -> Y es Alto ... 2. Diseño evolutivo de sistemas difusos Interfaz de Fuzificación Interfaz de Defuzificación Base de Reglas Base de Datos Base de Conocimiento Mecanismo de Inferencia Bajo Medio X1 Bajo Medio Alto X2 Bajo Medio Alto Y Alto Factores de escala 2. Diseño evolutivo de sistemas difusos 2. Diseño evolutivo de sistemas difusos Según las componentes que se optimicen: Espacio de búsqueda más pequeño Proceso de aprendizaje más sencillo y rápido Las soluciones pueden ser suboptimales Espacio de búsqueda más completo Proceso de aprendizaje más complejo e ineficiente Mayor granularidad en el aprendizaje, mejor consideración de la interdependencia, mayor probabilidad de encontrar soluciones óptimas 2. Diseño evolutivo de sistemas difusos
  • 26. 2. Diseño evolutivo de sistemas difusos Equilibrio entre completitud y granularidad Tipos de SBRDs Genéticos: Sistemas con ajuste genético de la Base de Datos Sistemas con aprendizaje genético de la Base de Reglas Sistemas con aprendizaje genético de la Base de Conocimiento Sistemas con aprendizaje genético del Mecanismo de Inferencia (poco usuales) 2. Diseño evolutivo de sistemas difusos 2.1. Diseño de la base de reglas PROCESO DE APRENDIZAJE Módulo de evaluación (BR) Base de Reglas (BR) Base de Datos predefinida Aprendizaje genético de la base de reglas 2.1. Diseño de la base de reglas
  • 27. 2.1. Diseño de la base de reglas El aprendizaje genético de la base de reglas asume la existencia de un conjunto predefinido de funciones de pertenencia Objetivo de la búsqueda: Un conjunto adecuado de reglas difusas Esquema de representación: Alternativas: Un cromosoma representa una base de reglas al completo (Enfoque Pittsburgh) ⇒ Apto para diseño off-line Un cromosoma representa una regla y la población al completo, la base de reglas (Enfoque Michigan) ⇒ Apto para diseño on-line Operadores: Adaptados al esquema de representación 2.1. Diseño de la base de reglas 2.1. Diseño de la base de reglas Ejemplo: Problema de control con dos variables de entrada y una de salida. Existe una base de datos definida a través de conocimiento experto, que determina las funciones de pertenencia para las siguientes etiquetas: Error {N, C, P} ∇ Error {N, C, P} Potencia {B, M, A} 2 6 9 2 6 9 1 6 8 1 ... (2) (6) (9) 1 2 3 4 5 6 7 8 9 R1: Si el Error es Cero y la Variación_Error es Positiva entonces la Potencia es Alta R2R1 2.1. Diseño de la base de reglas
  • 28. 2.1. Diseño de la base de reglas Si en el antecedente de las reglas es necesario que aparezcan todas las variables de entrada (variable, etiqueta) (variable, etiqueta) ... Si Error es Cero entonces Potencia es Alta Si en un cromosoma representamos toda una Base de Reglas, generalmente se utilizará un esquema de codificación de longitud variable 1 2 3 9 2.1. Diseño de la base de reglas 2.2. Diseño de la base de datos PROCESO DE APRENDIZAJE Módulo de evaluación (BD) Base de Datos (BD) Base de Reglas predefinida Ajuste de la base de datos 1. Ajuste de las funciones de escala 2. Ajuste de las funciones de pertenencia 2.2. Diseño de la base de datos
  • 29. 2.2. Diseño de la base de datos 1. Ajuste de las funciones de escala Trasladan el universo de discurso en los que se definen las variables de entrada y salida al dominio en el que se definen los conjuntos difusos. Se adaptan para que el universo de discurso escalado se corresponda mejor con el rango de la variable. Parámetros: Factor de escala Cota superior e inferior (función de escala lineal) Parámetros de contracción/expansión (función de escala no lineal) Forma de codificación: esquema real de longitud fija 2.2. Diseño de la base de datos 2.2. Diseño de la base de datos 2. Ajuste de las funciones de pertenencia Componente a optimizar: Funciones de pertenencia de los términos lingüísticos utilizados en las reglas difusas Cada individuo = Base de datos al completo Forma de codificación. Depende de Tipo de función de pertenencia utilizada Tipo de SBRD: descriptivo, todas las funciones se adaptan de forma global a la base de reglas, o aproximativo, cada variable se asocia a un conjunto difuso distinto en cada regla 2.2. Diseño de la base de datos
  • 30. 2.2. Diseño de la base de datos Ejemplo: Ajuste de las funciones de pertenencia de un SBRD descriptivo con una variable de entrada y una de salida, con tres términos lingüísticos para cada variable y funciones de pertenencia triangulares 1 cromosoma representará 2 (variables) · 3 (etiquetas) = 6 funciones de pertenencia Cada función de pertenencia triangular son 3 valores reales Por tanto, hay que optimizar 6 · 3 = 18 valores reales Codificación: binaria o real (recomendable) Función de adaptación: Error cuadrático medio (ECM) Operadores de Cruce y Mutación: Adecuados para la codificación (binaria o real) y las restricciones del problema (forma correcta de las funciones de pertenencia, grado mínimo de emparejamiento, etc.) 2.2. Diseño de la base de datos 2.2. Diseño de la base de datos -0.5 0.5 0.5 0.50 0 1 1 1.5 -0.5 0.5 0.5 0.50 0 1 1 1.5 -0.5 0.5 0.5 0.50 0.25 0.75 1 1.5 -0.35 0.35 0.5 0.50 0.3 0.7 1 1.5 Bajo Bajo Bajo Bajo Medio Medio Medio Medio Alto Alto Alto Alto X X Y Y R1: Si X1 es Bajo entonces Y es Alto R2: Si X1 es Medio entonces Y es Medio . . . La base de reglas difusas permanece intacta!! 2.2. Diseño de la base de datos
  • 31. Operador de cruce ¿Válido para la representación utilizada? 2.2. Diseño de la base de datos 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0.35 0.4 0.6 ... -0.3 –0.1 0 0.2 ... 0 0.35 0 0.2 ... -0.3 –0.1 0.4 0.6 ... ¡Error! 2.2. Diseño de la base de datos Operador de cruce Alternativas: Algoritmo de reparación a posteriori Obligar a que el punto de cruce se determine aleatoriamente entre puntos extremos de las funciones de pertenencia (intercambio de una etiqueta), o entre los extremos de la información relativa a una variable (intercambio de la partición de una variable) Usar otro cruce que respete las restricciones 2.2. Diseño de la base de datos 2.2. Diseño de la base de datos
  • 32. Operador de Mutación ¿Válido para la representación utilizada? 2.2. Diseño de la base de datos 0.2 0.35 0.4 ... 0.2 0 0.4 ... ¡Error! 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 2.2. Diseño de la base de datos Operador de Mutación Alternativas: Mutación aleatoria dentro del rango de variación siendo X un número aleatorio perteneciente a (0.2, 0.4) Construir de nuevo el conjunto difuso completo (los tres parámetros) 2.2. Diseño de la base de datos 0.2 0.35 0.4 ... 0.2 X 0.4 ... 2.2. Diseño de la base de datos
  • 33. 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) El proceso de aprendizaje de la Base de Conocimiento debe determinar: Funciones de pertenencia Reglas difusas y algunas veces también Factores (o funciones) de escala Términos lingüísticos Espacio de búsqueda grande y complejo Cromosomas con longitud variable Una regla por cromosoma 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) Algunos enfoques intentan mejorar la definición de la base de datos, una vez aprendida la base de reglas Etapas: 1. Aprendizaje inicial de la base de reglas (base de datos predefinida) 2. Aprendizaje de la base de datos (base de reglas aprendida en el paso anterior) 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR)
  • 34. 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) Aprendizaje inicial de la base de reglas y aprendizaje posterior de la base de datos PROCESO DE APRENDIZAJE 1 Base de Reglas (BR) Módulo de evaluación (BR) Base de Datos predefinida PROCESO DE APRENDIZAJE 2 Base de Reglas definitiva Base de Datos Módulo de evaluación (BR) 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) PROCESO DE APRENDIZAJE Módulo de evaluación (BC) Base de Datos Base de Reglas Base de Conocimiento Aprendizaje de la base de conocimiento 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR)
  • 35. 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) Elementos a codificar en un cromosoma: Factores de escala Funciones de pertenencia Reglas difusas Cada tipo de elemento será una parte independiente del cromosoma Formas de combinar estas partes con los operadores genéticos: Mezclando subestructuras Como dos estructuras no relacionadas Aplicando un proceso secuencial cuando el resultado de cruzar una subestructura afecte al cruce de la segunda subestructura Codificación con longitud fija o variable 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) R1: Si el Error es Negativo entonces Potencia es Alta R2: ... 0 0 0.5 0.3 0.5 0.8 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) Ejemplo: Problema con dos variables y tres etiquetas por variable Error: {N, C, P} Potencia: {B, M, A} Error Potencia Reglas 0.8 1 1.3 0 0 0.3 0.2 0.5 0.8 0.7 1 1 1 5 9 ... 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR)
  • 36. 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) Descomposición del proceso de aprendizaje en dos etapas dependientes: 1. Aprendizaje de la base de datos 2. Generación de la base de reglas Ventajas: Reducción del espacio de búsqueda Incremento de la posibilidad de encontrar soluciones óptimas 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR) PROCESO DE APRENDIZAJE 1 Base de Datos Base de Reglas Módulo de evaluación (Base de Datos y Base de Reglas) PROCESO DE APRENDIZAJE 2 Aprendizaje de la base de conocimiento mediante la derivación genética de la Base de Datos 2.3. Diseño combinado: SBRDs con aprendizaje genético de la base de conocimiento (BD + BR)
  • 37. Bibliografía recomendada sobre sistemas difusos genéticos Básica: O. Cordón, F. Herrera, F. Hoffmann y L. Magdalena. Genetic Fuzzy Systems. Evolutionary Tuning and Learning of Fuzzy Knowledge Bases. World Scientific, 2001. Complementaria: L. Reznik. Fuzzy Controllers. Newnes, 1997. Bibliografía recomendada sobre algoritmos genéticos Básica: Z. Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, 1996. T. Bäck, D.B. Fogel y Z. Michalewicz. Handbook of Evolutionary Computation. Oxford University Press, 1997. Complementaria: D.B. Fogel. Evolutionary Computation: Towards a New Philosophy of Machine Intelligence. John Wiley & Sons, 1999. D.E. Goldberg. The Design of Innovation: Lessons from and for Competent Genetic Algorithms. Kluwer Academic Pub., 2002.