# parent population candidates for population based training. This entry can also be empty, by random
eliteMetadataCount=3
# The fitnessScore of a candidate vector can be potentially calculated by the cost function with this information: 1. candidate vector entries,
# The fitnessScore of a candidate vector can be potentially calculated by the cost function with this data: 1. candidate vector entries,
# 2. metadata parts from the parents, 3. metadata parts from the population elite, 4. metadata parts from the randomly selected elite candidate (if picked).
# For cache lookup, GenIe needs to know all relevant parts beside the vector entries, that are somehow relevant for fitnessScore calculation.
# If not specified correctly, GenIe picks formerly calculated fitnessScores by the vector entries only, which can yield to wrong values
@@ -124,24 +124,6 @@ public class CachingFitnessEvaluatorWrapper implements FitnessEvaluator<Candidat
// TODO:
// DONE 1. Metadaten mit in den Cache. Ein Vektor hat die ja noch nicht, bekommt sie von der FitnessFunktion, also auch vom Cache. Sprich: diese Methode setzt die Metadaten?
// Wie ist das bisher? => die Fitnessfunction setzt fitness + metadaten. Das muß hier auch der Fall sein => Metadaten mit cachen
// DONE 2. FileNames können je nach VektorWerten zu komplex werden. Sprechend FileNames sind aber auch schick. Konfigurieren? Grep geht aber auch. Prüfsumme? Prüfsumme + die
// ersten NChars vom Vektor? Prüfsumme: darin alle relevanten MetadatenAttVals + Vektor verwursten (parentMetadataAtts4cacheLookup, eliteMetadataAtts4cacheLookup,
// selectedEliteEntryMetadataAtts4cacheLookup => noch testen
// Beachte:
// * im StringKeyCache stehen die FileNames als keys (so wird der initialisiert) => passt
// * der cache kann nicht disabled werden ? Ist egal, wenn der funzt ist der immer gut? Möglichkeit zum disablen aber immer gut => wenn empty dir => disabled
// DONE 3. Soo, mit Christoph besprochen:
// * Auswahl des topN-Metadatums erfolgt in GenIe, damit wird fitnessfunktionInput=>fitnessValue deterministisch und somit cachebar
// => das selektierte Metadatum wird der fitness function übergeben, oder keins!
// * es wird konfiguriert, welches metadatumAtt cacherelevant ist
// * CacheKey immer Vektor+cacherelevantes MetadatumAtt aus dem selektierten TopNMetadatum
// hierwarich. Alles implemntiert? Doku muß noch min ins Wiki
try
{
DoubledFitness=null;
...
...
@@ -162,8 +144,7 @@ public class CachingFitnessEvaluatorWrapper implements FitnessEvaluator<Candidat
@@ -50,7 +50,7 @@ public class CandidateVectorWithMetadata
* cost function for information. Note that the cache lookup keys will be generated according the candidates vector entries plus selected metadata attribute entries out of
* Will be set by the system (by crossover.mate(..)). The scores of the parents in the same order as the parents metadata. Will be given to the cost function for information
# parent population candidates for population based training. This entry can also be empty, by random
eliteMetadataCount=3
# The fitnessScore of a candidate vector can be potentially calculated by the cost function with this information: 1. candidate vector entries,
# The fitnessScore of a candidate vector can be potentially calculated by the cost function with this data: 1. candidate vector entries,
# 2. metadata parts from the parents, 3. metadata parts from the population elite, 4. metadata parts from the randomly selected elite candidate (if picked).
# For cache lookup, GenIe needs to know all relevant parts beside the vector entries, that are somehow relevant for fitnessScore calculation.
# If not specified correctly, GenIe picks formerly calculated fitnessScores by the vector entries only, which can yield to wrong values