public class DiversityPermutation extends java.lang.Object implements Diversity<org.opt4j.core.genotype.PermutationGenotype<?>>
The DiversityPermutation
is the interface for Diversity
operators for PermutationGenotype
s.
Given are n
elements e in E
two permutations p1, p2
of these elements. The function p(e)
returns the position of the
element e
in the permutation p
. This operator calculates the
following value:
diversity(p1,p2)=sum[e in E] |p1(e)-p2(e)|/(n^2/2)This value is bounded by
0
and 1
since
min { sum[e in E] |p1(e)-p2(e)| } = 0and
max { sum[e in E] |p1(e)-p2(e)| } = = 2 * sum[i=1 to n/2] (n-i)-(i-1) = = 2 * sum[i=1 to n/2] (n-2i+1) = = 2 * ( n^2/2 + n/2 - n/2(n/2+1)) = = 2 * ( n^2/2 + n/2 - n^2/4 - n/2) = = n^2/2.
Constructor and Description |
---|
DiversityPermutation() |
Modifier and Type | Method and Description |
---|---|
double |
diversity(org.opt4j.core.genotype.PermutationGenotype<?> a,
org.opt4j.core.genotype.PermutationGenotype<?> b)
Returns the genetic diversity of two
Genotype s. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getOperatorType
public double diversity(org.opt4j.core.genotype.PermutationGenotype<?> a, org.opt4j.core.genotype.PermutationGenotype<?> b)
Diversity
Genotype
s.