• 沒有找到結果。

Chapter 2 Foundations

2.4 Evolution Learning

2.4.3 Symbiotic Evolution

In this section, an approach of cooperative coevolution is introduced. Therefore, the symbiotic evolution is discussed. The idea of symbiotic evolution was first proposed in an implicit fitness sharing algorithm that was used in an immune system model ([97]). The authors developed artificial antibodies to identify artificial antigens. Because each antibody can match only one antigen, a different population of antibodies was required to effectively defend against a variety of antigens.

Unlike traditional GAs that use each individual in a population as a full solution to a problem, symbiotic evolution assumes that each individual in a population represents only a partial solution to a problem; complete solutions combine several individuals in the population. In a normal evolution algorithm, a single individual is responsible for the overall performance, with a fitness value assigned to that individual according to its performance. In symbiotic evolution, the fitness of an individual (a partial solution) is calculated by summing up the fitness values of all possible combinations of that individual with other current individuals (partial solutions) and dividing the sum by the total number of combinations.

As shown in [29], [31], [44], and [95]-[96], partial solutions can be characterized as specializations. The specialization property ensures diversity, which prevents a population from converging to suboptimal solutions. A single partial solution cannot “take over” a population since there must be other specializations present. Unlike the standard evolutionary approach, which always causes a given population to converge, hopefully at the global optimum, but often at a local one, the symbiotic evolution finds solutions in different, unconverted populations ([29], [31], [44], and [95]-[96]).

The basic idea of symbiotic evolution is that an individual (i.e., a chromosome) is used to represent a partial solution. A complete solution is formed when several individuals, overall performance, with a fitness value assigned

performance. In symbiotic evolution, the fitness of calculated by summing up the fitness values of all performance. In symbiotic evolution, the fitness of performance. In symbiotic evolution, the fitness of performance. In symbiotic evolution, the fitness of overall performance, with a fitness value assigned overall performance, with a fitness value assigned performance. In symbiotic evolution, the fitness of calculated by summing up the fitness values of all performance. In symbiotic evolution, the fitness of calculated by summing up the fitness values of all performance. In symbiotic evolution, the fitness of performance. In symbiotic evolution, the fitness of overall performance, with a fitness value assigned overall performance, with a fitness value assigned overall performance, with a fitness value assigned

calculated by summing up the fitness values of all calculated by summing up the fitness values of all

which are randomly selected from a population, are combined. With the fitness assignment performed by symbiotic evolution, and with the local property of a fuzzy rule, symbiotic evolution and the fuzzy system design can complement each other. If a normal GA evolution scheme is adopted, only the overall performance of the complete solution is known, not the performance of each partial solution. The best method to replace the unsuitable partial solutions that degrade the overall performance of a fuzzy system is to use crossover operations, followed by observing the performance of the offspring.

The structure of the symbiotic evolution is shown in Fig. 2.7, where N is the number of complete solutions the symbiotic evolution will select individuals to form. The complete solution is constructed by selecting the individuals from a population. The learning flowchart is shown in Fig. 2.8, where Nc is the size of population, and G denotes Gth generation. Compare with genetic algorithm, the difference of symbiotic evolution is selecting individuals to form a complete solution (selection step) and to evaluate the performance of each individual (fitness assignments step).

Figure 2.7: Structure of a chromosome in a symbiotic evolution.

