GENE_TYPE - typ obiektu charakteryzujący gen np.: Integer, Double,
lub objekt klasy com.delhezi.genes.*.
Uwaga; Genami nie mogą być typy proste np. int, double.public class Chromosome<GENE_TYPE> extends Object implements Cloneable, Comparable<Chromosome<GENE_TYPE>>
Chromosome: Klasa chromosomu.| Constructor and Description |
|---|
Chromosome(GENE_TYPE[] genes,
ChromosomeProperties chromosomeProperties)
Konstruktor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
changed()
Funkcja zmienia status chromosomu na "zmodyfikowany";
Status chromosomu należy zmienić po operacjach:
- bezpośrednio na tabeli genów po uzyskaniu referencji
do tabeli, jeśli zmiana odbyła się z pominięciem
funkcji setGenes() lub setGene();
- przy zmianie referencji do IMutation, jeśli zmiana
odbyła się z pominięciem funkcji setMutation();
- przy zmianie referencji do IFitnessFunction, jeśli zmiana
odbyła się z pominięciem funkcji setFitnessFunction().
|
Chromosome<GENE_TYPE> |
clone()
Kopiuje chromosom.
|
int |
compareTo(Chromosome<GENE_TYPE> chromosome)
Porównanie dwóch chromosomów;
if x.compareTo(y) == 1 to x jest lepszy niż y.
|
double |
getFitness()
Wylicza i zwraca wartość wskaźnika przystosowania.
|
GENE_TYPE |
getGene(int locus)
Zwraca gen ze wskazanej pozycji (locus).
|
GENE_TYPE[] |
getGenes()
Zwraca referencję do tablicy genów;
Uwaga;
Zwracana jest referencja do tablicy a nie jej kopia;
Jeśli za pomocą otrzymanej referencji dojdzie do modyfikacji wartości
tablicy należy wykonać funkcję changed() klasy Chromosome w celu
ponownego wyznaczenia wskaźnika przystosowania chromosomu.
|
boolean |
isFitnessMaximisation()
Zwraca parametr określający maksymalizację/minimalizację funkcji
celu.
|
void |
mutation(IMutation mutation)
Mutacja.
|
void |
setGene(int locus,
GENE_TYPE gene)
Wstawia gen na wskazaną pozycję (locus).
|
void |
setGenes(GENE_TYPE[] genes)
Wstawia referencję do tablicy genów;
Uwaga;
Wstawiana jest referencja do tablicy a nie jej kopia;
Jeśli po wstawieniu referencji dojdzie do modyfikacji watrości
tablicy należy wykonać funkcję changed() klasy Chromosome w celu
ponownego wyznaczenia wskaźnika przystosowania chromosomu.
|
int |
size()
Zwraca ilość genów w chromosomie.
|
String |
toString()
String charakteryzujący chromosom.
|
public Chromosome(GENE_TYPE[] genes, ChromosomeProperties chromosomeProperties)
genes - Tablica genów.chromosomeProperties - Referencja do obiektu przechowującego
parametry wspólne dla wszystkich chromosomów w ramach jednej
instancji populacji.public final int compareTo(Chromosome<GENE_TYPE> chromosome)
compareTo in interface Comparable<Chromosome<GENE_TYPE>>chromosome - Chromosom do porównania.public final boolean isFitnessMaximisation()
public final void mutation(IMutation mutation)
mutation - Funkcja mutacjipublic final int size()
public final double getFitness()
throws GeneticAlgorithmException
GeneticAlgorithmException - xxxpublic final void changed()
public final GENE_TYPE getGene(int locus)
locus - Pozycja genu (locus).public final void setGene(int locus,
GENE_TYPE gene)
locus - Locus pod którym ma być wstawiony gen.gene - Wstawiany gen określonego typu.public final GENE_TYPE[] getGenes()
public final void setGenes(GENE_TYPE[] genes)
genes - Referencja do tablicy genów.public final Chromosome<GENE_TYPE> clone()
Copyright © 2008–2015 Delhezi. All rights reserved.