Subido por Ronald Chuman Medina

Lógica Difusa

Anuncio
Introducción:
La lógica Difusa es un tema de estudio de la inteligencia artificial que nace para interpretar y
poder manipular términos de incertidumbre o información imprecisa. El ser humano realiza la
tarea de comunicar, transmitir su experiencia y conocimientos utilizando términos o reglas
lingüísticas vagas como poco, mucho, medio, etc. Estas reglas lingüísticas son fácilmente
entendibles por los humanos, pero que una computadora, o sistema artificial interprete estos
términos es realmente complicado, ya que ellos siguen reglas de lógica booleana, donde solo
existen dos estados posibles.
Como se puede ver en la actualidad, la lógica difusa (Fuzzy Logic) y la inteligencia artificial
tienen como objetivo desarrollar métodos computacionales que permitan realizar
razonamientos y tareas de resolución de problemas que requieren de la inteligencia humana, la
cual es capaz de discernir entre estos términos difusos que utilizamos en la realidad y lo cual le
parece totalmente normal.
1. Objetivos:
 Introducir conceptos de lógica difusa y sus aplicaciones en la ingeniería.
 Reconocer diferencias entre inferencia difusa Mamdani y Sugeno.
 Simular en MATLAB un ejemplo de lógica difusa.
2. Conceptos:
2.1.Lógica Difusa:
La lógica difusa no es nada más que la extensión de la lógica tradicional, exacta o superset,
es decir, que se puede definir como la lógica que usa valores intermedios entre la veracidad
o la falsedad, sus expresiones no son ni totalmente ciertas ni totalmente falsas.
2.2.Grado de Verdad:
2.2.1. Probabilidad:
Es la indicación de como un objeto sea probable de tener ciertas características. La
probabilidad está hecha a base de un estudio, pero no del mismo objeto sino de del
conjunto donde representa este mismo, por lo que este objeto depende de ello para para
ser definido en un 100% de probabilidad.
2.2.2. Grado de verdad:
Muestra la cantidad, grado o nivel de la característica que posee el objeto. En el grado
de verdad se establece dos umbrales, por ejemplo, una persona quiere saber si es gorda
o flaca; para ello establecemos dos umbrales (gorda =1 y flaca=0) si la persona es
considerada ni tan gorda ni tan flaca tendrá un valor medio por decir 0.52, no es ni tan
gorda ni tan flaca. Este valor es sobre esa persona en concreto.
2.3.Conjuntos Difusos:
Un conjunto difuso se define como los valores reales a los que se le asocia un grado de
pertenencia que están contenidas entre 0 y 1.
Figura 1
2.3.1. Operaciones de conjuntos difusos:
Las operaciones básicas que hay entre los conjuntos difusos son:

Unión
Figura 2
La función de pertenencia de esta operación es:
Ecuación 1

Intersección
Figura 3
La función de pertenencia de esta operación es:
Ecuación 2

Complemento
Figura 4
La función de pertenencia de esta operación es:
Ecuación 3
Existen leyes fundamentales que destacan de la teoría de conjuntos clásicos como:

Principio de contradicción:
Ecuación 4

Principio de Exclusión
Ecuación 5
Propiedades
Los conjuntos clásicos tienen las mismas propiedades que los conjuntos difusos, es más,
hasta pueden verse como un subconjunto de los conjuntos difusos.

Conmutativa: A∩B = B∩A

Asociativa: A∪(B∪C) = (A∪B) ∪ C

Distributiva: A∪(B∩C) = (A∪B) ∩(A∪C)

Idempotencia: A∪A = A y A∩A = A

Involución: ¬(¬A) = A

Transitiva: If (A ⊂ B) ∩ (B ⊂ C) then A ⊂ C 1

Leyes de Morgan: ¬(A∩B) = ¬A∪¬B y ¬(A∪B) = ¬A∩¬B
2.4. Variables lingüísticas:
Las variables lingüísticas se usan para representar un elemento que realmente no es concreto
o es demasiado complejo de describir numéricamente.
Se incluyen términos lingüísticos:

Términos primarios: Bajo, Alto, Gordo, Flaco, etc.

Modificadores: Muy, casi, cerca de, mas, menos, etc.

