This section describes the proposed knowledge-based neural fuzzy controller (KNFC). In this KNFC, the first three inputs of the mobile robot are the distance between the obstacle and the left front, and right sensors (S1, S2, and S3, respectively). The unit of the inputs is cm. The fourth input is the angle between the front of the mobile robot and the target (θd), and the unit is degrees. The output is the velocity of the two wheels of the mobile robot. The velocities of the left and right wheels are defined as LV and RV, respectively, and the unit is cm/s. Thus, the controller has four inputs and two outputs. The KCMDE algorithm is proposed to adjust the parameters of KNFC. The proposed KCMDE algorithm adopts the concepts of the culture algorithm (CA), which is composed of three parts, namely the belief space, population space, and information exchange protocol, comprising the acceptance and influence functions. In addition, different problems exhibit distinct performance in various DE strategies. Therefore, the KCMDE algorithm is designed using the multistrategy method. The KCMDE algorithm combines the advantages of the CA and multistrategy method to adjust the parameters of the KNFC efficiently and improve global search capability.
3.2. The Proposed Knowledge-Based Cultural Multi-Strategy Differential Evolution Algorithm
To realize the KNFC, a novel evolutionary learning algorithm called the knowledge-based cultural multi-strategy differential evolution (KCMDE) algorithm is proposed. The proposed KCMDE algorithm comprises the concept of the cultural knowledge source algorithm and the probability assignment of the knowledge source according to the space of the learning period. In the cultural algorithm (CA), the knowledge source is used to lead the individual to move toward the optimal solution. In cognitive science, knowledge sources can be described by the physical meaning of animals, things, and other social activities. In this study, the knowledge source was realized using the mutation strategy of the DE algorithm. Suitable individuals can gradually drive the belief space to direct the overall feasible solution in order to search a superior solution space. Next, using the method of the learning period space, the probability of each knowledge source can be adjusted instead of the traditional probability assignment. Complete suppression of certain knowledge sources can increase the adaptability of the algorithm, thereby enabling superior results to be obtained. The flowchart of the KCMDE algorithm is shown in
Figure 4. The steps in the learning process of the KCMDE algorithm are described in the following text.
The algorithm must initialize the population space before the evolution process and achieve uniform distribution and random generation of each individual. The upper boundary and lower boundaries of each element in the individual must be predefined. Assume that x
min and x
max are the minimum and maximum boundaries of each element in each domain, respectively. The structural parameter of the KNFC is coded according to the predefined number of rules. Each individual of the population represents a KNFC. In this study, the mobile robot control problem was a four-input and two-output problem. Each input was coded into two parameters, namely m
ij and σ
ij, which represent the mean of the Gaussian membership function and the variance of the Gaussian membership function, respectively. The two outputs were coded into w
jand v
j, where w
j and v
j are the weights of the consequent part of the KNFC. The other two parameters, c
j and d
j, are the internal parameters of γ
j, where γ
j is the compensatory factor of the KNFC. The coding method [
24] is illustrated in
Figure 5.
The population of the KCMDE algorithm is generated according to the coding method. The operation of each element in each individual is depicted as follows:
where
xi,j represents the
x th elements of the
j th individual and
randi(0,1) is uniformly distributed between 0 and 1.
The initialization of the belief space is empty; however, the size of the belief space is the same as the population and gradually decreases with the evolution of the generations, whereas the number of individuals that become paragons decreases over time.
The initialization of the learning period space is empty. The learning period space is composed of successful memory and failed memory. The size of the learning period space is set according to the parameter LP (the size of the successful memory and failed memory), which is predefined by the user. In this study, the LP is set to 30. This space is responsible for recording each generation of the selected source of knowledge to improve individual performance. If the individual performance of the selected knowledge improves, the number of the selected knowledge for the successful memory increases. By contrast, the number of the selected knowledge for the failed memory increases.
Evolutionary algorithms usually rely on the performance of the individual to decide the selection progress. The larger the fitness function, the more improved are performance and fitness values. The evaluation operation is expressed as follows:
where
represents the
l th the real of the left-wheel and right-wheel speeds of the mobile robot,
represent the
l th the desired (training data) of the left-wheel and right-wheel speeds of the mobile robot, and
Nt is the size of the training data.
When the learning period space is not filled, the selection probability of each knowledge source is set as equal. Once the learning period space is filled, the selection probability of each knowledge source changes. After the learning period space is filled, the selection probability of each knowledge source is based on the roulette-wheel area. The initial roulette-wheel area is the same. Thus, selection probability is used to select the knowledge source, which is used to update the current individual. The belief space of the KCMDE algorithm has five knowledge sources, namely situational, normative, topographical, domain, and history knowledge. In this study, three knowledge sources, namely situational knowledge, topographical knowledge, and history knowledge were used. These sources are described as follows:
The best individual in the evolutionary process
is a model to lead other individuals for situational knowledge. In this study, the differential mutation strategy DE/best/1 [
16] is used, and evaluation of the initial population is necessary in initial situational knowledge. Therefore, the initial best individual is determined and stored. For situational knowledge, the mutation strategy is affected in the following way:
- 2.
Topographical knowledge
Topographical knowledge presents spatial information to build a map of the fitness landscape in the evolution process. A tree structure was used to achieve topographical knowledge. In the tree structure, the root can only have two children that represent two differential mutation strategies, namely
and
. Therefore, the influence function moves the children using DE/current-to-best/1 [
16] as follows:
where
represents the current individual,
is the best individual in the belief space, an
.
This is the best historical knowledge of the individual’s past records as an event-based memory, such as local optimal. Therefore, historical knowledge is achieved as a list to store the
w temporal on the last search. If the population diversity decreased during late evolution in this study, the best individual was used as a model to induce premature convergence. To obtain fast search but not early convergence, a new mutation strategy, namely DE/current-to-w past best [
16], was implemented to use the
wth best individual in a history list to guide the other individuals (
Figure 6). The expression for the DE/current-to-w past best mutation strategy is as follows:
where
is randomly selected as one of the
wth best individuals in the belief space.
To implement the DE operation search strategy, the KCMDE algorithm uses the crossover operation. The population after the mutation (
) and the population before the mutation (
) based on the crossover rate (
CR) was used to generate the new population (
). The operation of
is expressed as follows:
where
is the CR and defined by the user,
is the dimension number of the individual, and
is a uniform random number operator.
In survivor selection, the new individual () is evaluated using Equation (16). If the performance of the new individual () is better than that of the original individual (), the new individual () is used instead of the original individual ().
The update of the learning period space is based on whether the individual (
) of the selected knowledge source is better than the original individual (
) in the current generation. When the individual (
) of the selected knowledge source is not better than the original individual (
), the failed factor (
nfk,g) is increased. By contrast, the successful factor (
nsk,g) is increased. The number of generations (
g) is not larger than the size of the learning period space in
Table 1 and
Table 2. Until the learning period space is filled, the selection probability of each knowledge source is marginally adjusted. When the number of generations is larger than the size of the learning period space in
Table 3 and
Table 4, the earliest records stored are removed to enable new values in the current generation to be stored. When the evolution generation is increased, the selection probability of each knowledge source is adjusted.
In the aforementioned tables, LP is the size of the learning period space, strategy k is the kth knowledge source, nfk,g is the number of failed attempts in the g generation, and nsk,g is the number of successful attempts in the g generation.
When the learning period space is filled, execute step 9. Then, execute step 10.
In the KCMDE algorithm, the selection probability of each knowledge source is adjusted according to the failed factor (
nfk,g) and successful factor (
nsk,g). In the initialization of KCMDE, the selection probability of each knowledge source is set as equal. The success rate (
Sk,g) is operated by gathering the failed factor (
nfk,g) and the successful factor (
nsk,g) from 1 to
LP in the learning period space. The operation is expressed as follows:
where
k is the number of the knowledge source;
Sk,g, which enters the generation successfully based on previous
LC generation, is the success rate of the offspring individual generated by the
kth strategy; and
ε is the value that prevents the success rate from being equal to 0.
After the success rate of the knowledge source is generated, the proportion of each knowledge source is operated using Equation (16) and summarized to 1. Equation (16) represents the selected probability of each knowledge source and is expressed as follows:
where
K is the number of knowledge source,
k is the
k th knowledge source,
g is the evolution generation, and
pk,g is the selected probability of each knowledge source.
The belief space of the KCMDE algorithm is a space that stores the experience of the paragon individual. Irrespective of whether the individual becomes a paragon, the adjustment of the belief space is influenced. The evaluation method of acceptance is designed. The evaluation method of acceptance is responsible for evaluating which individual becomes a paragon and adjusts the belief space. The elite selection mechanism [
22] is used, and the specific proportion of population in which the individual has superior fitness is selected to become the paragon. The proportion gradually decreases when the number of evolution generations increases. The operation is expressed as follows:
where
n% is predefined by the user and represents the proportion of acceptance,
I is the number of the population, and
t is the number of the current generation.