DonNTU   Masters' portal

Introduction

In the area of ​​technical systems fuzzy modeling provides more adequate results compared to the results, which are based on traditional analytical models and control algorithms. The range of application of fuzzy methods is increasing every year, covering areas such as the design of industrial robots and home appliances, control of blast furnaces and the movement of subway trains, automatic speech recognition and image. 

The fuzzy logic, which is the basis for the implementation of fuzzy control methods, more naturally describes the nature of the human mind and the course of his argument than the traditional formal logic systems. That is why the study and use of mathematical tools to represent fuzzy initial information allows you to build models that most accurately reflect the various aspects of uncertainty is always present in our surrounding reality.

Handling fuzzy information and fuzzy inference long been used in a variety of intelligent systems, however, the most widely used system of fuzzy systems have gained in the field of management.

In classical fuzzy controllers do not provide mechanisms to adapt in real time to the changing characteristics of the control object interaction with the environment, which does not use fuzzy systems to control objects with time-varying properties. However, there are a number of methods that extend the fuzzy controllers in the field.

1. Relevance of the topic

Handling fuzzy information and fuzzy inference long been used in a variety of intelligent systems, however, the most widely used fuzzy systems have gained in the field of management. To control the bad formalizable objects with complex interactions of control variables suggested to use a method based on the terms of membership functions of several arguments. For practical use of the actual creation of specialized software.

2. The purpose and objectives of the reseearch the expected results

The aim of the study is the development and analysis of algorithms of fuzzy control based on the membership functions of several variables.

The main objectives of the study:

  1. A review of existing methods of fuzzy control based on the membership function of a single argument.
  2. A review of existing methods of fuzzy control based on the membership functions of several arguments.
  3. The study of information technology implementation of fuzzy control.Expected results: the implementation of the software solution with the method of fuzzy control based on the membership functions of several arguments.

3. A review of existing methods of fuzzy control based on the membership function of several arguments

Адаптация метода Мамдани к использованию функций принадлежности нескольких переменных

The method of constructing a fuzzy controller based on the terms of membership functions with multiple arguments is presented in Figure 3.1. The construction of fuzzy controller includes the following steps:

  1. Formulation of the problem of fuzzy control;
  2. The formation of terms and their membership functions;
  3. Forming the base of fuzzy inference rules of the system;
  4. Fuzzification of input variables;
  5. Aggregation of sub-conditions in fuzzy production rules;
  6. Activation prisoners under in fuzzy production rules;
  7. Accumulation of findings of fuzzy production rules;
  8. Defuzzification output variables.

Within the formulation of the problem defined by the input and output variables of the control object on the basis of input variables selected control variables. Highlighted values ​​are represented in the form of linguistic variables.

For each of the linguistic variables are generated term-set as fuzzy variables [1].  If the linguistic variable has a simple structure, then it can be selected in terms of the form of fuzzy variables with one-dimensional membership function. Otherwise, it is recommended to use the fuzzy variables with multi-dimensional membership functions. By the formation of the names and terms of membership functions can be held by experts. In addition to determining the number of terms of the form and functions of the accessories may be used in methods of fuzzy cluster analysis. In the future, to build a multi-dimensional membership functions used in the method of fuzzy c-means.

The method of constructing a fuzzy controller based on multi-dimensional membership functions
 

Picture 3.1 – The method of constructing a fuzzy controller based on multi-dimensional membership functions

 

The rule base of fuzzy inference system is based on empirical knowledge and expert knowledge in the subject area and is represented in the form of fuzzy productions [2]: P = {R1, R2, ...,Rp} – set of fuzzy rules Productions; B = {B1, B2, ...,Bm} a plurality of input linguistic variables; W = {W1, W2, ...,Wz}  a plurality of output linguistic variables.



Rule Rr: IF  ПУlkir then ПУzbjr
ПЗjr
B1  IS Btlk,

where Btlk – K-th term of a linguistic variable vhozhnoy Bl;
Sir
– truth degree of sub-conditions ПУlkir.

ПЗjr Wz  ЕСТЬ Wtzb,