Conectores lógicos: no(not), y(and), o(or).
2.5. Función de Membresía: Es el grado de pertenencia de un elemento a un subconjunto
definido por una etiqueta. Es decir, son una forma de representar gráficamente un conjunto
borroso sobre un universo.
2.5.1. Formas de representación de las funciones de Membresía:
A la hora de determinar una función de pertenencia, normalmente se eligen funciones
sencillas, para que los cálculos no sean complicados. Entre ellos están:
2.5.1.1.Forma Triangular:
Ecuación 6
Figura 5. Forma triangular
típica
2.5.1.2.Forma S:
Ecuación 7
Figura 6. Forma
sigmoidal o S
2.5.1.3.Forma Trapezoidal:
Figura 5. Forma trapezoidal o
también llamada Pi
Ecuación 8
2.5.1.4.Forma singleton:
Ecuación 9
Figura 6. Forma Singleton
2.6.Reglas difusas:
Una regla difusa es expresada simbólicamente como IF X is A-THEN Y is B (SI X es A ENTONCES Y es B), donde “X es A” es un antecedente y, “Y es B” es un consecuente. El
antecedente y consecuente de una regla difusa puede tener múltiples partes. En los sistemas
de reglas clásicos si el antecedente es verdad, el consecuente también lo es. En el sistema
difuso si el antecedente es difuso, todas las reglas se evalúan parcialmente y el consecuente
será verdad en cierto grado, es decir, si el antecedente es verdad en cierto grado, entonces
el consecuente también lo será en cierto grado.
2.7.Difusificación o Fuzzificación:
Este elemento transforma las variables de entrada en variables difusas. Para esta interfaz se
deben tener definidos los rangos de variación de variables de entrada y los conjuntos
asociados con sus respectivas funciones de membresía, lo que arrojará el grado de verdad o
de pertenencia de cada variable a su conjunto difuso.
2.8.Desdifusificación o Defuzzificación:
Este proceso permite asociar a un conjunto difuso un valor numérico, con el fin de obtener
una salida nítida para el modelo difuso. Ya que, el sistema de inferencia difusa obtiene una
conclusión a partir de la información de la entrada, pero es expresada en términos difusos,
como variable difusa. Pero el dato de salida del sistema difuso debe ser un número real, un
valor crisp, el cual debe representar la salida del conjunto de entradas existentes. Los
métodos más comunes de Desdifusificación son los siguientes:
2.8.1. Método del centroide:
Es el método más utilizado para obtener el valor real de una salida. Asocia el centro del
área formada por el número difuso. Matemáticamente se expresa:
-
Forma discreta:
Ecuación 10
𝑏
𝐶=
-
∫𝑎 𝑥𝜇(𝑥)𝑑𝑥
𝑏
∫𝑎 𝜇(𝑥)𝑑𝑥
Forma continua:
Ecuación 11
𝐶=
∑𝑏𝑎 𝑥𝜇(𝑥)
∑𝑏𝑎 𝜇(𝑥)
Donde 𝜇(𝑥) representa a la función de membresía de salida, cuya variable es 𝑥, y las
variables 𝑎 𝑦 𝑏 expresan los límites de integración.
Su metodología es sencilla: corta la función de membresía al grado de membresía
respectiva, segmentando las funciones de membresía generando en cada función dos
áreas. El área inferior que se forma es la que se toma para hacer el cálculo, es decir, el
área MIN. Se sobreponen todas las áreas formadas ya sea por los operadores antes
vistos, y se calcula el centroide, cuyo valor será la salida real del sistema.
Figura 7. Representación de centro de gravedad o centroide
Figura 8. Ejemplo de método de centroide, teniendo como funciones de salida
0.25 y 0.75 para el cálculo de velocidad de giro de un motor en base al giro manual.
2.8.2. Método de la Bisectriz:
Trata de encontrar el valor numérico del elemento del universo que separa el área de la
función de membresía del conjunto difuso en dos mitades con la misma área.
2.8.3. Método del Máximo Central (MOM):
El cálculo de la salida es el valor medio de todos aquellos que generan el valor más alto
de la función de membresía. Este método es un método simplificado. Primero se calcula
el valor más común de cada etiqueta, teniendo en cuenta el máximo valor de cada
función de membresía. En el caso de las funciones trapezoidales se debe escoger el
medio maximizado de dicha función.
Figura 9.
Figura 10
2.8.4. Método del Máximo más pequeño (SOM) o método de izquierda máximo:
La salida es el mínimo valor de todos aquellos valores que generan el valor más alto de
la función de membresía.
Figura 11.
2.8.5. Método máximo más grande (LOM):
La salida es el máximo valor de todos aquellos que generan el más alto valor de la
función de membresía.
Figura 12
El siguiente gráfico muestra algunos de los métodos de desdifusificación para unmismo
conjunto difuso:
Figura 13. Representación del conjunto de métodos de desdifusificación.
2.9.Agregado:
Es el proceso de unión de todas las salidas de la etapa de aplicación de reglas, todas estas
salidas previamente cortadas y escaladas, con el fin de obtener un conjunto difuso por cada
variable de salida. Existen varios criterios para realizar este paso. Un criterio muy empleado
es el de agrupar los conjuntos mediante una operación de máximos (MAX).
2.10. Inferencia difusa:
Es la lógica empleada para la toma de decisiones. Es la interpretación de las reglas ya
establecidas anteriormente (“SI-ENTONCES”), con el fin de obtener las conclusiones de
las variables lingüísticas de salida a partir de las variables de entrada, basándose en el grado
de pertenencia o verdad y apoyándose en las reglas del sistema difuso.
Por ejemplo: SI X es A entonces Y es B. Donde A y B son conjuntos difusos en los rangos
de X e Y, cuya función de membresía sería 𝜇𝐴→𝐵 (𝑋, 𝑌), y representa lo que conocemos
como la implicación. Las entradas aquí son conjuntos difusos, con su respectivo grado de
verdad, y las salidas son también conjuntos difusos, asociados a la variable de salida.
 Base de conocimientos:
Representa el conocimiento disponible sobre el entorno sistema. Se expresa en
formas de reglas lingüísticas. La forma más eficiente y común de construir la base
de conocimientos es a partir de un experto, ser humano, que posee la experiencia
necesaria para decidir cuáles son los parámetros más relevantes y establecer
relaciones entre ellos.
 Base de Reglas:
Es el conjunto de reglas que serán empleadas en el sistema difuso.
 Base de Datos:
Almacenan los conjuntos difusos y las funciones de membresía respectivas.
2.10.1. Inferencia difusa Mamdani:
Es el mecanismo de inferencia más utilizado. Este método utiliza un conjunto de reglas
IF-THEN. Toma como entrada los valores de la fuzzificación y se le aplican las reglas
difusas para su evaluación. Si se tuviesen múltiples entradas se utilizan los operadores
OR o AND para obtener un único resultado. Este valor, que debe poseer su grado de
verdad. En este método es preferible listar todas las reglas difusas para saber cómo se
obtiene la salida del sistema.
El proceso de inferencia difusa Mamdani se realiza en cuatro pasos: Fusificación,
evaluación de reglas, agregados y desdifusificación.
Figura 14
Figura 15
 Difusificación o Fuzzificación:
Es el primer paso, y consiste en tomar los valores crisp (valores de variables
discretas o nítidas), y determinar el grado de verdad o pertenencia de estos
valores de entrada a los conjuntos difusos asociados según una variable
lingüística a partir de las funciones de membresía. Es decir, asocia un valor
numérico con un conjunto difuso.
Figura 16.
 Evaluación de reglas:
Son la base de conocimientos con la cual el sistema difuso toma decisiones.
Tomamos las entradas anteriores y se aplican a los antecedentes de las reglas
difusas. Para evaluar la disyunción, operador OR, generalmente se emplea la T
conorma máx. De igual forma, para la conjunción, operador AND, se utiliza la
T norma mín. Este proceso responde al conjunto de reglas difusas. Si el
antecedente a la regla tiene más de un término, se le aplica algún operador AND
(T norma), u OR (T conorma), obteniendo así un único valor de pertenencia.
A partir del consecuente de cada regla obtenido del valor del antecedente,
aplicamos un operador de implicación obteniendo así un nuevo conjunto
borroso.
Dos de los operadores de implicación más usados son el mínimo, que trunca la
función de pertenencia del consecuente, y el producto, que la escala.
Una regla de la base de reglas o base de conocimiento tiene dos partes, el
antecedente y la conclusión como se observa en la siguiente figura:
Figura 17
En un sistema difuso tipo Mamdani tanto el antecedente como el consecuente de
las reglas están dados por expresiones lingüísticas.
Tabla 1
En la tabla 1. Se muestra un ejemplo de aplicación de reglas difusas, en donde
en base a dos variables de entrada (edad y porcentaje de manejo), tendrán cada
una un grado de pertenencia de acuerdo a la variable de salida (Riesgo de
accidente).
 Agregados:
En este paso se combinan las salidas obtenidas de cada regla, del paso anterior,
y se combinan en un único conjunto borroso utilizando un operador de adición
(T conorma).
 Desdifusificación o Defuzzificación:
La salida que genera el mecanismo de inferencia es una salida difusa, lo cual
significa que no puede ser interpretada por un elemento externo (por ejemplo un
controlador) que solo manipule información numérica. Para eso, hay que
convertir la salida difusa de los mecanismos de inferencia; este proceso lo realiza
el defuzzificador.
Se trata del proceso inverso a la fuzzificación, y es el último paso para calcular
el valor de salida de los modelos difusos. Es decir, determina un valor numérico
para un conjunto difuso, obtenido a partir del paso anterior. Es la herramienta
para obtener la acción de control nítida a partir de la acción de control difusa. Se
calcula con los métodos ya vistos anteriormente.
En el siguiente gráfico se muestra de manera más detallada como es el
funcionamiento de un sistema difuso Mamdani.
Figura 18
El diagrama de flujos de la inferencia difusa Mamndani se muestra en la siguiente
figura:
Figura 19
En la figura se muestra la configuración básica de un sistema tipo Mamdani:
Figura 30
2.10.2. Inferencia difusa Takagi-Sugeno-Kang o TSK o Sugeno:
Este mecanismo está basado en el método Mamdani que, como ya hemos visto, necesita
de una fase de Defuzzificación, lo que desde el punto de vista computacional y de
programación no es muy eficiente. Lo que propone el método Sugeno para disminuir el
tiempo de inferencia y optimizar el proceso es aplicar una función matemática a la salida
del agregado, es decir, del consecuente.
Siendo así, el formato de inferencia TSK sería:
IF X es A AND Y es B THEN Z es 𝑓(𝑥, 𝑦).
Este tipo de método proporciona mayor eficiencia. Un tipo habitual de representación
del consecuente es un singleton (punta discreta), que toma valor uno en cualquier valor
puntual del universo de discurso, y cero en cualquier otro punto.
En los sistemas difusos Sugeno se distinguen las siguientes partes:
 Fuzzificador: Realiza la misma función que en los sistemas Mamdani explicados
anteriormente
 Mecanismo de inferencia difusa: Realiza la misma función que en los sistemas
Mamdani explicados anteriormente
 Base de Reglas Difusas: Las reglas de la base de conocimiento de un sistema
Sugeno es diferente a las de los sistemas Mamdani pues el consecuente de estas
reglas ya no es una etiqueta lingüística sino que es una función de la entrada que
tenga el sistema en un momento dado, esto se ilustra a continuación:
Figura 41
En el sistema difuso tipo Sugeno, los valores que arrojan los consecuentes de las
diferentes reglas que se han activado en un momento determinado ya son valores
numéricos por lo que no se necesita una etapa de Defuzzificación.
En el siguiente gráfico se muestra de manera más detallada como es el funcionamiento
de un sistema difuso Sugeno.
Figura 52.
3. Cuestionario:
3.1.¿Por qué usar la función de Membresía?
Una función de membresía de un conjunto borroso A sobre un universo de discurso X es de
la forma µA: X → [0,1], donde a cada elemento de X le corresponde un valor entre 0 y 1.
Este valor, llamado valor de pertenencia o grado de pertenencia, representa el grado en el
que el elemento de X pertenece al conjunto borroso A.
Las funciones de membresía nos permiten representar gráficamente un conjunto borroso.
En el eje “x” (abscisas) se representa el universo de discurso, mientras que en el eje “y”
(ordenadas) se sitúan los grados de pertenencia en el intervalo [0,1].
3.2.¿Cuándo usar la función de Membresía?
Para la representación de los grados de pertenencia de cada uno de los elementos que
conforman el conjunto difuso, lo más natural es extraer los datos de los fenómenos que se
va a representar y, con ellos definir la forma de la función de membresía. De otra manera
existen metodologías que permiten asignar grados de membresía a cada uno de los
elementos del conjunto.
3.3.Diferencia entre inferencia lógica difusa Mamdani y Sugeno:
 Mamdani:
 La función de membresía está presente en la salida.
 Los resultados nítidos o crisp son obtenidos mediante la etapa de
