Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between exploration and exploitation in genetic algorithm

In evolutionary algorithms two main abilities maintained which are Exploration and Exploitation.

In Exploration the algorithm searching for new solutions in new regions, while Exploitation means using already exist solutions and make refinement to it so it's fitness will improve.

In my case I am concern about genetic algorithm,and my question is I read many different article and I figured out three different explanation for the exploration and exploitation these views are as follow:

  1. in one article it talks that exploration is done by crossover and exploitation done by mutation

  2. in one article the inverse of first one, exploration by mutation and exploitation by crossover

  3. and in last one which is a paper "On Evolutionary Exploration and Exploitation" (1998) by A. E. Eiben and C.A. Schippers, it says that exploitation is done through selection process, while exploration is done by operator whatever it is crossover or mutation

I see from my little point of view that both crossover and mutation gives us a new solution which was not there in the population which is the random part of the algorithm so it's exploration process ,and when selecting individuals for mating or reproduction I select from already existed solutions and according to it fitness which is the heuristic part so it exploitation.

Which is the correct one? Which step or operator responsible for exploration and which responsible of exploitation?

Please I need reasoning logical answer for that.

like image 890
user2963216 Avatar asked Nov 23 '13 11:11

user2963216


People also ask

What is the difference between exploration and exploitation?

Exploration involves activities such as search, variation, risk taking, experimentation, discovery, and innovation. Exploitation involves activities such as refinement, efficiency, selection, implementation, and execution (March, 1991).

What are the 3 different operations for genetic computing?

A genetic operator is an operator used in genetic algorithms to guide the algorithm towards a solution to a given problem. There are three main types of operators (mutation, crossover and selection), which must work in conjunction with one another in order for the algorithm to be successful.

What is exploration in search?

Exploratory search is a specialization of information exploration which represents the activities carried out by searchers who are: unfamiliar with the domain of their goal (i.e. need to learn about the topic in order to understand how to achieve their goal) or.

Which of the following operator Operators of GA can be used for performing exploration and exploitation?

The selection operator is a crucial strategy in GA, because it has a vital role in exploring the new areas of the search space and converges the algorithm, as well.


2 Answers

Number 3 appears to be the correct explanation.

Crossover and mutation are both methods of exploring the problem space. Selection is used to exploit the 'good' genetic material in the current set.

However I think you are suggesting that these are two separate and diverse concepts when they are not. They are both methods of traversing the problem space, both are almost always used in conjunction. An algorithm should explore the problem space through crossover and mutation but it should do so by preferencing solutions near to other good solutions.

The trick is always in finding the right balance. Go too far into exploitation and you will get stuck in local maxima, go too far to exploration and you will waste time on solutions that are less likely to be good and ignore the information you have already gathered.

like image 198
Tristan Burnside Avatar answered Oct 22 '22 15:10

Tristan Burnside


Crossover operator implements a depth search or exploitation, leaving the breadth search or exploration for the mutation operator:

(Source: https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume24/ortizboyer05a-html/node1.html)

Crossover -> Exploitation (depth search but not breadth)

Mutation -> Exploration (Breadth search)

Suppose a genetic algorithm uses chromosomes of the form x = abcdefgh
with a fixed length of eight genes. Each gene can be any digit between 0
and 9. Let the fitness of individual x be calculated as:

f(x) = (a + b) − (c + d) + (e + f) − (g + h) 

and let the initial population consist of four individuals with the following
chromosomes:
x1 = 6 5 4 1 3 5 3 2
x2 = 8 7 1 2 6 6 0 1
x3 = 2 3 9 2 1 2 8 5
x4 = 4 1 8 5 2 0 9 4

The algorithm will never reach the optimal solution without mutation. Suppose, the optimal solution is x = 9 9 0 0 9 9 0 0. If mutation does not occur, then the only way to change genes is by applying the crossover operator. Regardless of the way crossover is performed, its only outcome is an exchange of genes of parents at certain positions in the chromosome. This means that the first gene in the chromosomes of children can only be either 6, 8, 2 or 4 (i.e. first genes of x1, x2, x3and x4 optimal), and because none of the individuals in the initial population begins with gene 9, the crossover operator alone will never be able to produce an offspring with gene 9 in the beginning.

(Source: http://www.eis.mdx.ac.uk/staffpages/rvb/teaching/BIS3226/sol15.pdf)

like image 20
Chandan Gautam Avatar answered Oct 22 '22 15:10

Chandan Gautam