где Wtzb – b-th term of the output linguistic variable Wz,

Zir truth degree of sub-conclusion ПУlkir

Fazifikatsii procedure is to establish a correspondence between the particular value of a single input variable fuzzy inference system and the value of the membership function corresponding Sir her term input linguistic variable, which in the case of multi-dimensional functions, calculated as a multi-dimensional tabular interpolation (Hermite polynomials) [3]:

  Sir – µlk (ẍl),

where l – input value of fuzzy inference system;

µlk (ẍl) – membership function for the second term included in the sub-condition ПУlkir.

Aggregation is the procedure for determining the degree of truth conditions for each of the fuzzy inference rules of the system. If the condition of the rules given in the form of fuzzy linguistic expressions of the form «β is α», leaves the stage of aggregation degree of truth unchanged. If the condition consists of several sub-conditions, the sub-condition linguistic variables are pairwise equal to each other, define the degree of truth complex utterance based on the known truth values ​​sub-conditions. In order to determine the result of the formula is used:

 S= min Sir

At the stage of aggregation are all the values ​​of Sr for each of the rules under consideration within the framework of the rules of fuzzy inference system.

At the stage of activation for each of the output linguistic variables in separate productions prisoners under fuzzy rules are determined by the membership function of fuzzy sets of values [4].

The calculation of the value of the membership function for each of the considered prisoners undereny output linguistic variables is calculated as follows:

µlk (ÿz) = min {Zzbjr, µlzb (ÿz)},

where µlk (ÿz) – membership function of the b-term;

Zir – degree of truth of each of prisoners undereny using the formula:

 Zjr = S* Kr,

where Kr weighting rules.

Accumulation phase is to integrate or accumulate operations using max-disjunction of all the degrees of truth of the membership functions for each of the output variables:

µlk *(ÿz) = (All) µzbr (ÿz),

Defuzzification is to use the results of the accumulation of all the output linguistic variables, get the usual numerical value of each of the output variables that can be used with special devices that are external to the system of fuzzy inference. For one-dimensional membership functions used standard method of center of gravity. For the multivariate case using the generalized method of center of gravity:

yzn*  = 1/Vz (int) yzn * µlk *(ÿz) dv,

where yzn*  – defuzzification result;

Vz – the volume of the figure formed by the membership function µlk *(ÿz).

      Fuzzy inference based on neural network

 

Very often it is assumed that the input variables are independent from each other. [5]. This causes separation of the classes illustrated in figure 3.2.

The classic division of the input space into regions  

Picture 3.2 – The classic division of the input space into regions 

White field means belonging to a given class, a gray box – a partial belonging to each of the neighboring classes (or lack of membership in the class).

In this approach, each input variable has its own entrance set. They are contained in the rules in the form:

IF (X1 это A1k AND ... AND Xn это Ank ),


 where X1,…,Xn – input variables (n – the number of inputs), and A1k,…,Ank –  it's fuzzy sets, contained in the condition k-th rule (k = 1,2, ..., N; N  the number of rules). For example, in picture 2.2, we can write the following rule conditions:

R1 : IF (X1 this negative AND X2 this is more),

R2 : IF (X1 this negative AND X2 this is a small),

R3: IF (X1 this is a positive).  

 The symbols denote the corresponding areas are shown in Figure 3.3. For some applications, this approach represents a serious limitation, since not always the input variables are mutually independent. In Figure 3.3 shows an example of the separation space of input states is very easy:

R1 : IF (X1 < X2),

R2 : IF (X1 X2),

        R3: IF (X1 > X2), 


for which the classical approach is not the most appropriate.

 The proposed division of the input space into classes

Picture 3.3 – The proposed division of the input space into classes

 

A solution would be to propose the replacement of all the input variables and one vector to introduce the membership function of several variables. In this case, a description of the rules will have the form [6]:

IF (X this Ak),


where X=[X1,…,Xn]T, а Ak – is a fuzzy set with a multi-dimensional membership function.

The second element of the architecture – the component responsible conclusion of the rule [7]. Use the solution proposed by Takagi and Sugeno, which is described in detail in Section 1.3. The output of the system output is a function of the input variables, ie,

Y=f(k)(X), 


where  f(k)(X)  – it is a function contained in the k-th rule, and Y – the numerical value of the manipulated variable. When you combine the two elements formed the base of the rules in the form below (marked R(k) refers to the Regulation):

R(k): IF (X this Ak) THEN Y=f(k)(X).

All stages of the process is shown in picture 3.5, the animated.

The process of all stages

Picture 3.5
– The process of all stages

4 The study of information technology implementation of fuzzy control

Fuzzy Modeling with MATLAB



For further development and application of fuzzy inference systems in interactive mode can be used in the following graphical tools that are part of the package Fuzzy Logic Toolbox.

1.  Editor fuzzy inference systems FIS (FIS Edition) or abbreviated pedaktor FIS shown in Figure 4.1. Editor fuzzy inference systems FIS is the primary tool used to create and edit fuzzy inference systems in graphical mode. If the fuzzy function is called with no arguments, the editor of the FIS called for the newly created system of fuzzy inference with the name Untitled by default. In this case, the default is also set a number of parameters such as the type of fuzzy inference system (Mamdani), fuzzy logic, methods of implication, aggregation and defuzzification, and others.

 

 The GUI editor FIS

Picture 4.1 – The GUI editor FIS

 

2. Editor of membership functions of fuzzy inference system (Membership Function Editor) or abbreviated editor of membership functions shown in Figure 4.2. The editor of the membership function is used to set and edit the individual terms of membership functions of fuzzy inference in graphical mode [8].

To display graphs of membership functions, select the desired variable in the left side of the GUI editor titled FIS Variables.

 
The editor of the membership function, the function mfedit

Picture 4.2 – The editor of the membership function, the function mfedit

 

3. Editor of fuzzy inference rules (Rule Editor) or abbreviated rule editor shown in Figure 4.3.

Editor fuzzy inference rules of the system, as its name implies, is designed to set and edit the individual rules of fuzzy inference in graphical mode.

 Rule Editor, the caller ruleedit

Picture 4.3 – Rule Editor, the caller ruleedit

 

Rule Editor has a main menu that allows the user to call other graphic tools to work with fuzzy inference system FIS, download and save the structure of FIS in external files, etc.

4. Viewer fuzzy inference system rules (Rule Viewer) or abbreviated viewer inference rules in Figure 4.4;

The main purpose of the rules of the viewer is the ability to visualize the results of fuzzy inference and receive output values ​​depending on the initial values ​​of the input variables [9].

Viewer allows you to edit the rules are not the rules and membership functions of terms and variables used after the development of fuzzy inference system at the stage of analysis and evaluation. The function is also suitable for use in the case when it is necessary to visualize the entire fuzzy inference process from beginning to end. The user also has the power to evaluate impact values ​​of the output variables of fuzzy model and the impact of each of the rules on the result of fuzzy inference by changing the values ​​of the input variables;

Viewer rules by calling ruleview  

Picture 4.4 – Viewer rules by calling ruleview

 

­5. Viewer surface fuzzy inference system (Surfase Viewer) or abbreviated viewer output surface in the picture 4.5.

Viewer surface fuzzy inference system allows you to view the system with fuzzy inference, and visualize graphs of the output variables of the individual input variables.

Viewer output surface does not allow changes in the fuzzy inference system and the corresponding structure of the FIS. Using the main menu, the user can select the input variables and the corresponding horizontal axis of the coordinate system (X and Y), and an output variable which corresponds to the vertical axis of the coordinate system (Z).

Viewer output surface, the function surfview

 
Picture 4.5 – Viewer output surface, the function surfview

 

In addition to these graphical tools in the package Fuzzy Logic Toolbox also includes the following special programs [10]:

1. Editor adaptive neuro-fuzzy inference (Adaptive Neuro-Fuzzy Inference System Editor) or abbreviated editor or editor of hybrid networks ANFIS in the picture 4.6.

Further setting options to build and train a hybrid network can be performed using the previously considered standard graphics tools in the Fuzzy Logic Toolbox. It is recommended to save your fuzzy inference system in an external file with the fis, then you should download this file in the editor of fuzzy inference FIS.Дальнейшая настройка параметров построенной и обученной гибридной сети может быть выполнена с помощью рассмотренных ранее стандартных графиче­ских средств пакета Fuzzy Logic Toolbox. Для этого рекомендуется сохранить созданную систему нечеткого вывода во внешнем файле с расширени­ем fis, после чего следует загрузить этот файл в редактор систем нечеткого вывода FIS.

 The GUI editor for FIS generated fuzzy inference system

Picture 4.6 – The GUI editor for FIS generated fuzzy inference system

 

2. The program is fuzzy clustering method of fuzzy average (fuzzy with-means clustering) in Figure 4.7.

Thus, the system allows MATLAB to solve the problem of fuzzy clustering in two ways: by using the command-line functions and using the graphical interface of clustering. The first of them is more time consuming, but has more flexibility and the ability to display in the command window of the matrices centers of fuzzy clustering, the membership functions and the objective function. The second method is the most convenient to perform a series of calculations for various values ​​of the input parameters to a visual analysis of the results obtained.

The result of solving the problem of fuzzy clustering algorithm FCM using a graphical interface for a variety of data

Picture 4.7 – The result of solving the problem of fuzzy clustering algorithm FCM using a graphical interface for a variety of data

 Fuzzy modeling in the environment fuzzyTECH


The program fuzzyTECH, developed and continuously updated by INFORM GmbH (Inform Software Corporation, Germany), is designed to solve different problems of fuzzy modeling. In contrast to MATLAB, the program fuzzyTECH is a specialized tool that allows you to develop and explore a variety of fuzzy models in graphical mode, and convert them into code for a programming language with the possibility of implementing a programmable microcontrollers. 

FuzzyTECH program has the ability to use it as a server or a client in a fuzzy control remote objects. An interesting feature of the program fuzzyTECH, which should also be sure to point out is the ability to automatically generate documentation for fuzzy models in the form of text with illustrations in the format of RTF.

Although the program and the system fuzzyTECH MATLAB using common principles of fuzzy modeling, there are some fundamental differences in the implementation of fuzzy inference systems in the FLS program fuzzyTECH of FIS systems previously considered in the package Fuzzy Logic Toolbox. The main ones are set out below [11].

1. The system design of a fuzzy inference in fuzzyTECH may have multiple blocks rule (Rule Blocks) fuzzy productions, each of which may have its own input and output linguistic variables. The individual units of the rules can be connected in series or in parallel fashion as shown in Figure 4.8.

2.  In addition to the input (Inputs) and output (Outputs) projects fuzzyTECH linguistic variables can have so-called intermediate (Intermediates) linguistic variables. These variables appear in cases when the blocks are connected in series rules, ie the output of one block of rules connected with the input of another unit of the rules as shown in Figure 4.8.

 The editor of the draft program fuzzyTECH

 

Picture 4.8 – The editor of the draft program fuzzyTECH

 

3. All operations on the development, editing, debugging, and analysis of projects in the program fuzzyTECH performed in graphical interactive mode, and for prototyping projects and specifications of their individual components can be used in various wizards (Wizards).

4. Based on the developed and debugged the project fuzzyTECH program can be generated code of the fuzzy inference system in one of the programming languages ​​(C, Java, MS Visual C + +, MS Visual Basic, MS VBA, COBOL, Assembler, tongue m-file of MATLAB ). Subsequently obtained similarly Listings code can be compiled to a particular computer platform used, and regardless of the program to be implemented fuzzyTECH fuzzy microcontroller.

5. The use of technology in the program fuzzyTECH Dynamic Data Exchange (DDE) allows sharing of developed fuzzy models with other programs and tools, such as MS Access, MS Excel, MATLAB. The program fuzzyTECH can act both as a server and as a client, which greatly expands the range of possible applications of the developed fuzzy models. In the latter case, fuzzy control remote objects need to use a particular communication protocol (TCP / IP, IPX / SPX) and additional interfaces (serial interface RS232, SDI 5, SFS, FTOCC).

