Entorno de desarrollo Xfuzzy 3

Herramienta de simplificación - Xfsp

La herramienta xfsp permite aplicar algoritmos de simplificación, tanto a las funciones de pertenencia como a las bases de reglas de un sistema difuso, para obtener una descripción más sencilla o más fácilmente interpretable desde el punto de vista lingüístico. La herramienta puede ser ejecutada mediante la opción "Simplification" del menú Tuning o utilizando el icono correspondiente de la ventana principal del entorno Xfuzzy.

Simplificación de funciones de pertenencia

Cuando se selecciona la pestaña Types en la interfaz gráfica de la herramienta, las variables de entrada y salida del sistema difuso son mostradas en la parte izquierda de la ventana, mientras que las funciones de pertenencia de la variable seleccionada aparecen en la parte derecha. En esta zona se encuentran también los botones Purge, Clustering y Similarity que permiten aplicar los tres procesos de simplificación disponibles.

xfsp

El mecanismo de purga busca y elimina las funciones de pertenencia que no son utilizadas en ninguna de las reglas. Esta circunstancia puede darse no sólo como consecuencia de procesos de simplificación previos, sino también cuando el sistema difuso ha sido definido a partir de conocimiento heurístico.

El método de agrupamiento utiliza el algoritmo Hard C-Means para buscar un número reducido de clústeres (prototipos de funciones de pertenencia) que permitan agrupar varias de las funciones originales. Los clústeres se evalúan en el espacio formado por los distintos parámetros que definen las funciones de pertenencia, siendo posible aplicar pesos a cada uno de ellos. El número final de prototipos puede ser definido por el usuario o calculado automáticamente mediante la aplicación de diferentes índices de validez: índice de separación de Dunn, índice de Davies-Bouldin e índices generalizados de Dunn.

La tercera técnica que contempla xfsp para simplificar funciones de pertenencia consiste en aplicar un proceso de fusión basado en la similitud entre las distintas funciones. Este proceso busca iterativamente el par de funciones más parecidas y las reemplaza por una función única si el grado de similitud supera un umbral definido por el usuario. El proceso finaliza cuando no se pueden fusionar más funciones.

La siguiente figura muestra el resultado de aplicar diferentes procesos de simplificación de las funciones de pertenencia de la variable de salida de un sistema difuso obtenido mediante técnicas de aprendizaje supervisado.

xfsp

Simplificación de bases de reglas

Cuando se selecciona la pestaña Rules en la interfaz gráfica de xfsp, las distintas bases de reglas que definen el comportamiento del sistema difuso son mostradas en la parte izquierda de la ventana. Al seleccionar una base de reglas, su contenido aparece en la parte derecha de la ventana, junto con los botones correspondientes a los cuatro procesos que pueden ser aplicados al conjunto de reglas: Pruning, Compress, Expand y Tabular Simplification.

xfsp

El método de compresión simplemente combina todas las reglas que comparten el mismo consecuente conectando sus antecedentes mediante disyunciones (conectivo “o”). Por otra parte, el método de expansión implementa el proceso complementario a la compresión. Ambos métodos pueden ayudar al usuario a o visualizar y comprender mejor la base de reglas, pero en realidad no realizan una simplificación efectiva. La simplificación se puede llevar a cabo realmente mediante el método de poda o el de simplificación tabular.

El proceso de poda es un método de preprocesamiento que suele aplicarse como paso previo a cualquier simplificación. Dado un conjunto de datos de entrada representativos del problema en el que se aplica el sistema de inferencia (fichero ‘.trn’), este proceso evalúa el grado de activación de las reglas para eliminar: (a) las n peores reglas; (b) todas las reglas excepto las n mejores reglas; o c) todas las reglas cuyo grado de activación está por debajo de un umbral. Tanto el número n como el umbral son establecidos por el usuario. La poda permite reducir el número de reglas seleccionando las más importantes en el contexto de una determinada aplicación.

El último de los mecanismos de simplificación disponibles en xfsp realiza una simplificación tabular de las reglas basada en una extensión del algoritmo Quine-McCluskey. Este método lleva a cabo una búsqueda lineal ordenada para encontrar todas las combinaciones de mintérminos lógicamente adyacentes de la función de n variables que se desea simplificar. Se parte de la lista de todos los mintérminos de la función para luego obtener sucesivamente listas de implicantes con (n-1), (n-2), ... variables, hasta que no sea posible formar más implicantes, obteniendo así lo que se denomina “implicantes primos de la función”. El último paso consiste en seleccionar el número mínimo de implicantes primos que cubren todos los mintérminos de la función.

La siguiente figura muestra el resultado de aplicar diferentes procesos de simplificación de las bases de reglas de un sistema difuso para control de aparcamiento de un vehículo autónomo.

xfsp


---------------------------------------------------------------------
I. Baturone, F. J. Moreno-Velo, A. Gersnoviez
A CAD Approach to Simplify Fuzzy System Descriptions
2006 IEEE International Conference on Fuzzy Systems
DOI: 10.1109/FUZZY.2006.1682033

Para comentarios, sugerencias, notificación de bugs, etc. contacte con nosotros en:   xfuzzy-team@imse-cnm.csic.es

©IMSE-CNM 2018