generation. Compare with genetic algorithm, the dif selecting individuals to form a complete solution ( performance of each individual (fitness assignments selecting individuals to form a complete solution ( selecting individuals to form a complete solution ( generation. Compare with genetic algorithm, the dif selecting individuals to form a complete solution ( performance of each individual (fitness assignments selecting individuals to form a complete solution ( performance of each individual (fitness assignments selecting individuals to form a complete solution ( performance of each individual (fitness assignments selecting individuals to form a complete solution ( performance of each individual (fitness assignments performance of each individual (fitness assignments selecting individuals to form a complete solution ( selecting individuals to form a complete solution ( performance of each individual (fitness assignments performance of each individual (fitness assignments selecting individuals to form a complete solution ( selecting individuals to form a complete solution ( selecting individuals to form a complete solution ( selecting individuals to form a complete solution ( performance of each individual (fitness assignments performance of each individual (fitness assignments selecting individuals to form a complete solution ( performance of each individual (fitness assignments

Chromosome 1

Figure 2.8: Flowchart of the symbiotic evolution.

In the selection step, the sufficient times are needed to select individuals. Therefore, the selection times must be large enough to let every individual in population to be selected sufficiently.

In the fitness assignments step, the fitness value is defined as follows:

Step 1. Randomly choose R individuals in population to form complete solution. The R represents the number of individuals that the complete solution needs (in this dissertation, R represents the number of fuzzy rules).

Step 2. Evaluate every complete solution with Rindividuals, which are selected from step1, to obtain a fitness value.

Step 3. Divide the fitness value by Rand accumulate the divided fitness value to the selected individuals with their fitness value records are set for zero initially.

Step 4. Divide the accumulated fitness value of each chromosome by the number of times it has been selected. The average fitness value represents the performance of a

In the selection step, the sufficient times are nee the selection times must be large enough to let eve

In the selection step, the sufficient times are nee In the selection step, the sufficient times are nee In the selection step, the sufficient times are nee In the selection step, the sufficient times are nee the selection times must be large enough to let eve

In the selection step, the sufficient times are nee the selection times must be large enough to let eve

In the selection step, the sufficient times are nee In the selection step, the sufficient times are nee the selection times must be large enough to let eve the selection times must be large enough to let eve

single individual.

Although the symbiotic evolution uses the specialization property to ensure diversity, which prevents a population from converging to suboptimal solutions, there still has a problem that the population cannot evaluate each partial solution locally. For example, the partial solutions are all encode in a population. In the evolutionary operator, the chromosomes with better fitness have most chance to reproduce in the offspring. Therefore, the chromosomes of population may become similarly. This will cause the complete solution hard to find by combining of the chromosomes in the population. For solving this problem, the SAEAs are proposed in this dissertation to let the population can evaluate each partial solution locally. The details of the SAEAs can be found in Chapter 3.

Chapter 3 Self Adaptive Evolutionary

Algorithms

In this chapter, the first part of the proposed ISRL-SAEAs, that is, the self adaptive evolution algorithms (SAEAs), is introduced. The three methods contained in the SAEAs will be introduced in the following sections. In the first section, a hybrid evolutionary algorithm (HEA) is introduced for improving the traditional evolution that the length of individuals in the population must be predefined. In the second section, a self adaptive group cooperation based symbiotic evolution (SAGC-SE) is proposed for providing the local consideration of the population in the HEA. In the final section, a self adaptive group based symbiotic evolution using FP-growth algorithm (SAG-SEFA) is discussed to provide the methodology of selecting groups for performing selection and crossover steps in SAGC-SE.

3.1 Self Adaptive Hybrid Evolutionary Algorithm

In this section, the proposed hybrid evolutionary algorithm (HEA) is introduced.

Recently, many efforts to enhance the traditional GAs have been made ([98]). Among them, one category focuses on modifying the structure of a population or the role an individual plays in it ([85]-[87] and [95]-[100]), such as the coevolutionary algorithms ([85]-[87]), distributed GA ([99]), cellular GA ([100]), and symbiotic evolution ([95]-[97]).

In a traditional evolution algorithm, the number of rules in a model must be predefined.

The length of individuals (chromosomes) in a population is the same and is defined by the population must be predefined. In the second se

based symbiotic evolution (SAGC-SE) is proposed for the population in the HEA. In the final section, a evolution using FP-growth algorithm (SAG-SEFA) is d based symbiotic evolution (SAGC-SE) is proposed for based symbiotic evolution (SAGC-SE) is proposed for the population must be predefined. In the second se based symbiotic evolution (SAGC-SE) is proposed for the population in the HEA. In the final section, a based symbiotic evolution (SAGC-SE) is proposed for the population in the HEA. In the final section, a based symbiotic evolution (SAGC-SE) is proposed for the population in the HEA. In the final section, a based symbiotic evolution (SAGC-SE) is proposed for the population in the HEA. In the final section, a the population in the HEA. In the final section, a based symbiotic evolution (SAGC-SE) is proposed for based symbiotic evolution (SAGC-SE) is proposed for the population in the HEA. In the final section, a the population in the HEA. In the final section, a based symbiotic evolution (SAGC-SE) is proposed for based symbiotic evolution (SAGC-SE) is proposed for based symbiotic evolution (SAGC-SE) is proposed for based symbiotic evolution (SAGC-SE) is proposed for the population in the HEA. In the final section, a the population in the HEA. In the final section, a based symbiotic evolution (SAGC-SE) is proposed for the population in the HEA. In the final section, a

trail-and-error testing. Therefore, for different control problem, the length of an individual (chromosome) must be redefined. For solving this problem, the hybrid evolutionary algorithm (HEA) is proposed to decide the number of fuzzy rules automatically.

The proposed HEA combines the modified compact genetic algorithm (MCGA) and the modified variable-length genetic algorithm (MVGA). In the MVGA, the initial length of each individual may be different from each other, depending on the total number of rules encoded in it. Thus, the number of rules does not need to be predefined. In HEA, individuals with an equal number of rules constitute the same group. Initially, there are several groups in a population. Unlike the traditional variable-length genetic algorithm (VGA), Bandyopadhyay et. al. ([30]) used “#” to mean, “does not care”. In the HEA, the variable two-part crossover (VTC) and variable two-part mutation (VTM) are adopted to make the traditional crossover and mutation operators applicable to different lengths of chromosomes. Therefore, using “#”

means that “does not care” is not needed in the VTC and VTM.

In the HEA, a chromosome is divided into two parts. The first part of the chromosome gives the antecedent parameters of a TSK-type neuro-fuzzy controller while the second part of the chromosome gives the consequent parameters of a TSK-type neuro-fuzzy controller. Each part of the chromosome can be performed using the VTC on the overlapping genes of two chromosomes. In the traditional VGA, Bandyopadhyay et. al. ([30]) only evaluated the performance of each chromosome in a population. The performance of the number of rules was not evaluated ([30]). In HEA, the elite-based reproduction strategy is proposed to keep the best group with the same length chromosomes. Therefore, the best group can be reproduced many times for each generation. The elite-based reproduction strategy is similar to the maturing phenomenon in society, where individuals become more suitable to the environment as they acquire knowledge from society.

In the proposed HEA, the modified compact genetic algorithm (MCGA) is proposed to and mutation operators applicable to different leng

means that “does not care” is not needed in the VTC and VTM.

In the HEA, a chromosome is divided into two parts.

gives the antecedent parameters of a TSK-type neuro means that “does not care” is not needed in the VTC means that “does not care” is not needed in the VTC and mutation operators applicable to different leng means that “does not care” is not needed in the VTC

In the HEA, a chromosome is divided into two parts.

means that “does not care” is not needed in the VTC

In the HEA, a chromosome is divided into two parts.

means that “does not care” is not needed in the VTC

In the HEA, a chromosome is divided into two parts.

means that “does not care” is not needed in the VTC

In the HEA, a chromosome is divided into two parts.

In the HEA, a chromosome is divided into two parts.

means that “does not care” is not needed in the VTC means that “does not care” is not needed in the VTC

In the HEA, a chromosome is divided into two parts.

In the HEA, a chromosome is divided into two parts.

means that “does not care” is not needed in the VTC means that “does not care” is not needed in the VTC means that “does not care” is not needed in the VTC means that “does not care” is not needed in the VTC

In the HEA, a chromosome is divided into two parts.

In the HEA, a chromosome is divided into two parts.

means that “does not care” is not needed in the VTC

In the HEA, a chromosome is divided into two parts.

(CGA) ([101]) represents a population as a probability distribution over the set of solutions and is operationally equivalent to the order-one behavior of the simple GA ([102]). The advantage of the CGA is that it processes each gene independently and requires less memory than the normal GA. In the proposed MCGA, the building blocks (BBs) in the MCGA represent the suitable lengths of the chromosomes and reproduce the individuals according to the BBs. The coding scheme consists of the coding done by the MVGA and the MCGA. The MVGA codes the adjustable parameters of a TSK-type neuro-fuzzy controller (TNFC) into an individual (chromosome), as shown in Fig. 3.1; where MSj represents the parameters of the antecedentof the jth rule in the TNFC, Wj represents the parameters of the consequent of the jth rule, w is the corresponding parameter of the consequent part with the jth rule and ith ij input variable, and Rk represents that there are Rk fuzzy rules in a TNFC. In Fig. 3.2, the MCGA codes the probability vector into the building blocks (BBs), where each probability vector represents the suitability of the number of fuzzy rules in a TNFC. In MCGA, the maximum number of rules (Rmax) and minimum number of rules (Rmin) must be predefined to prevent the number of fuzzy rules to generate beyond a certain bound (i.e., [Rmin, Rmax]).

m11 σ11

MS1 MS2 ... MSj ... W1 W2 ... Wj ...

m21 σ21 ... mi1 σi1 ... mn1 Ξ w0j ... wij ... wnj

Rk

k W

MSR

Figure 3.1: Coding the adjustable parameters of a TNFC into a chromosome in the MVGA.

Rmin

V

VRmin+1 VRk VRmax1

Rmax

V

Figure 3.2: Coding the probability vector into the building blocks (BBs) in the MCGA.

The learning process of the HEA involves six major operators: initializing, evaluating, MCGA codes the probability vector into the building

vector represents the suitability of the number of

) and minimum number of rules ( vector represents the suitability of the number of

vector represents the suitability of the number of vector represents the suitability of the number of MCGA codes the probability vector into the building MCGA codes the probability vector into the building vector represents the suitability of the number of

) and minimum number of rules ( vector represents the suitability of the number of

) and minimum number of rules ( vector represents the suitability of the number of

vector represents the suitability of the number of MCGA codes the probability vector into the building MCGA codes the probability vector into the building MCGA codes the probability vector into the building

) and minimum number of rules ( ) and minimum number of rules (

mutation. Figure 3.3 shows the flowchart of the learning process. The whole learning process

Figure 3.3: Flowchart of the parameter learning in the HEA.

1. Initializing:

The initializing step sets initial values of the MVGA and MCGA. In the MVGA, individuals should be generated randomly to construct an initial population. The initial values of MVGA are generated randomly within a fixed range. The following formulations show how to generate the initial chromosomes:

min max Figure 3.3: Flowchart of the parameter learning in

Figure 3.3: Flowchart of the parameter learning in Figure 3.3: Flowchart of the parameter learning in Figure 3.3: Flowchart of the parameter learning in Figure 3.3: Flowchart of the parameter learning in Figure 3.3: Flowchart of the parameter learning in Figure 3.3: Flowchart of the parameter learning in Figure 3.3: Flowchart of the parameter learning in

represents the pth gene in a Chrc; and [σmin , σmax ], [ mmin , mmax ], and ]

,

[wmin wmax represent the predefined range.

In order to keep the same number of rules in a TNFC, the number of the rules of each chromosome needs to be generated η chromosomes. That is, the number of chromosomes generated of each group (η) must be predefined. Therefore, the population size Nc is set to η*(Rmax-Rmin +1). In the MCGA, the probability vectors of the BBs are set to 0.5 initially.

2. Evaluating:

The evaluating step is to evaluate each chromosome in a population. The goal of the HEA is to maximize the fitness value. The higher a fitness value, the better the fitness. The fitness function is used by a reinforcement signal defined in Chapter 4 will be introduced later.

3. Sorting:

After the evaluating step, the chromosomes in the population are sorted. After sorting the whole population, chromosomes in the top half of population are also sorted in each group. The sorting step can help performing the reproduction step because of the best chromosome in each group can be stayed. After sorting the chromosomes in the population, the algorithm goes to next step.

4. Elite-Based Reproduction Strategy (ERS):

Reproduction is a process in which individual strings are copied according to their fitness value. In the HEA, an elite-based reproduction strategy (ERS) is proposed to mimic the maturing phenomenon in society, where individuals become more suitable to the environment as they acquire more knowledge from society. The MCGA uses the BBs to represent the suitable length of the chromosomes and reproduces the chromosomes according to the probability vector in the BBs. The best

After the evaluating step, the chromosomes in the p sorting the whole population, chromosomes in the to

After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p After the evaluating step, the chromosomes in the p

the ERS. According to the results of the ERS, using the crossover and the mutation generate the other half individuals. After the ERS, the suitable length of chromosomes will be preserved and the unsuitable length of chromosomes will be

the ERS. According to the results of the ERS, using the crossover and the mutation generate the other half individuals. After the ERS, the suitable length of chromosomes will be preserved and the unsuitable length of chromosomes will be