6. All projects in the environment fuzzyTECH stored in separate project files format FTL (Fuzzy Technology Language), which have the extension ftl. They are plain text files that can be viewed and edited by any ASSII-editor (eg, MS Notebook). FTL format was specifically designed by Intel Corp. and Inform Software Corp. at 1991 r. for presentation systems nechetkoro output in the form of structured text. This format is supported by all leading developers of software and hardware solutions based on the use of fuzzy logic systems, allowing them to carry out the transfer on different platforms..

7. In format FTL files may be presented projects format FTR (fuzzyTECH Runtime), respectively, with the expansion ftr. File format FTR, unlike format FTL, projects are in binary form. In this form of representation depends on the version of fuzzyTECH. FTR file format contains all the information about the project and can be used to convert to the appropriate project file format FTL.

8.  In the fuzzy fuzzyTECH projects can use different types and forms of membership functions of terms of linguistic variables. Regarding the types of membership functions, the user can select one of the options listed below:

– A standard version of the membership function (Standard MBFs), which is sometimes called the "4-point" option, as it is based on the use of four characteristic points or parameters to set the appropriate membership functions;

– Random variation of the membership function (Arbitrary MBFs), in which you can use up to 16 characteristic points or parameters to set or approximating the appropriate membership functions;

– Inverted version of the membership function (Inverse MBFs), which may be useful in determining the rules of fuzzy productions with the negation of the existing project in terms of the (inverse terms) for individual linguistic variables;

9. Each type of membership function can have one of the forms when administered as follows::

– Linear (L-shape), which involves the representation of the membership function in the form of triangular, trapezoidal function, or some combination of them;

– S-shaped (S-shape), which involves the representation of the membership function in the form of a S-shaped, Z-shaped or U-shaped curve.й.

10. The program may be fuzzyTECH various methods fuzzification of input variables. The user can select one of the following options fuzzification

– A standard method of fuzzification (Compute MBF) involves the use of a standard type of membership functions of triangular, trapezoidal, and piecewise-linear curves;;

– Fuzzy input (Fuzzy Input) indicates that all the terms of the respective linguistic variables are presented in the form of a vector of values ​​of the membership function. This is more efficient in the implementation of fuzzy inference on a particular hardware platform;

– Fuzzy input in the form of a table (Look-up-MBF) indicates that the corresponding fuzzy linguistic variable values ​​are calculated using an algorithm and are presented in tabular form. This embodiment can be used to increase speed in some types of computing microcontrollers and microprocessors fuzzy;

– Quick fuzzification method (Fast Computation of MBF) is a variation of the standard method applied to certain specific types of microcontrollers. This embodiment has the highest efficiency when using specific hardware platform.

– Regular input (Categorical) indicates that all the terms of the respective linguistic variable represented in the form of a conventional vector of values.

11. In the fuzzy fuzzyTECH projects can also be used a variety of methods of aggregation, composition, accumulation and defuzzification of the results of fuzzy inference;

12. The conclusions of the rules for the composition of fuzzy productions, you can use one of the following tasks weighting rules::

– Standard (Standard), where the value of the weighting factor for each rule is assumed constant and equal to 1;

– User-defined (Fuzzy Associative Maps or abbreviated FAM), in which the weight value for DoS kazhdoro rules can vary within the interval [O, 1].

13. For the accumulation of findings of fuzzy rules of productions, you can use one of the following methods:

– Common (max) at which the fuzzy inference result in a block of fuzzy rules of productions is defined as the union of fuzzy sets;

– Limiting the amount (bsum), in which the fuzzy inference result in a block of fuzzy rules of productions is defined as the union of fuzzy sets.

14. In projects fuzzyTECH may use different methods of defuzzification output variables. In this case, user can select one of the following methods of defuzzification:

