SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
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
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
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
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
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
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
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
• 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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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)
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)
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.

Weitere ähnliche Inhalte

Andere mochten auch

Curso de Nivelación de Algoritmos - Clase 5
Curso de Nivelación de Algoritmos - Clase 5Curso de Nivelación de Algoritmos - Clase 5
Curso de Nivelación de Algoritmos - Clase 5Ernesto Mislej
 
Curso de Nivelación de Algoritmos - Clase 4
Curso de Nivelación de Algoritmos - Clase 4Curso de Nivelación de Algoritmos - Clase 4
Curso de Nivelación de Algoritmos - Clase 4Ernesto Mislej
 
Prevencion de criaderos de Aedes aegypti
Prevencion de criaderos de Aedes aegyptiPrevencion de criaderos de Aedes aegypti
Prevencion de criaderos de Aedes aegyptiMichael Castillo
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-cClariza
 
Algoritmos Genéticos na Prática
Algoritmos Genéticos na PráticaAlgoritmos Genéticos na Prática
Algoritmos Genéticos na PráticaNorton Guimarães
 
Resolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosResolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosMauro Parra-Miranda
 
Como generar una tabla de contenido en word 2010
Como generar una tabla de contenido en word 2010Como generar una tabla de contenido en word 2010
Como generar una tabla de contenido en word 2010Kariiee Casas Enriquez
 
Diseño de tabla de contenido con hipervínculo en word
Diseño de tabla de contenido con hipervínculo en wordDiseño de tabla de contenido con hipervínculo en word
Diseño de tabla de contenido con hipervínculo en wordmiguel vega
 
Presentacion Algortimos Geneticos
Presentacion Algortimos GeneticosPresentacion Algortimos Geneticos
Presentacion Algortimos Geneticospechever
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos GenéticosESCOM
 
Microflora normal del cuerpo humano
Microflora normal del cuerpo humanoMicroflora normal del cuerpo humano
Microflora normal del cuerpo humanorhode22
 
Clase 7 flora microbiana normal
Clase 7 flora microbiana normalClase 7 flora microbiana normal
Clase 7 flora microbiana normalCasiMedi.com
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmosjhonshebax
 
Como generar tablas de contenido en word
Como generar tablas de contenido en wordComo generar tablas de contenido en word
Como generar tablas de contenido en wordALee Bouvier
 

Andere mochten auch (20)

Curso de Nivelación de Algoritmos - Clase 5
Curso de Nivelación de Algoritmos - Clase 5Curso de Nivelación de Algoritmos - Clase 5
Curso de Nivelación de Algoritmos - Clase 5
 
Curso de Nivelación de Algoritmos - Clase 4
Curso de Nivelación de Algoritmos - Clase 4Curso de Nivelación de Algoritmos - Clase 4
Curso de Nivelación de Algoritmos - Clase 4
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Prevencion de criaderos de Aedes aegypti
Prevencion de criaderos de Aedes aegyptiPrevencion de criaderos de Aedes aegypti
Prevencion de criaderos de Aedes aegypti
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 
Algoritmos Genéticos na Prática
Algoritmos Genéticos na PráticaAlgoritmos Genéticos na Prática
Algoritmos Genéticos na Prática
 
Algoritmo Genetico
Algoritmo GeneticoAlgoritmo Genetico
Algoritmo Genetico
 
Algoritmo genético presentacion
Algoritmo genético presentacionAlgoritmo genético presentacion
Algoritmo genético presentacion
 
Resolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosResolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticos
 
Como generar una tabla de contenido en word 2010
Como generar una tabla de contenido en word 2010Como generar una tabla de contenido en word 2010
Como generar una tabla de contenido en word 2010
 
Diseño de tabla de contenido con hipervínculo en word
Diseño de tabla de contenido con hipervínculo en wordDiseño de tabla de contenido con hipervínculo en word
Diseño de tabla de contenido con hipervínculo en word
 
Genotecas slide
Genotecas slideGenotecas slide
Genotecas slide
 
Presentacion Algortimos Geneticos
Presentacion Algortimos GeneticosPresentacion Algortimos Geneticos
Presentacion Algortimos Geneticos
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
ComunicacióN Celular
ComunicacióN CelularComunicacióN Celular
ComunicacióN Celular
 
Microflora normal del cuerpo humano
Microflora normal del cuerpo humanoMicroflora normal del cuerpo humano
Microflora normal del cuerpo humano
 
Clase 7 flora microbiana normal
Clase 7 flora microbiana normalClase 7 flora microbiana normal
Clase 7 flora microbiana normal
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Comunicacion celular
Comunicacion celularComunicacion celular
Comunicacion celular
 
Como generar tablas de contenido en word
Como generar tablas de contenido en wordComo generar tablas de contenido en word
Como generar tablas de contenido en word
 

Ähnlich wie Algoritmos genéticos para diseño de sistemas difusos

10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicosESCOM
 
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosTema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosESCOM
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos EvolutivosJorge Fierro
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos EvolutivosJorge Fierro
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion geneticaj3nnn1
 
Introducción a la inteligencia artificial
Introducción a la inteligencia artificialIntroducción a la inteligencia artificial
Introducción a la inteligencia artificialPaula Cordero Moreno
 
Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicosESCOM
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticosKevin Medina
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundialjhymermartinez
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalRenzo Marrufo Cabanillas
 
Algoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfAlgoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfCastañeda Samanamu
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticosprofesorgavit0
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programaciónJeckson Loza
 
Memética en la mente de SmartLab
Memética en la mente de SmartLabMemética en la mente de SmartLab
Memética en la mente de SmartLabJoseba Abaitua
 

Ähnlich wie Algoritmos genéticos para diseño de sistemas difusos (20)

10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos
 
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosTema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
 
Jgap algritmos geneticosss
Jgap  algritmos geneticosssJgap  algritmos geneticosss
Jgap algritmos geneticosss
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos Evolutivos
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos Evolutivos
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion genetica
 
Introducción a la inteligencia artificial
Introducción a la inteligencia artificialIntroducción a la inteligencia artificial
Introducción a la inteligencia artificial
 
Algoritmos GenéTicos
Algoritmos GenéTicosAlgoritmos GenéTicos
Algoritmos GenéTicos
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundial
 
ALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptxALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptx
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronal
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Logica algoritmos
Logica algoritmosLogica algoritmos
Logica algoritmos
 
Presentacion
PresentacionPresentacion
Presentacion
 
Algoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfAlgoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdf
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticos
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programación
 
Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
Memética en la mente de SmartLab
Memética en la mente de SmartLabMemética en la mente de SmartLab
Memética en la mente de SmartLab
 

Algoritmos genéticos para diseño de sistemas difusos

  • 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.