The Xfuzzy 3 development environment

The Simplification tool - Xfsp

The tool xfsp allows to apply simplification algorithms, both to the membership functions and to the rules bases of a fuzzy system, to obtain a simpler description or one that is easier to interpret from the linguistic point of view. The tool can be executed using the "Simplification" option in the Tuning menu or the corresponding icon in the main window of the Xfuzzy environment.

Membership functions simplification

When the Types tab is selected in the tool's graphical user interface, the input and output variables of the fuzzy system are displayed on the left side of the window, while the membership functions of the selected variable appear on the right side. In this area can also be found the Purge, Clustering and Similarity buttons that allow to apply the three available simplification processes.


The purge mechanism looks for those membership functions which are not used in any rule base and eliminates them. This may happen not only as a consequence of previous simplification processes but also when the fuzzy system has been defined from translating heuristic knowledge.

The clustering method uses the Hard C-Means algorithm to search for a small number of clusters (prototype membership functions) that allow grouping several of the original functions. The clusters are evaluated in the space formed by the different parameters that define the membership functions, being possible to apply weights to each one of them. The final number of prototypes can be defined by the user or automatically calculated by applying different validity indices: Dunn separation index, Davies-Bouldin index and Dunn generalized indexes.

The third technique that includes xfsp to simplify membership functions is to apply a merging process based on the similarity between the different functions. This process iteratively searches for the pair of most similar functions and replaces them with a single function if the degree of similarity exceeds a threshold defined by the user. The process ends when it is not possible to merge more functions.

The following figure shows the result of applying different simplification processes to the membership functions of the output variable of a fuzzy system obtained through supervised learning techniques.


Rule bases simplificación

When the Rules tab is selected in the graphical user interface of xfsp, the different rules bases that define the behavior of the fuzzy system are shown on the left side of the window. When selecting a rule base, its content appears on the right side of the window, along with the buttons corresponding to the four processes that can be applied to the rule set: Pruning, Compress, Expand and Tabular Simplification.


The compression method simply combines all the rules that share the same consequent, connecting their antecedents by disjunctions ("or" connective). On the other hand, the expansion method implements the process complementary to compression. Both methods can help the user to better visualize and understand the rule base, but in reality they do not perform an effective simplification. Simplification can actually be carried out by the pruning method and/or the tabular simplification.

The pruning process is usually a preprocessing method applied prior to any simplification. Given a set of input data representative of the problem in which the inference system is applied (file '.trn'), this process evaluates the degree of activation of the rules to eliminate: (a) the n worst rules; (b) all rules except the n best rules; or c) all rules whose degree of activation is below a threshold. Both the number n and the threshold are set by the user. Pruning allows to reduce the number of rules by selecting the most important in the context of a particular application.

The last of the simplification mechanisms provided by xfsp performs a tabular simplification of the rules based on an extension of the Quine-McCluskey algorithm. This method performs an ordered linear search to find all combinations of logically adjacent minterms of the n-variable function to be simplified. It begins with a list of of all the minterms of the function to later obtain successively lists with (n-1)-, (n-2)-, ... variable implicants until no more implicants can be formed, thus obtaining the so-named "prime implicants" of the function. The last step is to select the minimum number of prime implicants that cover all the minterms.

The following figure shows the result of applying different simplification processes to the rule bases of a fuzzy system for parking control of an autonomous vehicle.


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

For comments, patches, bug reports, etc contact us at: