|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectga.Chromosom
Dient als Grundlage für spezialisierte Chromosomen. Ein Chromosom ist ein Träger für
Informationen. D.h. je nach Anwendung kann eine andere Kodierung gewählt werden.
Jedoch muss dabei selbst der Mutations- und Crossoveralgorithmus implementiert werden.
Es liegen jedoch bereits spezialisierte Chromosomen für entsprechende Datentypen vor:
BooleanChromosom
und DoubleChromosom
.
Constructor Summary | |
Chromosom()
|
Method Summary | |
java.lang.Object |
clone()
Erstellt eine Kopie des Chromosoms. |
abstract void |
copy(Chromosom other)
Kopiert den Inhalt des angegebenen Chromosoms in sich selbst. |
abstract void |
crossover(Chromosom other,
double twoPointCrossoverRate,
Chromosom[] childChromosom)
Führt ein Crossover zwischen diesem und einem anderen Chromosomen durch. |
abstract void |
mutate(double mutationRate)
Mutiert den Inhalt des Chromosoms. |
abstract void |
random()
Verändert den Inhalt des Chromosoms zufällig. |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Chromosom()
Method Detail |
public abstract void mutate(double mutationRate)
mutationRate
- Mutationswahrscheinlichkeit mit der ein Gen mutiert wird, bzw.
die Rate, die angibt, wieviel Prozent des Chromosoms mutiert wird.public abstract void crossover(Chromosom other, double twoPointCrossoverRate, Chromosom[] childChromosom) throws java.lang.ClassCastException
other
- Das andere Chromosom mit dem dieses Chromosom gekreutzt wird.twoPointCrossoverRate
- Wahrscheinlichkeit eines 2-Punkt-Crossovers.childChromosom
- Ein Array mit der Läge 2, welches die beiden Ergebnischromosomen aufnehmen soll.
Die beiden Chromosome des Arrays müssen bereits existieren, so dass der Inhalt nur noch
hineinkopiert werden muss.
java.lang.ClassCastException
- Wird geworfen, wenn die beiden Chromosome nicht miteinander gekreutzt
werden koennen, z.B. weil sie von unterschiedlichen Typen sind. Oder wenn die Ergebnischromosome von einem
anderen Typ sind.public abstract void random()
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
java.lang.CloneNotSupportedException
public abstract void copy(Chromosom other) throws java.lang.ClassCastException
other
.
other
- Das Quellchromosom, von welchem die Werte übernommen werden
sollen.
java.lang.ClassCastException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |