Epistemowikia
Revista «Hiperenciclopédica» de Divulgación del Saber
Segunda Época, Año IX
Vol. 8, Núm. 4: de septiembre a diciembre de 2014
Epistemowikia es parte de
Logotipo de CALA Virtual
CALAALA | Communitas | Evolvere
Editio | Epistemowikia | Exercitatio | Fictor | Flor
Epistemowikia no se hace responsable ni se identifica necesariamente con el contenido ni las opiniones expresadas por sus colaboradores.
La Universidad de Extremadura no se hace en ningún caso responsable de los contenidos publicados en Epistemowikia.
Ni la Asociación Conocimiento Comunal (CONOMUN) ni el Grupo de Investigación de Ingeniería Telemática Aplicada y Comunicaciones Avanzadas (GÍTACA) se hacen en ningún caso responsable de los contenidos publicados por terceros.

Inicio | La revista | Índex | Hemeroteca | Búsquedas | Quiénes somos | Contacto | Publica

Sistemas basados en reglas difusas

De Epistemowikia

Tabla de contenidos

Introducción

Los Sistemas basados en reglas difusas (SBRD) tienen una serie de aplicaciones diversas, pero fundamentalmente son usados para:

  • Modelado de sistemas
    • Usado para representar escenarios de actuación con variables complejas, en los cuáles no basta con usar realidades absolutas como lo sería un cierto o falso.
    • En aplicaciones de control, ya que suelen estar basadas en el punto descrito anteriormente.
  • Pueden ser usadas para la categorización de elementos, detectar patrones.
  • Como agentes de usuario, los cuáles van a proporcionar una serie de ayudas a los expertos en una determinada materia para que tomen las decisiones que ellos consideren oportunas, en este caso estos sistemas van a ofrecer una ayuda, pero la decisión final la va a tomar el experto en cuestión. Como ejemplo cabe destacar el ámbito financiero.
  • <<Minería de datos y descubrimiento de información, consistente en hallar el conocimiento intrínseco dentro de una base de datos, los cuáles pueden no estar presentes a simple vista, pero aplicando sistemas de este tipo pueden llegar a averiguarse>>, (J.M.Serrano, 20006).

Reglas

Los sistemas basados en reglas (SBR) se rigen por una serie de reglas que los configuran.

Una regla es definida como un modo de representación estratégica o técnica, la cuál es apropiada cuando el conocimiento con el que deseamos trabajar proviene de la experiencia o de la intuición, y por tanto carece de una demostración física o matemática.

El formato de las reglas está compuesto por proposiciones similares a la sentencia de condición IF en un lenguaje de programación cualquiera IF-THEN (SI-ENTONCES), quedando por tanto:

IF <antecedente o condición> THEN <consecuente o conclusión>

El antecedente y consecuente son proposiciones difusas, las cuáles están regidas por las operaciones en lógica difusa que se pueden realizar, que son:

Partiendo de dos proposiciones con dos grados de verdad τA y τB, deducimos que:

  • \mbox{AND Difuso: }\boldsymbol{\tau}_{A \land B}(v)\ =\ \displaystyle\underbrace{sup}_{{w,z\in[0,1]v=wtz}}\{{\boldsymbol\tau}_A(w)\land{\boldsymbol\tau}_B(z)\};
  • \mbox{OR Difuso: }\boldsymbol{\tau}_{A \lor B}(v)\ = \underbrace{sup}_{{w,z\in[0,1]v=wtz}}\{{\boldsymbol\tau}_A(w)\lor{\boldsymbol\tau}_B(z)\};
  • \mbox{NOT Difuso: }\boldsymbol{\tau}_{\lnot A}(v)\ = \underbrace{sup}_{{u\in[0,1]v=1-u}}{\boldsymbol\tau}_A(u) = {\boldsymbol\tau}_A(1-u);
  • \mbox{Implicacion difusa: }\boldsymbol{\tau}_{A \to B}(v)\ = \underbrace{sup}_{{w,z\in[0,1]v=w \to z}}\{{\boldsymbol\tau}_A(w)\land{\boldsymbol\tau}_B(z)\};

Un ejemplo básico de cómo se podría formar una proposición de este estilo, sería el siguiente:

  • SI el frío es elevado ENTONCES abrigar mucho

Como en todos los SBR las reglas pueden estar encadenadas, de forma que el consecuente de una regla pasa a ser el antecedente de la siguiente. Las reglas que no son encadenadas, se las denomina reglas paralelas.

Tipos de reglas y proposiciones

Las proposiciones se pueden clasificar en los siguientes grupos:

  • Proposiciones CUALIFICADAS: Introducen un atributo para cualificar la proposición que forma una regla. El atributo corresponde al grado que determina la regla.
    • Grado de Suceso: Probable, poco probable...
  • Proposiciones CUANTIFICADAS: Indican cantidades difusas en las reglas.
    • SI muchos alumnos suspenden ENTONCES la explicación fue bastante mala

Respecto a esta clasificación, podremos decir que las proposiciones que no poseen cuantificadores ni cualificadores son proposiciones categóricas, mientras que las proposiciones no categóricas no tienen por que ser verdad siempre.

Las reglas pueden tener variantes, entre ellas se encuentran las siguientes:

  • Con excepciones: Son el tipo: SI la temperatura es alta ENTONCES tendré calor EXCEPTO que tenga aire acondicionado.
  • Graduales: Cuantos más partidos ganemos, más facil será ganar la liga.
  • Reglas conflictivas: Son reglas que dentro de un mismo sistema tienen información contradictoria, lo cuál puede acarrear muchos problemas, tales como malos resultados o generar problemas.
    • Este tipo de reglas son aquellas que para un mismo antecedente, tienen consecuentes distintos, por ejemplo:
      • R1: SI tengo hambre ENTONCES como.
      • R2: SI tengo hambre ENTONCES no como.
    • Otro ejemplo de reglas contradictorias son aquellas que estando encadenadas en ambos sentidos, niegan un consecuente:
      • R1: SI he metido un gol ENTONCES estoy feliz.
      • R2: SI estoy feliz ENTONCES no he metido un gol.

Estructura básica de un SBRD

Como cualquier SBR, un SBRD está constituído principalmente por dos elementos, la base del conocimiento y el motor de inferencia.

Además, en sistemas con entradas y salidas discretas, es decir, nítidas, se incluye un interfaz de fuzzificación en la entrada y un interfaz de defuzzificación en la salida.

Imagen:EsquemaSBRD.jpg

Base de Conocimiento

En el se encuentran los conocimientos del sistema a desarrollar, está formado principalmente por una base de datos, la cuál contiene todos los datos relativos al sistema, como variables y valores posibles, y una base de reglas, que contiene todas las proposiciones que van a regir el sistema.

El diseño de la misma se lleva a cabo mediante una serie de pasos.

  1. Inicialmente habría que detectar cuáles son las variables de estado y de control asociadas (temperatura, estado de ánimo...).
  2. Establecer los términos lingüísticos que van a ser usados para su representación (frío, calor, mucho calor, feliz, triste, animado...).
  3. Generar las proposiciones estableciendo las relaciones entre los distintos parámetros tenidos en cuenta (SI mucho calor OR mucho frío ENTONCES estado de ánimo triste).

La base del conocimiento puede ser hallada de varias formas, pero una de las más habituales es la de hacerse con los servicios de un experto en la materia, y que él sea el encargado de decidir cuáles son los parámetros de mayor importancia y de establecer las relaciones existentes entre ellos.

