SISTEMA DE INFERENCIA DIFUSA DE MAMDANI
MARIBEL JOHANA RODRIGUEZ CASTILLO
CODIGO : 514020
SISTEMAS BASADOS EN EL CONOCIMIENTO II
PROFESOR: PERVYS RENGIFO RENGIFO
FUNDACION UNIVERSITARIA KONRAD LORENZ
Cra 9ª bis No. 62-43 Bogotá- Colombia, http://www.fukl.edu
2005
OBJETIVOS
1. Conocer la estructura básica y funcionamiento de un Sistema Basado en Reglas Difusas.
2. Clasificar los sistemas basados en reglas difusas en base a su estructura y a la estructura de regla difusa utilizada.
3. Conocer ventajas e inconvenientes del Sistema de Inferencia Difusa Mamdani4. Conocer distintas opciones de diseño para la interfaz de fuzzificación.5. Plantear un problema para luego implementarlo con el modelo de Mamdani.
¿QUÉ ES LA LÓGICA DIFUSA?
La lógica difusa es una metodología que proporciona una manera simple y elegante de obtener una conclusión a partir de información de entrada vaga, ambigua, imprecisa, con ruido o
incompleta. En general la lógica difusa imita como una persona toma decisiones basada en información con las características mencionadas. Una de las ventajas de la lógica difusa es la posibilidad de implementar sistemas basados en ella tanto en hardware como en software o en combinación de ambos.
La lógica difusa es una técnica de la inteligencia computacional que permite trabajar con información con alto grado de imprecisión, en esto se diferencia de la lógica convencional que trabaja con información bien definida y precisa. Es una lógica multivaluada que permite valores intermedios para poder definir evaluaciones entre si/no, verdadero/falso, negro/blanco, caliente/frío, etc.
El concepto de Lógica Difusa fue concebido por Lofti A. Zaded, profesor de la Universidad de California en Berkeley, quién inconforme con los conjuntos clásicos (crisp sets) que sólo permiten dos opciones, la pertenencia o no de un elemento a dicho conjunto, la presentó como una forma de procesar información permitiendo pertenencias parciales a unos conjuntos, que en contraposición a los clásicos los denominó Conjuntos Difusos (fuzzy sets). El concepto de conjunto difuso fue expuesto por Zadeh en un paper del año 1965, hoy clásico en la literatura de la lógica difusa, titulado "Fuzzy Sets" y que fue publicado en la revista Information and Control. Elmismo Zadeh publica en 1971 el artículo, "Quantitative Fuzzy Semantics", en donde introduce los elementos formales que acabarían componiendo el cuerpo de la doctrina de la lógica difusa y sus aplicaciones tal como se conocen en la actualidad.
Zadeh dice: "La lógica difusa trata de copiar la forma en que los humanos toman decisiones. Lo curioso es que, aunque baraja información imprecisa, esta lógica es en cierto modo muy precisa: se puede aparcar un coche en muy poco espacio sin darle al de atrás. Suena a paradoja, pero es así."
El profesor Zadeh menciona que la gente no requiere información numérica precisa del medio que le rodea para desarrollar tareas de control altamente adaptables, por ejemplo conducir un automóvil o caminar por una acera sin chocarse con los postes y las otras personas. Si los controladores convencionales, en esencia realimentados, se pudieran programar para aceptar entradas con ruido e imprecisas ellos podrían trabajar de una manera mas eficiente y quizás se podrían implementar mas fácilmente.
CONJUNTOS DIFUSOS
El concepto clave para entender como trabaja la lógica difusa es el de conjunto difuso, se puede definir un conjunto difuso de la siguiente manera.
Teniendo un posible rango de valores al cual llamaremos U, por ejemplo U=Rn, donde Rn es un espacio de n dimensiones, a U se le denominara Universo de Discurso. En U se tendrá un conjunto difuso de valores llamado F el cual es caracterizado por una función de pertenencia uf
tal que uf:U->[0, 1], donde uf(u) representa el grado de pertenencia de un u que pertenece a U en el conjunto difuso F.
ESTRUCTURA BÁSICA DE UN SISTEMA BASADO EN REGLAS DIFUSAS
Un Sistema Basado en Reglas Difusas (SBRD) está formado por:
Base de conocimientoBase de Reglas.Base de Datos.
Motor de inferencia
Además en sistemas con entradas y/o salidas nítidas, se incluye un interfaz de fuzzificación y un interfaz de defuzzificación
En explicación a las gráficas anteriores tenemos:
ARQUITECTURA DETALLADA.
El interfaz de fuzzificación
Para cada una de las entradas del sistema:
1. Adquirir los valores nítidos de las variables de entrada.
2. Trasladar los valores de las variables a los universos de discurso correspondientes.
3. En función del tipo de sistema difuso:
• Convertir cada valor nítido en un conjunto difuso con grado de pertenencia igual a 1 para esevalor y 0 para el resto (fuzzy singleton) o• hacer corresponder a cada valor nítido el término lingüístico más adecuado, o• calcular el grado de pertenencia a cada uno de los conjuntos difusos utilizados para dichavariable lingüística.
El interfaz de fuzzificación
Algunas posibilidades:
• El valor nítido se convierte en un conjunto difuso tipo singleton.
Es la opción más sencilla y la más utilizada. Adecuado cuando la medición de las variables de estado es fiable.
• Se genera un conjunto difuso con centro el valor nítido y un soporte acorde con la incertidumbre de la medición.
La Base de Conocimiento
Está formada por la Base de Reglas y la Base de Datos.
Parámetros de diseño implicados:
• Elección de las variables de estado del proceso y de control del mismo.• Elección del conjunto de términos lingüísticos para las variables de estado y de control.• Elección de la estructura del antecedente y consecuente de las reglas.• Derivación del conjunto de reglas.
Formas de obtención de la base de conocimiento:
1. A través de experiencia experta, conocimiento de ingeniería de control o acciones de un operador de control experimentado.
• Experto capaz de describir de forma lingüística sus reglas de decisión (factores de escala, semántica de los conjuntos difusos, operadores implicados, etc.).• A partir de un cuestionario realizado al experto.• Información extraída a partir de la observación de las acciones de control de un operador.
2. Obtención basada en un modelo difuso.
3. Obtención basada en aprendizaje automático (métodos ad hoc, computación evolutiva, redesneuronales , clustering, etc. ).
Base de Datos
• Proporciona la información necesaria para el funcionamiento del módulo de fuzzificación, de defuzzificación y de la Base de Reglas.
TIPOS DE SISTEMAS BASADOS EN REGLAS DIFUSAS
En función del tipo de regla difusa que utilicen se puede distinguir:
SBRDs tipo Mamdani
SI X1 es Alto y X2 es Bajo ENTONCES Y es Alto
SBRDs tipo TSK (Takagi, Sugeno y Kang)
SI X1 es Alto y X2 es Bajo ENTONCES Y=f(X1,X2)No necesitan interfaz de defuzzificaciónEl motor de inferencia funciona de distinta forma
VENTAJAS Y DESVENTAJAS SBRD TIPO MADANI
Ventajas:
Facilidad para la derivación de reglas Interpretabilidad de las reglas difusas Fueron propuestos antes y se han utilizado con más frecuencia
Desventajas:
.No garantizan la continuidad de la superficie de salida .Menor eficiencia computacional
PRACTICA 1 MAMDANI APLICADA A LA ALTURA DE LAS PERSONAS
Supongamos que se desea representar con conjuntos difusos la variable altura de una persona, en este caso el universo de discurso será el rango de posibles valores de la altura que tenga un persona adulta, se escogerá un rango entre 140cm y 200cm, valores por fuera de este rango son posibles pero son muy escasos.
El universo de discurso U = [140, 200], para denominar los conjuntos difusos se suelen trabajar con etiquetas lingüísticas similares a las que se usan de manera coloquial, por ejemplo en la vida diaria decimos que una persona es Muy Baja (MB), Baja (B), Mediana (M), Alta (Alta) y Muy Alta (MA).
ETIQUETA RANGO(MIN, MAX)
MB 140 - 160
B 160 - 170
M 170 - 180
MA 180 - 190
A 190 - 200
Si en el ejemplo anterior se desea trabajar con conjuntos clásicos (crisp) se tienen tres opciones: alguien Alto (A), Medio (A) Bajo (B). Se supondrá que alguien Alto si mide mas de 170cm en caso contrario es bajo
Sistema Difuso Mamdani, Procesamiento General
En un sistema difuso tipo Mamdani se distinguen las siguientes partes:
* Fuzzificador
La entrada de un sistema de lógica difusa tipo Mamdani normalmente es un valor numérico proveniente, por ejemplo, de un sensor; para que este valor pueda ser procesado por el sistema difuso se hace necesario convertirlo a un "lenguaje" que el mecanismo de inferencia pueda procesar. Esta es la función del fuzzificador, que toma los valores numéricos provenientes del exterior y los convierte en valores "difusos" que pueden ser procesados por el mecanismo de inferencia. Estos valores difusos son los niveles de pertenencia de los valores de entrada a los
Regla 1: Si X es bajo entonces Y es altoRegla 2: Si X es medio entonces Y es medio
Regla 3: Si X es alto entonces Y es bajo
EntradaDifusaEn U
SalidaDifusaEn V
Mecanismo de Inferencia Difusa
Fuzzificado Defuzzificador
X En U Y En V
diferentes conjuntos difusos en los cuales se ha dividido el universo de discurso de las diferentes variables de entrada al sistema.
* Mecanismo de inferencia difusa
Teniendo los diferentes niveles de pertenencia arrojados por el fuzzificador, los mismos deben ser procesados para generar una salida difusa. La tarea del sistema de inferencia es tomar los niveles de pertenencia y apoyado en la base de reglas generar la salida del sistema difuso.
* Base de Reglas Difusas
La base de reglas es la manera que tiene el sistema difuso de guardar el conocimiento lingüístico que le permiten resolver el problema para el cual ha sido diseñado. Estas reglas son del tipo IF-THEN.
Una regla de la base de reglas o base de conocimiento tiene dos partes, el antecedente yla conclusión como se observa en la siguiente figura:
Al transcribirlo en Matlab obtenemos:
COMPILACION EN MATLAB
Inicialmente ingresamos al modelo difuso en matlab mediante la función fuzzy :
Fuzzy Modeling: Procedimiento, o conjunto de pasos a seguir para modelar un sistema difuso que modele el comportamiento de un sistema real. Mediante el modelado difuso, haciendo uso de las reglas difusas podemos incorporar conocimiento experto al sistema de manera sencilla, y podemos usar técnicas convencionales para el aprendizaje de las reglas.
Ingresamos al modelo de MAMDANI
Fusificamos la variable ALTURA:
Así mismo fusificamos la salida:
Ingresamos las reglas del modelo
REGLAS DEL MODELO
SI X ENTONCES YX MUY_BAJO Entonces ALTOX BAJO Entonces ALTOX MEDIO Entonces MEDIOX ALTO Entonces BAJOX MUY_ALTO Entonces BAJO
Podemos ver el comportamiento de las reglas (5 entradas y 3 salidas):
Sucede exactamente lo que detallamos mediante las reglas.
PRACTICA 2 MAMDANI PARA EL CONTROLADOR DIFUSO DE UNA ASPIRADORA
Objetivo: Regular la fuerza de aspiración
Variables de entrada
Cantidad de suciedad 1-100: muy sucio sucio algo sucio casi limpio limpio
Hace la suma de todas y calcula el centro geometrico en este caso 170
30 75 1000
µ
LimpioCasi Limpio
Algo Sucio
15
45 60
CANTIDAD DE SUCIEDAD
SucioMuy Sucio
0
Madera
50 100
µCaucho
Alfombra
25 75
TIPO DE SUPERFICIE
Tipo de superficie 1-100: madera caucho alfombra
Variable de control
Fuerza: muy fuerte fuerte normal débil muy débil
REGLAS DEL MODELO
SI CATIDAD DE SUCIEDAD
Y TIPO DE SUPERFICIE
ENTONCES TIEMPO DE LAVADO
SI LIMPIO Y MADERA ENTONCES MUY DEBILSI LIMPIO Y CAUCHO ENTONCES MUY DEBILSI LIMPIO Y ALFOMBRA ENTONCES DEBILSI CASI LIMPIO Y MADERA ENTONCES MUY DEBILSI CASI LIMPIO Y CAUCHO ENTONCES DEBIL
15
S
30 75 1000
µMuy Debil
DebilNormal
45 60
VARIABLE DE CONTROL FUERZA
Fuerte Muy Fuerte
SI CASI LIMPIO Y ALFOMBRA ENTONCES NORMALSI ALGO SUCIO Y MADERA ENTONCES DEBILSI ALGO SUCIO Y CAUCHO ENTONCES NORMALSI ALGO SUCIO Y ALFOMBRA ENTONCES NORMALSI SUCIO Y MADERA ENTONCES NORMALSI SUCIO Y CAUCHO ENTONCES FUERTESI SUCIO Y ALFOMBRA ENTONCES FUERTESI MUY SUCIO Y MADERA ENTONCES FUERTESI MUY SUCIO Y CAUCHO ENTONCES MUY FUERTESI MUY SUCIO Y ALFOMBRA ENTONCES MUY FUERTE
Fusificamos las variables:
Insertamos las reglas a Matlab:
Esta la vista de reglas insertadas:
Ingresamos 30 entradas y obtenemos 15 respuestas.
Así mismo si yo le cambiase como en este caso las entradas [70(cantidad suciedad) 25(tipo de superficie)] las gráficas me muestran los nuevos resultados.
Hace la suma de todas y calcula el centro geométrico en este caso 50
Superfice de interpolación del sistema.
CONCLUSIONES
El documento presenta de manera muy detallada el proceso de modelado difuso Mamdani en Matlab, se mencionan en el orden correcto las tareas a realizar para modelar un sistema difuso.
Con la elaboración de este trabajo se logró el objetivo de entender con más precisión el funcionamiento del Modelo Difuso Mamdani.
Los sistemas borrosos son estables y fácilmente ajustables y pueden ser validados. Es más rápido y más fácil crear sistemas borrosos y construir un sistema borroso que él debe crear sistemas basados en el conocimiento convencionales, puesto que la lógica confusa maneja todos los grados de libertad que intervienen.
Los sistemas borrosos no son Redes Neuronales. Un sistema borroso procura encontrar la intersección, la unión o el complemento de las variables borrosas del control. Mientras que esto es algo análogo a las redes neuronales y a la programación lineal, los sistemas borrosos se acercan a estos problemas de forma diferente.
BIBLIOGRAFÍA
Este trabajo esta basado en información de las siguientes pàginas.
www.it.uc3m.es/jvillena/irc/estudios/Logica_Difusa.pdf -
http://www.cienciasmisticas.com.ar/electronica/teoria/fuzzy/index.php
http://wwwdi.ujaen.es/asignaturas/cl/tema3_cl.pdf