![]() |
|
|||
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
|
![]() |
[an error occurred while processing this directive]
5.8.1. Evolutionary StrategiesIn the simplest version, evolutionary strategies (Rechenberg, 1973; Schwefel, 1995) exploit a population consisting of a single real-coded vector x. This individual becomes mutated in such a way that x is transformed into x being computed as where z comes from a normally distributed multidimensional random variable, z ~ N(0, Σ). The covariance matrix (Σ) is diagonal having all off-diagonal elements equal zero. In particular, all the elements on diagonal can be made equal to σ. The new element of the population (x) replaces its parent x once the fitness function for x exceeds the fitness of x. Otherwise, x becomes eliminated. The standard deviation of the random mechanism delivers a diversity of the population and helps control a size of regions in the search space. The values of σ can be adjusted based upon a success level achieved in the previous p generations. The 1/5 success rule (Rechenberg, 1973) states that the ratio of successful mutations to all mutations should be 1/5. If the value of this ratio is higher than 1/5 increase σ, otherwise reduce it. The rationale behind the rule is to make the search more extensive if we have already encountered enough success. Otherwise, if the success rate is low, it is advisable to reduce the intensity of the random component of the search. 5.8.2. Evolutionary ProgrammingThis is one of the first approaches to Evolutionary Computation. In its original setting (Fogel et al., 1966) it is focused on finite state machines and their optimization. Each chromosome is just a representation of a finite state machine (FSM). The key mechanism used in this approach is mutation. It modifies the form of the FSM in terms of input and output symbols processed therein. Fig. 5.19 illustrates a certain FSM before and after mutation (here the input and output symbols were altered).
5.8.3. Genetic ProgrammingGenetic Programming are devoted to evolutionary processing of tree structures (Koza, 1992). Assuming that such trees represent a simple programs, we can view a population of these programs (trees) as competing in the process of a satisfaction of a set of given requirements. Each tree structure (program) is represented by the corresponding LISP S-expression. The population of such expressions is subject to the standard evolutionary mechanisms. The tree below, Fig. 5.20, represents two logic expressions There are two types of nodes: three of them representing logic operators (AND, OR, NOT) and another type of the node associated with the variables (arguments) of the logic functions
The fragments of trees indicated in Fig. 5.21 become used in crossover and lead to the two new trees, Fig. 5.22. 5.9. ConclusionsThe paradigm of Evolutionary Computation helps alleviate common deficiences of single-point search methods (and gradient-based algorithms, in particular) while addressing problems of structural optimization. We analyzed main population-based operations including mutation, crossover as well as outlined several main encoding methods. The formal analysis of GAs as supported by the Schemata Theorem gives a better insight into the optimization capabilities of the method. 5.10 Problems5.1. Assuming that the range of a certain variable in the GA problem is between -20 and 60, what would be the number of bits in its binary coding necessary to achieve a resolution of 10-9? 5.2. Consider any four-bit schema of order 2. Find all strings matching this schema and decode it using (a) binary and (b) Gray coding. Analyze basic statistical properties (such as mean and standard deviation) of these strings. Compare the results for the binary and Gray coding. 5.3. Show that BLX-0 becomes the flat crossover. 5.4. Discuss the ratio ns(t+1)/ns as a function of the probability of crossover. Assume that the remaining parameters are kept fixed. 5.5. We have been provided with a geometrical interpretation of schemata for a two-element alphabet. This interpretation for 3-element strings is highly appealing and straightforward. Provide the relevant geometrical interpretation for a three-element alphabet. How could you interpret strings built with the use of an aphabet consisting of a finite (p) number of symbols? 5.6. Show that for the binary strings x and y defined in the two-element alphabet of {0, 1}, the crossover operation can be implemented via a crossover mask r where any position in r set to 1 defines a point of crossover. The new offsprings are defined as and where ⊕ is a sum modulo -2 (exclusive - or operation). Show also that the following properties hold: 5.7. It is well-known that any continuous function f(x) can be approximated with the use of some basis functions. Two typical examples of approximation concern polynomial and trigonometric basis functions meaning that Evidently, the type of expansion used in the approximation task depends upon the form of f(x). For instance, periodic functions can be easily approximated by trigonometric functions. As, in general, there is no complete knowledge about the type of f(x), we would prefer to have both of the approximations available. Propose a GA scheme solving this optimization problem. Discuss several encoding mechanisms.
Copyright © CRC Press LLC
![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |