Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Many systems require the automation of decision making and control processes for the efficient functioning of complex coupled objects in the presence of uncertainty. Such systems include mobile robots, marine objects, economic enterprises, and others. These systems include a sparsity of information, and a corresponding need for methods to decrease the degree and impact of uncertainty. Factors that impact uncertainty are: (a) non-stationary disturbances with characteristics that are not possible to measure in real time; (b) difficulties in creating accurate mathematical models; (c) human factors and the subjectivity of human evaluations and decisions.

One popular approach to the design of efficient control and decision-making systems in uncertain environments is fuzzy sets and fuzzy logic, first suggested by L. A. Zadeh [29] as a control method based on linguistic rules. Fuzzy logic allows the formation of linguistic models of processes and control methods based on human experts. New applications of fuzzy sets and fuzzy logic often require new theoretical investigations, new approaches for the optimisation of fuzzy systems, and new design methods for the hardware realisation of fuzzy systems, all while taking into account requirements related to embedded systems and real-time decision making.

2 Related Works and Problem Statement

Many examples of fuzzy systems (FS) applications are given in the literature [2, 7, 15]: control of asynchronous, direct current, and thermoacoustic drives, vehicles, ships, ecopyrogenesis plants, intelligent robots; decision making in uncertainty, including route planning in transport logistics and intelligent robotics; and many others.

Approaches to the optimization of designing fuzzy controllers (FC) are considered in [2, 8, 14], especially for the optimization of membership function (MF) parameters of linguistic terms (LT) [8, 18, 25], weights of fuzzy rules [18], selection of defuzzification methods [17, 18], etc. Special attention is paid to fuzzy rule base reduction [5, 17] based on rule base interpolation [6], supervised fuzzy clustering [19], combining rule antecedents [5], linguistic 3-tuple representation [1], orthogonal transforms [20], multi-objective optimization [3], and evolutionary algorithms [16, 26]. Publications [4, 15, 27, 30] show that researchers continue to develop approaches for structural and parametric optimization (SPO). Recent research deals with applications of FS, design requirements, increasing levels of uncertainty (incomplete input data, random disturbances, and unknown parameters), etc. Choosing specific methods for FS SPO is in most cases based on the analysis of comparative modeling results and the designer’s experience.

The aim of this paper is to provide an overview of some of the proposed methods of FS structural and parametric optimization and their abilities for increasing the efficiency of real-time control and decision making processes.

3 Optimization of Fuzzy Systems

3.1 Structural Optimization of Fuzzy Systems

Structural optimization should be applied at different stages of the design of a fuzzy logic system [8]:

  • selection of the type of fuzzy inference engine (Mamdani, Takagi-Sugeno, modifications, etc.);

  • selection of the most informative inputs; for example, the type of FC (PI, PD, PID, etc.) depends on the input signals: error, integral, derivative, specific measured disturbances, etc.;

  • selection of MF the number K and H of LTs \(L_{{x_{i} }} = \left\{ {L_{{x_{i} }}^{1} \ldots L_{{x_{i} }}^{K} } \right\}\) for input signals \(x_{i} \left( {i = 1 \ldots m} \right)\), and LTs \(L_{G} = \left\{ {L_{G}^{1} \ldots L_{G}^{H} } \right\}\) for output signals G, where K and H affect the flexibility and memory of the FS, as well as the computation time during fuzzy information processing;

  • optimization and reduction of the rules number in rule base \(\left\{ {R_{1} \left( {\nu_{1} } \right) \ldots R_{R} \left( {\nu_{R} } \right)} \right\}\) and the weights \(\nu_{j} \left( {\nu_{j} \in \left[ {0,1} \right]} \right);\) for example, if \(m = 2,\) then the j-th rule \(R_{j} \left( {\nu_{j} } \right),\left( {j \in \left[ {1,R} \right]} \right)\) can be written as

$${\mathbf{IF}}\,\left( {x_{1} = L} \right)\,{\mathbf{AND}}\,\left( {x_{2} = H} \right)\,{\mathbf{THEN}}\,\left( {G_{j} = LM,} \right)$$
(1)

where \(L,H,LM\) are “Low”, “High”, and “Low-Medium”;

  • selection of fuzzy processing algorithms for aggregation, accumulation, and defuzzification; for example: (a) the AND operator can be realized by t-norm operators or by parameterized mean operators [17]; (b) the OR operator can be realized by the parameterized union mean operator, algebraic sum operator, arithmetic sum operator, or by s-norm operators [17]; (c) different methods [17, 18] can be used for defuzzification \(G^{*} = Defuz\left( {\mu_{res} \left( {\mathop{G}\limits_{\sim} } \right)} \right)\) of the fuzzy set \(\mu_{res} \left( {\mathop{G}\limits_{\sim} } \right) = \mathop {\sup }\limits_{{G \in R^{ + } }} \left\{ {\mu_{{L_{G}^{1} }} \left( {{\mathop{G}\limits_{\sim}} } \right) \ldots \mu_{{L_{G}^{H} }} \left( {{\mathop{G}\limits_{\sim}} } \right)} \right\}.\)

All the above-mentioned structural types, algorithms, operators, and analytic models are candidates for structural optimization in fuzzy control and decision-making systems.

3.2 Parametric Optimization of Fuzzy Systems

Structural and parametric FS optimization can be done on the basis of minimization of the RMS criterion, for example,

$$J\left( {\varepsilon ,\bar{B},\bar{\nu }} \right) = \left( {\sum\limits_{i = 0}^{{N_{\hbox{max} } - 1}} {\left( {\varepsilon \left[ i \right]} \right)^{2} } } \right)/T_{\hbox{max} } ,$$
(2)

where \(\varepsilon \left[ i \right]\) is the error of the control system at time \(t_{i} ,t_{i} = i \cdot \Delta t,\left( {i = 0 \ldots N_{\hbox{max} } } \right);T_{\hbox{max} } = \Delta t \cdot N_{\hbox{max} } ;\bar{B}\) is a matrix of LT parameters; and \(\bar{v}\) is a vector of rule weights. Objective (2) can be used for evaluation of FS under the different kinds of non-stationary disturbances and different system parameters to achieve robustness. Some FS parameters that can be optimized task include the following.

  1. (a)

    MF parameters of LTs \(L_{{x_{i} }} = \left\{ {L_{{x_{i} }}^{1} \ldots L_{{x_{i} }}^{K} } \right\}\) for FS inputs [21, 23, 24] (triangular (3), trapezoidal, Gaussian, polynomial, or harmonic [17]). For example, three parameters \(\left( {b^{ - } ,{\kern 1pt} c,{\kern 1pt} b^{ + } } \right)\) are optimized (Fig. 1) for triangular LTs \(\left( {c - b^{ - } ,c,c + b^{ + } } \right)\) [7, 17]:

    Fig. 1
    figure 1

    Fuzzy numbers: 1—triangular \({{\mathop{C}\limits_{\sim}} } = (c - b^{ - } ,c,c + b^{ + } );\) 2,3—bell-shape from Eq. (4) with various parameters of MFs

