**2.2.3 Tournament selection**

It involves running several "tournaments" among a few individuals chosen at random from the population. The winner of each tournament (the one with the best fitness) is selected for crossover. Selection pressure is easily adjusted by changing the tournament size; if it is larger, weak individuals have a smaller chance to be selected.

Deterministic tournament selection selects the best individual (when *p* 1 *)* in any tournament. A *1-way* tournament ( *k* 1 ) selection is equivalent to random selection. The chosen individual can be removed from the population that the selection is made from if it is desired, otherwise individuals can be selected more than once for the next generation.

Tournament selection has several benefits: it is efficient to code, works on parallel architectures and allows the selection pressure to be easily adjusted.

#### **2.3 Crossover**

Crossover is a genetic operator used to vary the programming of a chromosome or chromosomes from one generation to the next. It is analogous to reproduction and biological crossover, upon which genetic algorithms are based. Cross over is a process of taking more than one parent solutions and producing a child solution from them.

Crossover techniques :


Fringe Pattern Demodulation Using Evolutionary Algorithms 87

 *x*, , 2, *y* 

A fringe pattern of *R*x*C* pixels dimension is segmented into a window overlapping set of sub-images of *R1*x*C1* pixels dimensions*,* and with origin coordinates at (*r,c*). The GA is used to carry out the optimization process, where a parametric estimation of a non linear function

The fitness function is modelled by the next considerations: a) The similarity between the original fringe image and the genetic generated fringe image, and b) the smoothness in the

The fitting function is chosen depending on prior knowledge of the demodulation problem,

adequate. The adequate dimensionality of the polynomial depends on the interferogram complexity, but if we only want to estimate the phase in a small region, the dimensionality

2 2

2 233 6 7 89

As it was said earlier, the GA is used to find the function parameters, in this case, vector **a** .

A *k-bit* long bit-string is used to codify an allele; then, the chromosome has *q*x*k* bits in length. We define the search space for these parameters. The bit-string codifies a range

> , 2 1 *U B i i B i i k i L L aL N*

*<sup>i</sup> L* are redefined for each sub-image. The maximum value for each parameter is

calculated taking into consideration the maximal phase value on that window. These

0 0 and *B U L L* 

*U B*

*<sup>i</sup> <sup>L</sup>* is the *i-th* bottom limit, *<sup>U</sup>*

*p x y a ax a y ax a y a xy*

A *r-degree* approximation is used so that the phase data can be modelled like:

If we use this function, the chromosome can be represented by the vector:

within the limits of each parameter. The decoded value of the *i-th* parameter is:

01 2 3 4 5

*a x y a xy ax a y a y* 

 

*<sup>x</sup> <sup>y</sup> <sup>k</sup>* (2)

(,) *x y* is known, a polynomial fitting is

(3)

*r q*

0 1 *<sup>q</sup> aaa* **<sup>a</sup>** (4)

(5)

(6)

*i i L L* (7)

*<sup>i</sup> L* is the *i-th* upper

is proposed to fit the phase on the sub-images.

first and second derivatives of the fitting function.

but when no prior information about the shape of

, ,

**a**

where *<sup>i</sup> <sup>a</sup>* is the *i-th* parameter real value, *<sup>B</sup>*

maximum values can be expressed as:

*B <sup>i</sup> <sup>L</sup>* and *<sup>U</sup>*

limit, and *Ni* is the decimal basis value of the bit-string .

of the function can be low.

**3.1 Decoding chromosomes** 

Fig. 8. (a) One point crossover; (b) Two point crossover.

### **2.4 Mutation**

It is a genetic operator used to maintain genetic diversity from one generation of a population of algorithm chromosomes to the next. It is analogous to biological mutation. Mutation alters one or more gene values in a chromosome from its initial state. In mutation, the solution may change entirely from the previous solution. Hence GA can come to better solution by using mutation. Mutation occurs during evolution according to a user-definable mutation probability. This probability should be set low. If it is set to high, the search will turn into a primitive random search.

The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic sequence will be changed from its original state. A common method of implementing the mutation operator involves generating a random variable for each bit in a sequence. This random variable tells whether or not a particular bit will be modified. This mutation procedure, based on the biological point mutation, is called single point mutation. Other types are inversion and floating point mutation. When the gene encoding is restrictive as in permutation problems, mutations are swaps, inversions and scrambles.

The purpose of mutation in GAs is preserving and introducing diversity. Mutation should allow the algorithm to avoid local minima by preventing the population of chromosomes from becoming too similar to each other, thus slowing or even stopping evolution. This reasoning also explains the fact that most GA systems avoid only taking the fittest of the population in generating the next but rather a random (or semi-random) selection with a weighting toward those that are fitter.