Por ejemplo si tenemos un ventilador y un sensor de temperatura, un SBRD que gestionase el funcionamiento del mismo sería construído de la siguiente forma:

  • Detección de las variables y sus posibles valores:
    • Variable de entrada: Temperatura: Mucho calor, Calor, Templada, Frío.
    • Variable de control: Velocidad de giro del ventilador: Rápida, Normal, Lenta, Parado.
  • Generación de reglas relacionando variables:
    • R1: SI temperatura Mucho calor ENTONCES Velocidad de giro Rápida
    • R2: SI temperatura Calor ENTONCES Velocidad de giro Normal
    • R3: SI temperatura Templada ENTONCES Velocidad de giro Lenta
    • R4: SI temperatura Frío ENTONCES Velocidad de giro Parado

Este sistema sería mejorado si recibiese mayor información, por ejemplo con una variable de entrada nueva Estado de Ventanas: Abiertas, Cerradas

Pudiendo quedar alguna regla del estilo:

RX: SI temperatura Templada Y ventanas Abiertas ENTONCES Velocidad de giro Parada

Motor de Inferencia

El motor de inferencia es el "supervisor", se encarga de extraer las conclusiones partiendo de los datos simbólicos que le han llegado, aplicando las reglas que rigen el sistema en el cuál trabaja. Una modificación en las reglas dará como resultado unas conclusiones distintas.

Los dos mecanismos de inferencia para este tipo de sistemas son:

  • Encadenamiento hacia adelante: Se generan conclusiones a partir de las reglas originales, y posteriormente se comprobaría si esas conclusiones son consistentes con el resto de reglas del sistema.
  • Encadenamiento hacia atrás: Se basa en aceptar como ciertas las conclusiones de una determinada regla, y a continuación se comprueba si todas las reglas que provocarián la regla original son ciertas, en caso de que alguna no lo sea, el proceso finaliza.

Interfaz de fuzzificación y defuzzificación

Estos interfaces tienen la función de convertir una entrada nítida en un valor difuso (fuzzificación), y una salida difusa en una entrada nítida (defuzzificación). La función sería similar al funcionamiento de modulación y demodulación de las señales de digital a analógico y viceversa empleado por los módem.

El interfaz de fuzzificación suele emplear un método de "difsusión" bastante simple, consistente en convertir un valor nítido en un conjunto difuso del tipo singleton, en el cuál para un valor de entrada concreto le corresponde una difusión característica. Es el método más usado.

El interfaz de defuzzicación como hemos comentado trata de dar una valor nítido a una salida borrosa, pero esto no es algo obvio, el problema que se plantea es el siguiente:

Si partimos de una serie de reglas de entrada A1(k) ∧ A2(k) ∧ A3(k) ∧ An(k) obtendremos como salida B(k) para k = 1, 2, 3..., m.

Obtendremos que al introducir una entrada con valores A1*, A2*, ..., An*, obtenemos como salida los conjuntos difusos: B(1), B(2), ..., B(m).

Al unir todas las salidas halladas obtendremos como resultado B', y por tanto el objetivo ahora sería averiguar cuál es el valor nítido que mejor representa ese conjunto.

Este proceso puede realizarse de varias formas, una de ellas es emplear el método de la altura, el cuál no requiere el cálculo del conjunto difuso de salida, es rápido, y únicamente requiere la definición del punto umbral:

 B^* = \frac {\displaystyle\sum_{k=1}^m c^{(k)} \cdot \mu_{B'^{(k)}} (c^{(k)})} {\displaystyle\sum_{k=1}^m \mu_{B'^{(k)}} (c^{(k)})}

siendo c(k) el valor umbral del conjunto difuso B(k).

Fuentes

Apuntes de Inteligencia Artificial de Alfonso Lozano Tello

Apuntes de la Universidad de Jaén: Transparencias

www.Monografias.com: Documento

Referencias

J. M. Serrano (2006), apuntes, (25 páginas).

Licencia









Esta obra se publica multilicenciadamente con las siguientes licencias. Por tanto, usted es libre de reproducir, distribuir, comunicar públicamente, interpretar y transformar, por cualquier medio, con o sin ánimo de lucro, la presente obra, en cualquier momento o lugar, licenciando o multilicenciando, según sea el caso, la obra original o la obra derivada, con una de las siguientes licencias o con un subconjunto de ellas:





Herramientas personales