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
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
10 DiseñO Con Algoritmos GenéTicos
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
1.1. Introducción a los algoritmos
genéticos
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
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
¿Qué es un algoritmo genético?
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
1.1. Introducción a los algoritmos genéticos
6. Los ingredientes
t reproducción t+1
selección
mutación
Cruce
(o recombinación)
1.1. Introducción a los algoritmos genéticos
El ciclo de la evolución
Selección
PADRES
Cruce
POBLACIÓN
Mutación
Reemplazamiento
DESCENDIENTES
1.1. Introducción a los algoritmos genéticos
7. Estructura de un algoritmo genético
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)
1.1. Introducción a los algoritmos genéticos
Dominios de aplicación
Control de
procesos químicos
Clasificación
Aprendizaje Generación de
Optimización trayectorias
estructural
Planificación de
sistemas de Producción
Diseño de circuitos n 1
1 2 m
VLSI
1.1. Introducción a los algoritmos genéticos
8. Dominios de aplicación
• 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
• ...
1.1. Introducción a los algoritmos genéticos
1.2. ¿Cómo se construye?
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?
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?
1.2.1. Representación binaria
La representación de un individuo se puede hacer mediante una
codificación discreta, y en particular binaria
CROMOSOMA
GEN ALELOS={0,1}
1.2. ¿Cómo se construye?
10. 1.2.1. Representación binaria
Genotipo Fenotipo
• Entero
8 bits
• Número real
• Secuencia
• ...
• Cualquier otra?
1.2. ¿Cómo se construye?
1.2.1. Representación binaria
El fenotipo pueden ser números enteros
Genotipo: Fenotipo:
= 163
1*27 + 0*26 + 1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 1*20
= 128 + 32 + 2 + 1 = 163
1.2. ¿Cómo se construye?
11. 1.2.1. Representación binaria
El fenotipo pueden ser números reales
Ejemplo: un número real entre 2.5 y 20.5 utilizando
8 dígitos binarios
Genotipo: Fenotipo:
= 13.9609
x = 2 .5 +
163
(20 .5 − 2.5 ) = 13 .9609
256
1.2. ¿Cómo se construye?
1.2.1. Representación real
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:
⎡ x1 ⎤
⎢x ⎥
X = ⎢ 2 ⎥ , xi ∈ R
⎢M⎥
⎢ ⎥
⎣ xn ⎦
La función de evaluación asocia a un vector un valor real de evaluación:
f : R n
→ R
1.2. ¿Cómo se construye?
12. 1.2.1. Representación de orden
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. ¿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. 1.2.3. Correspondencia entre genotipo y
fenotipo
Algunas veces la obtención Genotipo Datos de un
del fenotipo a partir del (Codificación) Problema
genotipo es un proceso
obvio
En otras ocasiones el Algoritmo
genotipo puede ser un de obtención
conjunto de parámetros
para algún algoritmo, el
cual trabaja sobre los
datos de un problema para Fenotipo
obtener un fenotipo
1.2. ¿Cómo se construye?
1.2.4. Evaluación de un individuo
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. ¿Cómo se construye?
14. 1.2.5. Operador de mutación
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. ¿Cómo se construye?
Ejemplo: Mutación para representación binaria
antes 1 1 1 1 1 1 1
después 1 1 1 0 1 1 1
gen mutado
La mutación ocurre con una probabilidad pm para cada
gen, o para cada cromosoma
1.2. ¿Cómo se construye?
15. Ejemplo: Mutación para representación real
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
1.2. ¿Cómo se construye?
Ejemplo: Mutación para representación de
orden
Intercambio de dos genes seleccionados
aleatoriamente
7 3 1 8 2 4 6 5
7 3 6 8 2 4 1 5
1.2. ¿Cómo se construye?
16. 1.2.6. Operador de cruce
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. ¿Cómo se construye?
Ejemplo: Cruce para representación binaria
Población: ...
Cada cromosoma se corta en n partes que son recombinadas
(Ejemplo para n = 1)
padres
corte corte
1 1 1 1 1 1 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 1 1 1 1
descendientes
1.2. ¿Cómo se construye?
17. Ejemplo: Cruce para representación real
Cruce uniforme (recombinación discreta):
a b c d e f g h
a b C d E f g H
A B CDE F GH
1.2. ¿Cómo se construye?
Ejemplo: Cruce para representación real
Cruce aritmético (recombinación aritmética):
a b c d e f
A B CDE F
↓
(a+A)/2 (b+B)/2 (c+C)/2 (d+D)/2 (e+E)/2 (f+F)/2
1.2. ¿Cómo se construye?
18. Ejemplo: Cruce para representación de orden
Padre 1 Padre 2
7 3 1 8 2 4 6 5 4 3 2 8 6 7 1 5
7, 3, 4, 6, 5
ordenar
1 8 2 4, 3, 6, 7, 5
Hijo 1
7 5 1 8 2 4 3 6
1.2. ¿Cómo se construye?
1.2.7. Estrategia de selección
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. ¿Cómo se construye?
19. Ejemplo: Selección proporcional
El número de veces que un individuo debe reproducirse es
fi
ps i =
∑f j
j
Los mejores individuos
tienen:
Más espacio en la ruleta
Mejor
Más probabilidad de ser
seleccionados
Peor
1.2. ¿Cómo se construye?
1.2.8. Estrategia de reemplazamiento
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. ¿Cómo se construye?
20. 1.2.9. Criterio de parada
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. ¿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
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
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
Diseño Evolutivo
Base de Conocimiento
Funciones
de escalado
Reglas Funciones de
Difusas pertenencia
Entrada Motor de Salida
Fuzificación Defuzificación
escalada inferencia escalada
Procesamiento Difuso
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
2. Diseño evolutivo de sistemas difusos
Predefinidos
Factores de escala
R1: Si X1 es Alto y X2 es Bajo -> Y es Medio
Medio
R2: Si X1 es Bajo y X2 es Medio -> Y es Alto Bajo Alto
Predefinida
... X1
Bajo Medio Alto
Base de Conocimiento
X2
Base de Base de Bajo Medio Alto
Reglas Datos
Y
Interfaz de Interfaz de
Mecanismo de Inferencia
Fuzificación Defuzificación
2. Diseño evolutivo de sistemas difusos
24. 2. Diseño evolutivo de sistemas difusos
Factores de escala
Predefinida
R1: Si X1 es Alto y X2 es Bajo -> Y es Medio
Medio
R2: Si X1 es Bajo y X2 es Medio -> Y es Alto Bajo Alto
Predefinida
... X1
Bajo Medio Alto
Base de Conocimiento
X2
Base de Base de Bajo Medio Alto
Reglas Datos
Y
Interfaz de Interfaz de
Mecanismo de Inferencia
Fuzificación Defuzificación
2. Diseño evolutivo de sistemas difusos
2. Diseño evolutivo de sistemas difusos
Predefinidos
Predefinida Factores de escala
R1: Si X1 es Alto y X2 es Bajo -> Y es Medio
Medio
R2: Si X1 es Bajo y X2 es Medio -> Y es Alto Bajo Alto
... X1
Bajo Medio Alto
Base de Conocimiento
X2
Base de Base de Bajo Medio Alto
Reglas Datos
Y
Interfaz de Interfaz de
Mecanismo de Inferencia
Fuzificación Defuzificación
2. Diseño evolutivo de sistemas difusos
25. 2. Diseño evolutivo de sistemas difusos
Factores de escala
R1: Si X1 es Alto y X2 es Bajo -> Y es Medio
Medio
R2: Si X1 es Bajo y X2 es Medio -> Y es Alto Bajo Alto
... X1
Bajo Medio Alto
Base de Conocimiento
X2
Base de Base de Bajo Medio Alto
Reglas Datos
Y
Interfaz de Interfaz de
Mecanismo de Inferencia
Fuzificación Defuzificación
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 Datos Base de
predefinida Reglas (BR)
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:
1 2 3 4 5 6 7 8 9
Error {N, C, P} ∇ Error {N, C, P} Potencia {B, M, A}
(2) (6)
2 6 9 R1: Si el Error es Cero y la Variación_Error es Positiva
entonces la Potencia es Alta
(9)
2 6 9 1 6 8 1 ... R1 R2
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) ...
1 2 3 9 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
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 Reglas Base de
predefinida Datos (BD)
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 0.5 0 0.5 1 0.5 1 1.5 -0.5 0 0.5 0 0.5 1 0.5 1 1.5
Bajo Medio Alto Bajo Medio Alto
X Y
-0.5 0 0.5 0.25 0.5 0.75 0.5 1 1.5 -0.35 0 0.35 0.3 0.5 0.7 0.5 1 1.5
Bajo Medio Alto Bajo Medio Alto
X Y
La base de reglas difusas R1: Si X1 es Bajo entonces Y es Alto
permanece intacta!! R2: Si X1 es Medio entonces Y es Medio
...
2.2. Diseño de la base de datos
31. 2.2. Diseño de la base de datos
Operador de cruce
1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0
0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0
¿Válido para la representación utilizada?
0 0.35 0.4 0.6 ... 0 0.35 0 0.2 ...
-0.3 –0.1 0 0.2 ... -0.3 –0.1 0.4 0.6 ...
¡Error!
2.2. Diseño de la base de datos
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
32. 2.2. Diseño de la base de datos
Operador de Mutación
1 0 1 1 1 0 0 1 1 0
1 0 1 1 1 1 0 1 1 0
¿Válido para la representación utilizada?
0.2 0.35 0.4 ...
0.2 0 0.4 ...
¡Error!
2.2. Diseño de la base de datos
2.2. Diseño de la base de datos
Operador de Mutación
Alternativas:
Mutación aleatoria dentro del rango de variación
0.2 0.35 0.4 ... 0.2 X 0.4 ...
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
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)
PROCESO DE PROCESO DE
APRENDIZAJE 1 APRENDIZAJE 2
Módulo de Módulo de
evaluación evaluación
(BR) (BR)
Base de Base de
Base de Reglas Base de
Datos
Reglas (BR) definitiva Datos
predefinida
Aprendizaje inicial de la base de reglas y
aprendizaje posterior de la base de datos
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 Conocimiento
Base de Base de
Datos Reglas
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:
Codificación con
Factores de escala longitud fija o variable
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
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)
Ejemplo: Problema con dos variables y tres etiquetas por
variable
Error: {N, C, P} Potencia: {B, M, A}
Error Potencia Reglas
0 0 0.5 0.3 0.5 0.8 0.8 1 1.3 0 0 0.3 0.2 0.5 0.8 0.7 1 1 1 5 9 ...
R1: Si el Error es Negativo entonces Potencia es Alta
R2: ...
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 PROCESO DE
APRENDIZAJE 1 APRENDIZAJE 2
Módulo de
evaluación
(Base de Datos y
Base de Base de Reglas)
Base de
Datos Reglas
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.