– A standard method (Center-of-Maximum or abbreviated CoM), which, according to developers, is by the best compromise to get the final output values. The program fuzzyTECH CoM defuzzification method works similarly to the method of center of gravity of CoO;

– The method of the center area (Senter-° F-Area or abbreviated CoA);

– The method of the average maximum (Mean-of-Maximum or abbreviated IOM), which, according to developers, is the most flexible method and is defined as the arithmetic average between the left and right modal values ​​at the same time as the fashion of a fuzzy set is considered the maximum value of its membership function;

– Method hypercentre maximum (Nurer Center-of-Maximum or abbreviated HyperCoM), which can only be used in other program modules fuzzyTECH. This method takes into account the positive and negative fuzzy conclusions and in accordance with this forms a optimum value for the output variables.

 Graphical Viewer three-dimensional surface of fuzzy inference 

Picture 4.9 – Graphical Viewer three-dimensional surface of fuzzy inference

 

    The system MATLAB. Develop and maintain the company MathWorks Inc. (USA), is one of the most prominent systems Computer Mathematics. The latter accepted to specialized computer programs that are designed to address a wide range of problems associated with a particular section of pure or applied mathematics. The individual classes of problems that can be solved system of MATLAB are very conventional attitude to classical mathematics, as at present are highly specialized field of scientific and applied research. The use of MATLAB and related modeling techniques and procedures for performing numerical calculations become the de facto standard for a wide range of experts from various fields of science, technology, economy and education. Contains sophisticated fuzzy modeling system MATLAB allows the full range of research on the development and application of fuzzy models. It is for these reasons, MATLAB was chosen to develop a new method of fuzzy control based on the membership functions of several variables.

Conclusion

The main result of the present work is that considered fuzzy control algorithms, as well as options for programming environments for implementing the algorithm in the system. 

One of the main reasons for the use of fuzzy logic for the evaluation mechanism is the ability to set the desired depending on the language close to natural. The most suitable framework for this knowledge are used in the methods of Mamdani, Larsen, and the new algorithm, which is described in Section 2.1. The algorithm of fuzzy inference system provides the flexibility to decide by adjusting the evaluation criteria and rules of inference.

In this study were investigated different development environments. MatLAB has more features than MathCAD, Maple and Mathematica, as this package is so versatile that it can solve almost the entire range of tasks. MathCAD, Maple and Mathematica is more aimed at solving the various equations with clear input data, and more easier to write code. 

On the basis of the described environments fuzzy control algorithm implementation, it was concluded that MathLab – an environment with the best possible implementation of the algorithm with results displayed in the form of multi-dimensional graphs, as well as a more intuitive graphical interface.

Thus, the implementation of PP, which provides solutions to the problems of fuzzy input data is an important task. The analysis and the very formulation of the problem show that the new algorithm and the PP will provide adequate and effective output tasks users.

This master's work is not completed yet. Final completion: January 2014. The full text of the work and materials on the topic can be obtained from the author or his head after this date.

References

1. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. – М.: Мир, 1976. –[djvu]

2.     Заде Л.А. Тени нечетких множеств – [pdf]

3.     Губко М.В. Лекции по принятию решений в условиях нечеткой информации – [pdf]

4.  Круглов В.В., Дли М.И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. – М.: Физматлит, 2002.

5.     Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. – СПб., 2003.

6. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. – М., 2004.

7. Масалович А. Нечеткая логика в бизнесе и финансах. www.tora-centre.ru/library/fuzzy/fuzzy–.htm

8.  Kosko B. Fuzzy systems as universal approximators // IEEE Transactions on Computers, vol. 43, No. 11, November 1994. – P. 1329–1333.

9.  Cordon O., Herrera F., A General study on genetic fuzzy systems // Genetic Algorithms in engineering and computer science, 1995. – P. 33–57.

10. Тарасевич, Ю.Ю. Математическое и компьютерное моделирование / Тарасевич, Ю.Ю. – М.: Едиториал УРСС, 2004. – 152 с. 

11. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И. Д. Рудинского. –М.: Горячая линия –Телеком, 2006. –452 c.