$$\mu_{{\mathop{A}\limits_{\sim}}} \left( x \right) = \left\{ {\begin{array}{*{20}l} {0,\forall \left( {x \le c - b^{ - } } \right)} \hfill & { \cup \left( {x \ge c + b^{ + } } \right)} \hfill \\ {\left( {x - c + b^{ - } } \right)/\left( {b^{ - } } \right),} \hfill & {\forall \left( {c - b^{ - } < x \le c} \right)} \hfill \\ {\left( {c + b^{ + } - x} \right)/\left( {b^{ + } } \right),} \hfill & {\forall \left( {c < x < c + b^{ + } } \right)} \hfill \\ \end{array} } \right.$$
(3)

Two parameters \(\left( {b,c} \right)\) are optimized for bell-shaped LTs [18]:

$$\mu_{{\mathop{A}\limits_{\sim}}} \left( x \right) = 1/\left( {1 + \left( {\left( {x - b} \right)/c} \right)^{2} } \right)$$
(4)
  1. (b)

    MF parameters of LTs \(L_{G} = \left\{ {L_{G}^{1} \ldots L_{G}^{H} } \right\}\) for FS outputs G (for Mamdani-type FS) and parameters \(\bar{K}^{j} = \left( {k_{P}^{j} ,k_{I}^{j} ,k_{D}^{j} } \right)\) of consequents \(G_{j} \left( {x_{1} ,x_{2} ,x_{3} ,\bar{K}^{j} } \right),{\kern 1pt} {\kern 1pt} j \in \left[ {1 \ldots R} \right]\) (Takagi-Sugeno FS). For example, the contribution \(G_{j}\) of rule \(R_{j}\) to output signal \(G^{*}\) of a fuzzy PID controller [8] can be presented as:

$$G_{j} \left( {x_{1} ,x_{2} ,x_{3} ,\bar{K}^{j} } \right) = k_{P}^{j} x_{1} + k_{I}^{j} x_{2} + k_{D}^{j} x_{3}$$
(5)
  1. (c)

    Weight coefficients \(\nu_{j}\) of the fuzzy rules \(R_{j}\) [17, 18].

4 Hierarchical Systems and Incomplete Input Data

4.1 Rational Selection of the Hierarchical Structure

For multi-input FS it is appropriate to use a hierarchical structure, where the output of a subsystem is supplied to the input of another subsystem. Such a hierarchical approach allows reduction of the size of the FS rule base and an increase in the sensitivity to the input variables [9, 17]. The design process for a hierarchical FS depends on the selection of its structure (grouping, number of hierarchical levels, etc.).

Let us detail the main steps of the selection of the structure.

  • Step 1. Synthesis of the set \(\bar{D}\) of alternative variants \(D_{i} ,\left( {i = 1 \ldots n} \right)\) for different groupings of input signals \(x_{j} ,\left( {j = 1 \ldots m} \right):\)

$$\bar{D} = \left\{ {D_{1} ,D_{2} , \ldots ,D_{i} , \ldots ,D_{n} } \right\}$$
(6)

For example, for a fuzzy system with 9 input signals (Fig. 2a) the set \(\bar{D}\) of alternatives can be presented as \(\bar{D} = \left\{ {D_{1} ,D_{2} ,D_{3} } \right\},\) where

Fig. 2
figure 2

FS structures with nine input signals. a Single-level FS; b hierarchical FS

$$D_{1} = \left( {\left\{ {x_{1} ,x_{2} ,x_{3} } \right\},\left\{ {x_{4} ,x_{5} ,x_{6} } \right\},\left\{ {x_{7} ,x_{8} ,x_{9} } \right\}} \right)$$
(7)
$$D_{2} = \left( {\left\{ {x_{1} ,x_{2} } \right\},\left\{ {x_{3} ,x_{4} ,x_{5} } \right\},\left\{ {x_{6} ,x_{7} ,x_{8} ,x_{9} } \right\}} \right)$$
(8)
$$D_{3} = \left( {\left\{ {x_{1} ,x_{2} ,x_{3} ,x_{4} } \right\},\left\{ {x_{5} ,x_{6} ,x_{7} ,x_{8} } \right\},\left\{ {x_{9} } \right\}} \right)$$
(9)
  • Step 2. Synthesis of the set \(\bar{S}t\) of alternative structures \(St_{i} \left( {D_{i} } \right),\left( {i = 1 \ldots n} \right)\) of the hierarchical FS based on (6):

$$\bar{S}t = \left\{ {St_{1} \left( {D_{1} } \right),St_{2} \left( {D_{2} } \right), \ldots ,St_{i} \left( {D_{i} } \right), \ldots ,St_{n} \left( {D_{n} } \right)} \right\}$$
(10)

For example, three different structures of a hierarchical FS, based on (7), (8), and (9), are presented in Figs. 2b and 3.

Fig. 3
figure 3

Alternative structures of hierarchical fuzzy systems: a \(St_{2} \left( {D_{2} } \right)\) based on (8); b \(St_{3} \left( {D_{3} } \right)\) based on (9)

  • Step 3. Evaluation of each alternative structure \(St_{i} \left( {D_{i} } \right)\) using some suitable criterion \(K\left( {St_{i} } \right),i = \left\{ {1, \ldots ,n} \right\},\) which quantifies the goodness of the FS output signals (accuracy, response time, etc.). For example, the structure of an FS for gait intent recognition during human ambulation can be evaluated by the number of correctly classified cases \(K\left( {St_{i} } \right)\).

  • Step 4. The selection of the optimal configuration \(St_{opt}\) of a fuzzy system by solving the optimization problem

$$St_{opt} = Arg\mathop {Max}\limits_{{St_{i} }} K\left( {St_{i} } \right),\left( {i = 1 \ldots n} \right).$$
(11)

Figure 4a presents the hierarchical structure of an FS for transport logistics [12] and Fig. 4b presents a FS for model-oriented support of university / IT-company cooperation [9], with 19 and 27 inputs, respectively.

Fig. 4
figure 4

Hierarchical structures of FSs for a transport logistics and b “university-IT-company” cooperation

The hierarchical FS of Fig. 4b with discrete outputs (seven alternative models) consists of 11 subsystems:

$$St_{s} = \left\{ {\begin{array}{*{20}l} {y_{1} = f_{1} \left( {x_{1} ,x_{2} ,x_{3} } \right),y_{2} = f_{2} \left( {x_{4} ,x_{5} ,x_{6} ,x_{7} } \right),} \hfill \\ {y_{3} = f_{3} \left( {x_{8} , \ldots ,x_{13} } \right),y_{4} = f_{4} \left( {x_{14} , \ldots ,x_{17} } \right),} \hfill \\ {y_{5} = f_{5} \left( {x_{6} ,x_{18} ,x_{19} } \right),y_{6} = f_{6} \left( {x_{18} , \ldots ,x_{23} } \right),} \hfill \\ {y_{7} = f_{7} \left( {x_{24} ,x_{25} ,x_{26} ,x_{27} } \right),y_{8} = f_{8} \left( {y_{1} ,y_{2} } \right),} \hfill \\ {y_{9} = f_{9} \left( {y_{3} ,y_{4} } \right),y_{10} = f_{10} \left( {y_{5} ,y_{6} } \right),} \hfill \\ {y = f_{11} \left( {y_{7} ,y_{8} ,y_{9} ,y_{10} } \right)} \hfill \\ \end{array} } \right\}.$$
(12)

4.2 Fuzzy System Reconfiguration with Incomplete Data

FS reconfiguration is required in the case of incomplete input data [11]. In some cases some input data may not be important according to human judgment. Suppose r is the set of informative inputs, and NI is the set of uninformative or uninteresting inputs. For example, if an FS operates with 16 inputs \(\left( {N = 16} \right)\), but we have data on only 11 input signals \(\left( {N_{r} = 11} \right)\), we exclude the other 5 inputs \(\left( {N_{NI} = 5} \right)\), so \(N_{r} + N_{NI} = N,\) and the dimension of the FS input vector decreases from 16 to 11. The FS rule base can be reconfigured [11] according to the following steps for a Mamdani-type FS.

  • Step 1. Automatic exclusion of all input variables \(x_{i} \in NI,i \in \left\{ {1,2, \ldots ,N} \right\}\) from the antecedents of all FS rules.

  • Step 2. Determination of the input dimension \(N_{r}\) for the newly-reconfigured antecedents: \(N_{r} = N - N_{NI}\).

  • Step 3. Calculation of \(Quant_{j}\) for each fuzzy rule:

$$Quant_{j} = \sum\limits_{k = 1}^{{N_{r} }} {eval\left( {ILT_{jk} } \right)} ,$$
(13)

where \(eval\left( {ILT_{jk} } \right)\) corresponds to the number of input linguistic terms \(ILT_{jk}\) for the k-th input signal \(x_{k}\) (Fig. 5) of the j-th fuzzy rule; \(eval\left( {ILT_{jk} } \right) \in \left\{ {1,2, \ldots ,N_{{LT_{k} }} } \right\}\). For example, if \(ILT_{jk} \in \left\{ {L,M,H} \right\},\) then \(N_{{LT_{k} }} = 3\) and \(eval\left( L \right) = 1;\,eval\left( M \right) = 2;\,eval\left( H \right) = 3\).

Fig. 5
figure 5

An algorithm for reconfiguration of a fuzzy rule base

  • Step 4. Calculation of \(Div\) (Fig. 5):

$$Div = Quant_{j} /N_{r} = U_{out} \left( {\sum 2 } \right)/U_{out} \left( {\sum 1 } \right)$$
(14)

which determines the new output linguistic term \(OLT_{j}\) in the consequent of the j-th rule. For example, if (as in Fig. 5) \(OLT_{j} \in \left\{ {L,LM,M,MH,H} \right\}\) and \(Div \subset \left\{ {Int_{1} ,Int_{2} , \ldots ,Int_{5} } \right\},\) then \(OLT_{j} = L,\,{\text{if }}Div \subset Int_{1} ;\) …;\(OLT_{j} = H,\,{\text{if }}Div \subset Int_{5} ,\) where \(Int_{1} = [0,1.5);\;Int_{2} = [1.5,2.0);\;Int_{3} = [2.0,2.5);\) \(Int_{4} = [2.5,3.0);\, \, Int_{5} = [3.0,4.0]\).

The application of the proposed method to the reconfiguration of an FS for transport logistics with various numbers of input signals confirms its effectiveness [11, 12].

5 Fuzzy Rule Base Reduction

5.1 Rule Base Reduction via Singular Value Decomposition

The reduction of the size of a fuzzy rule base via singular value decomposition (SVD) [28] is an efficient method of FS optimization. One of its successful implementations is rule base reduction of a fuzzy filter for the estimation of motor currents [23]. For a FS with a single output r and two inputs \(\left( {a,b} \right)\) with a corresponding number of LTs \(n_{a} ,n_{b} ,\) the fuzzy rule base can be described using the following rules:

$$IF\,f_{i1} \left( a \right)\;AND \, f_{j2} \left( b \right),\;THEN \, r_{ij} ,\,\left( {i = 1 \ldots n_{a} ;j = 1 \ldots n_{b} } \right)$$
(15)

which can be represented with the \(\left( {n_{a} \times n_{b} } \right)\) matrix

$$R = \left[ {\begin{array}{*{20}l} {r_{11} } \hfill & {r_{12} } \hfill & \ldots \hfill & {r_{{1n_{b} }} } \hfill \\ {r_{21} } \hfill & {r_{22} } \hfill & \ldots \hfill & {r_{{2n_{b} }} } \hfill \\ . \hfill & . \hfill & \ldots \hfill & . \hfill \\ {r_{{n_{a} 1}} } \hfill & {r_{{n_{a} 2}} } \hfill & \ldots \hfill & {r_{{n_{a} n_{b} }} } \hfill \\ \end{array} } \right].$$
(16)

The SVD of R can be represented as

$$R = U{\kern 1pt} \varSigma V^{T} ,$$
(17)

where U is \(n_{a} \times n_{a} ,\) Vis \(n_{b} \times n_{b}\) and the singular values in \(\varSigma\) indicate the relative importance of the corresponding columns in U and V in the decomposition of R [22]. Initially seven LTs are used for two inputs \(\left( {f_{i1} \left( a \right) ,{\kern 1pt} \, f_{j2} \left( b \right)} \right)\) and one output signal, so \(n_{a} = n_{b} = 7\) in the fuzzy filter [23]. The initial rule base with 49 fuzzy rules is reduced to 9 fuzzy rules after the implementation of SVD. The reduced MFs for the first input a, the second input b, and the output are presented in Fig. 6.

Fig. 6
figure 6

Reduced MFs for input \(a\) (a), input \(b\) (b), and output (c)

5.2 Rule Base Reduction Based on the Evaluation of Each Rule Contribution

Reduction based on the evaluation of each rule contribution to the FS output signal is proposed [10] for the optimization of the rule base of a Sugeno-type PID FC with 27 initial fuzzy rules (Fig. 7). The minimal number of rules can be determined to maintain control quality within acceptable limits.

Fig. 7
figure 7

Evaluation of fuzzy rule contributions \(\mu \left( t \right)\): a rules 13, 14, 19, 22—\(\mu \left( t \right) \in \left[ {0.1,1} \right]\) (large contribution); b rules 9, 15, 25, 26—\(\mu \left( t \right) \in \left[ {0,0.00027} \right]\) (small contribution)

6 Parametric Optimization of Linguistic and Analytical Components in Fuzzy Rule Base Design

6.1 Gradient Descent Based on Sum Normal Constraints

One of the most popular methods for FS parameter optimization is gradient descent (GD) [18, 24]. The following iterative procedure can be used for optimization of the three parameters as \(c,b^{ - }\) and \(b^{ + }\) of a triangular MF:

$$c\left( {k + 1} \right) = c\left( k \right) - \eta \left. {\frac{\partial E}{\partial c}} \right|_{c\left( k \right)} ,$$
(18)
$$b^{ - } \left( {k + 1} \right) = b^{ - } \left( k \right) - \eta \left. {\frac{{\partial E}}{{\partial b^{ - } }}} \right|_{{b^{ - } \left( k \right)}}$$
(19)
$$b^{ + } \left( {k + 1} \right) = b^{ + } \left( k \right) - \eta \left. {\frac{\partial E}{{\partial b^{ + } }}} \right|_{{b^{ + } \left( k \right)}} ,$$
(20)

where k is the iteration number, E is the FS output error function, and \(\eta\) is a gradient descent step size. E can be formed as

$$E = \left( {\sum\limits_{n = 1}^{N} {g_{n} \left( {y_{n} - \hat{y}_{n} } \right)^{2} } } \right)/2N,$$
(21)

where \(y_{n} ,\hat{y}_{n}\) are the target and actual outputs of the FS; \(g_{n}\) is a time-dependent weighting function depending on user preference; and N is the number of training samples. Various methods can be used with gradient descent for avoiding local minima. One problem that arises with this method is that the family of optimized MFs are not sum normal; that is, the resulting MF values do not add up to 1 at each point in the FS domain. In [24] the author proposes to use gradient descent with additional constraints to enforce sum normality:

$$c_{1} + b_{1}^{ + } = c_{1} + b_{2}^{ - } = c_{2} ; \, c_{2} + b_{2}^{ + } = c_{2} + b_{3}^{ - } = c_{3} ;\, \ldots ;$$
(22)
$$c_{v - 1} + b_{v - 1}^{ + } = c_{v - 1} + b_{v}^{ - } = c_{v}$$
(23)

where v is the number of LTs. This approach provides sum normal parametric optimization of triangular MFs for corresponding input and output LTs:

$$\left\{ {\left( {c_{1} - b_{1}^{ - } ,c_{1} ,c + b_{1}^{ + } } \right), \ldots ,\left( {c_{i} - b_{i}^{ - } ,c_{i} ,c_{i} + b_{i}^{ + } } \right), \ldots } \right\}$$
(24)

6.2 Kalman Filtering for Parametric MF Optimization

The parameter optimization problem can be formulated as a nonlinear filtering problem which can be solved using a Kalman filter (KF) or an \({\text{H}}_{\infty }\) filter (HiF). The nonlinear system model to which the filter can be applied is:

$$\begin{aligned} {\mathbf{x}}_{n + 1} & = {\mathbf{f}}\left( {{\mathbf{x}}_{n} } \right) + {\mathbf{w}}_{n} \\ {\mathbf{d}}_{n} & = {\mathbf{h}}\left( {{\mathbf{x}}_{n} } \right) + {\mathbf{v}}_{n} , \\ \end{aligned}$$
(25)

where \({\mathbf{d}}_{n}\) is the observation vector; \({\mathbf{f}}\left( {{\mathbf{x}}_{n} } \right),{\mathbf{h}}_{n} \left( {{\mathbf{x}}_{n} } \right)\) are non-linear vector functions of the state \({\mathbf{x}}_{n}\) at time step n; \({\mathbf{w}}_{n} ,{\mathbf{v}}_{n}\) are artificially added noise processes. The use of a state estimator for optimization of triangular MFs requires the formation of the state vector x, which consists of all MF parameters arranged in a column vector:

$$\begin{array}{*{20}l} {{\mathbf{x}} = } \hfill & {\text{[}b_{11}^{ - } \,b_{11}^{ + } \, \,c_{11} \,b_{21}^{ - } \, \, b_{21}^{ + } \, \, c_{21} \,} \hfill & \ldots \hfill & {b_{{v_{1} 1}}^{ - } \,b_{{v_{1} 1}}^{ + } \,c_{{v_{1} 1}} \, \ldots } \hfill \\ {} \hfill & {b_{1r}^{ - } \,b_{1r}^{ + } \,c_{1r} \,b_{2r}^{ - } \,b_{2r}^{ + } \,c_{2r} } \hfill & \ldots \hfill & {b_{{v_{r} r}}^{ - } \,b_{{v_{r} r}}^{ + } \,c_{{v_{r} r}} } \hfill \\ {} \hfill & {b_{10}^{ - } \,b_{10}^{ + } \,c_{10} \,b_{20}^{ - } \,b_{20}^{ + } \,c_{20} } \hfill & \ldots \hfill & {b_{{v_{0} 0}}^{ - } \,b_{{v_{0} 0}}^{ + } \,c_{{v_{0} 0}} ]^{T} ,} \hfill \\ \end{array}$$
(26)

where \(b_{ij}^{ - } ,\,b_{ij}^{ + } ,\,c_{ij}\) are the parameters of the i-th triangular LT for the j-th input, \((i = 1 \ldots v_{j} ;j = 1 \ldots r);\) and \(b_{i0}^{ - } ,\,b_{i0}^{ + } ,\,c_{i0}\) are the output LT parameters \(\left( {i = 1 \ldots v_{0} ;j = 0} \right)\). The estimate \({\hat{\mathbf{x}}}_{n}\) can be obtained using the extended Kalman filter [21, 22]:

$$\begin{aligned} F_{n} & = \left. {\frac{{\partial {\mathbf{f}}\left( x \right)}}{{\partial {\mathbf{x}}}}} \right|_{{{\mathbf{x}} = {\mathbf{x}}_{n} }} ,\,H_{n} = \left. {\frac{{\partial {\mathbf{h}}\left( x \right)}}{{\partial {\mathbf{x}}}}} \right|_{{{\mathbf{x}} = {\mathbf{x}}_{n} }} , \\ K_{n} & = P_{n} H_{n}^{T} \left( {R + H_{n} P_{n} H_{n}^{T} } \right)^{ - 1} , \\ \end{aligned}$$
$$\begin{aligned} {\hat{\mathbf{x}}}_{n} & = {\mathbf{f}}\left( {{\hat{\mathbf{x}}}_{n - 1} } \right) + K_{n} \left[ {{\mathbf{d}}_{n - 1} - {\mathbf{h}}\left( {{\hat{\mathbf{x}}}_{n - 1} } \right)} \right], \\ P_{n + 1} & = F_{n} \left( {P_{n} - K_{n} H_{n} P_{n} } \right)F_{n}^{T} + Q, \\ \end{aligned}$$
(27)

where \(F_{n}\) is the identity matrix; \(H_{n}\) is the partial derivative of the fuzzy output with respect to the MF parameters; \(K_{n}\) is the Kalman gain; and \(Q,R\) are the covariance matrices of \(\left\{ {{\mathbf{w}}_{n} } \right\}\) and \(\left\{ {{\mathbf{v}}_{n} } \right\},\) respectively. Comparative results of the parametric optimization for a fuzzy automotive cruise control [21, 24] are presented in Fig. 8 for unconstrained and sum normal (constrained) cases.

Fig. 8
figure 8

MF optimization: a gradient descent and Kalman filter optimization (1—unconstrained KF, 2—constrained KF, 3—unconstrained GD, 4—constrained GD); b FC transients for the target speed 40 m/s (1—default FC, 2—GD, 3—KF)

6.3 Parametric Optimization Based on \(H_{\infty }\) estimation

If we consider a two-input, one-output fuzzy system, then the nonlinear model to which the \({\text{H}}_{\infty }\) filter can be applied is

$$\begin{aligned} {\mathbf{x}}_{n + 1} & = {\mathbf{x}}_{n} + B{\mathbf{w}}_{n} + \delta_{n} \\ {\mathbf{d}}_{n} & = {\mathbf{h}}\left( {{\mathbf{x}}_{n} } \right) + {\mathbf{v}}_{n} , \\ \end{aligned}$$
(28)

where B is a tuning parameter which is proportional to the magnitude of the artificial noise process; and \(\delta_{n}\) is an arbitrary noise sequence. The augmented noise vector \({\mathbf{e}}_{n}\) and the estimation error \({\tilde{\mathbf{x}}}_{n}\) can be defined [25] as

$${\mathbf{e}}_{n} {\mathbf{ = }}\left[ {{\mathbf{w}}_{n}^{\text{T}} \,{\mathbf{v}}_{n}^{\text{T}} } \right]^{\text{T}} {\mathbf{,}}\;{\tilde{\mathbf{x}}}_{n} = {\mathbf{x}}_{n} - \,{\hat{\mathbf{x}}}_{n} .$$
(29)

An \({\text{H}}_{\infty }\) filter for optimization of MF parameters (26) \({\hat{\mathbf{x}}}_{n}\) satisfies the condition

$$\left\| {G_{{{\tilde{\mathbf{x}}\mathbf{e}}}} } \right\|_{\infty } < \gamma ,$$
(30)

which is the infinity norm of the transfer function from the augmented noise vector e to the estimation error \({\tilde{\mathbf{x}}},\) which is bounded by a user-specified value \(\gamma\). The desired estimate \({\hat{\mathbf{x}}}_{n}\) can be obtained [25] with an \({\text{H}}_{\infty }\) estimator:

$$F_{n} = \left. {\frac{{\partial {\mathbf{f}}\left( x \right)}}{{\partial {\mathbf{x}}}}} \right|_{{{\mathbf{x}} = {\mathbf{x}}_{n} }} ,\;H_{n} = \left. {\frac{{\partial {\mathbf{h}}\left( x \right)}}{{\partial {\mathbf{x}}}}} \right|_{{{\mathbf{x}} = {\mathbf{x}}_{n} }} ,\;Q_{0} = E\left( {{\mathbf{x}}_{0} {\mathbf{x}}_{0}^{\text{T}} } \right),$$
$$\begin{aligned} & Q_{n} \left( {I - H^{\text{T}} HP_{n} } \right) = \left( {I - Q_{n} /\gamma^{2} } \right)P_{n} , \\ & Q_{n + 1} = FP_{n} F^{\text{T}} + BB^{\text{T}} ,K_{n} = FP_{n} H^{\text{T}} , \\ \end{aligned}$$
$${\hat{\mathbf{x}}}_{n + 1} = F{\hat{\mathbf{x}}}_{n} + K_{n} \left[ {{\mathbf{d}}_{n - 1} - H\left( {{\hat{\mathbf{x}}}_{n - 1} } \right)} \right],$$
(31)

with the assumption that \(\left\{ {Q_{n} } \right\}\) and \(\left\{ {P_{n} } \right\}\) are nonsingular matrices. Comparative results for the optimization of MF parameters of a fuzzy automotive cruise control system [21, 25], using \({\text{H}}_{\infty }\) and Kalman filters are presented in Fig. 9 for both unconstrained and constrained (sum normal) cases.

Fig. 9
figure 9

MF optimization: a state estimation processes (1—unconstrained KF, 2—constrained KF, 3—unconstrained HiF, 4—constrained HiF) and b control transients (1—default FC, 2—KF, 3—HiF)

6.4 The Envelope Curve of Instantaneous MF Values

Analyzing (for desired transients of a control system) the instantaneous values of MF grades \(\mu_{i} \left( {{\mathbf{X}}\left( t \right)} \right),\left( {i = 1 \ldots R} \right)\) at the consequents of all FC rules makes it is possible to build a corresponding envelope curve (Fig. 10a). If the vector of instantaneous inputs is \({\mathbf{X}}\left( t \right) = \left\{ {x_{1}^{*} \left( t \right),x_{2}^{*} \left( t \right), \ldots ,x_{n}^{*} \left( t \right)} \right\},\) then the envelope curve characterizes the instantaneous maximal value of the MF grade \(\mu_{max} \left( {{\mathbf{X}}\left( t \right)} \right)\) at time t. Figure 10a shows that in some cases this maximal value \(\mu_{max} \left( {{\mathbf{X}}\left( t \right)} \right) < 1,\) but in some cases, for example, for time-intervals \(t \in \left[ {t_{1} ,t_{2} } \right]\) and \(t \in \left[ {t_{3} ,t_{4} } \right],\) this value does not exceed 0.5. We introduce the criterion \(C\left( {\mathbf{K}} \right)\) for solving the MF parameter optimization problem [13] (Fig. 10b):

Fig. 10
figure 10

a The envelope curve; and b \(C\left( {\mathbf{K}} \right)\) from Eq. (32)

$$C\left( {\mathbf{K}} \right) = \frac{1}{T}\int\limits_{0}^{T} {\left[ {1 - \frac{{\mu_{av} \left( {{\mathbf{X}}\left( t \right)} \right)}}{{\mu_{max} \left( {{\mathbf{X}}\left( t \right)} \right)}}} \right]} \,dt,$$
(32)

where \(\mu_{max} \left( {{\mathbf{X}}\left( t \right)} \right) = \mathop {\sup }\limits_{i = 1}^{m} \left[ {\mu_{i} \left( {{\mathbf{X}}\left( t \right)} \right)} \right]\) is the maximal value of the MF grade for all fuzzy rules; \(\mu_{av} \left( {{\mathbf{X}}\left( t \right)} \right) = \left( {\sum\nolimits_{i = 1}^{m} {\left[ {\mu_{i} \left( {{\mathbf{X}}\left( t \right)} \right)} \right]} } \right)/m\) is the average value of \(\mu_{i} \left( {{\mathbf{X}}\left( t \right)} \right);\) and K is a vector of optimized MF parameters. If we maximize the criterion \(\text{MAX} C\left( {\mathbf{K}} \right)\) we can achieve \(\mu_{\lim } < \mu_{max} \left( {{\mathbf{X}}\left( t \right)} \right) \le 1\) and \(\mu_{max} \left( {{\mathbf{X}}\left( t \right)} \right) \gg \mu_{av} \left( {{\mathbf{X}}\left( t \right)} \right),\) where \(\mu_{\lim }\) is the minimum acceptable value.

7 Conclusion

Various solutions to decrease memory and computational time requirements in FS require new optimisation methods at all stages of the design processes. The SPO methods discussed in this paper can be recommended for the design of fuzzy control and decision-making systems, in particular for ship docking, mobile robotics, transport logistics, etc. The authors’ experience in fuzzy logic as well as numerous simulation and experimental results confirm the effectiveness of the proposed methods, algorithms, and approaches. In the future we plan to apply FS multi-objective optimization based on the combination of these methods and evolutionary algorithms.