desdifusificación, o Defuzzificación.
 Menos flexibles en el diseño de sistemas.
 Superficie de salida no continua.
 Sugeno-Takagi:
 La función de membresía no está presente en la salida del sistema.
 Los resultados nítidos son obtenido usando el promedio ponderado de
las reglas aplicadas a los consecuentes. No hay desdifusificación.
 Tiene una superficie de salida continua.
 Pérdida de interpretación.
 Es más flexible en diseño de sistemas.
3.4.Ejemplo de aplicación de lógica difusa:
3.4.1. Descripción del problema:
Un robot de exploración cuenta con 5 baterías para su movilizarse por medio de motores
DC, sin embargo, no utiliza todo el tiempo la potencia de todas ellas si no que cuenta con
un sistema para elegir cuantas baterías requiere para el movimiento a realizar.
Para la correcta elección de la potencia requerida al subir por una pendiente utilizaremos
lógica difusa teniendo en cuenta 02 entradas (Pendiente y Velocidad).
3.4.2. Modelamiento en Matlab:
Teniendo el problema identificamos las entradas y salida para su modelamiento en
Matlab.
Definimos las entradas Pendiente y Velocidad con rango de 0 a 1.
Figura 23.
Paso siguiente, definimos las funciones de membresía para las entradas. Para este
modelo hemos elegido funciones de membresía con forma triangular.
Para la variable pendiente se eligió los niveles: Baja, Media-Baja, Media-Alta y
Empinada. Como se aprecia en la figura 24.
Para la variable velocidad se consideró: Muy Lenta, Lenta, Media, Rápida y Muy
Rápida. Como se ilustra en la figura 25.
Figura 24
Figura 25
Para la salida se definen las siguientes funciones de membresía:
Figura 26
Una vez definidas entradas y salida se procede a ingresar las reglas de nuestro sistema, estas
deben ser brindadas por un experto para asegurar la funcionalidad del modelo de lógica
difusa.
Las reglas se observadas en las figuras 27 y 28 son las 20 reglas pertenecientes al problema
planteado.
Figura 27. 10 primeras reglas difusas utilizadas en el sistema de control difuso
Figura 28. 10 restantes reglas difusas utilizadas en el sistema de control difuso.
Con esto finalizamos nuestro modelo en Matlab y podemos hallar las gráficas de salida que
nos proporciona el programa para entender como se comporta la salida del modelo de lógica
difusa.
Figura 29
Vista gráfica de las 20 reglas:
Figura 10. Gráfica 3D del comportamiento de salida respecto a las 2 entradas.
Figura 11. Gráfica del comportamiento de la Potencia respecto a la Pendiente.
Figura 12. Gráfica del comportamiento de la Potencia respecto a la entrada Velocidad
4. Conclusiones:

La lógica difusa es una extensión de la lógica tradicional que usa los valores entre
la veracidad y la falsedad. Es una lógica fácil y esto permite modelar diferentes
problemas de ingeniería para su solución.

La inferencia difusa Sugeno es más flexible y al no tener funciones de membresía
en su salida no es necesario una desfuzzyficación mientras que la inferencia difusa
Mamdani es más fácil de interpretar.

La simulación de modelos de lógica difusa en Matlab es relativamente sencilla y es
una herramienta importante para entender los diversos problemas que se pueden
plantear en esta plataforma.
5. Bibliografía:
-
Pedro Ponce Cruz (2011). “Inteligencia Artificial con aplicaciones en la ingeniería”
-
Hao Ying (2000). “Control Difuso y modelado: fundamentos de análisis y
aplicaciones”.
-
Samuel Diciembre Sanahuja (2017) “Sistemas de control con lógica difusa:
Métodos de Mamdani y Takagi-Sugeno-Kang (TSK)”. Tesis de grado en
Matemática Computacional. Universidad JAUMEI.
-
Lofti A. Zadeh (1975) “Conceptos de variable lingüística y sus aplicaciones de
aproximación de razonamiento”
Descargar