public class BasicGrowthPsdEvaluator extends AbstractPsdEvaluator
Modifier and Type | Class and Description |
---|---|
(package private) class |
BasicGrowthPsdEvaluator.Runner
Inner class responsible to update the interface.
|
Modifier and Type | Field and Description |
---|---|
private BasicGrowthPsdEvaluator.Runner |
currentRun
Current thread, responsible to run many KMCs to compute a PSD.
|
private double |
g2g1 |
private double |
g3g0 |
private double |
g3g1 |
private double |
g3g2 |
private double |
g3g4 |
private double |
g4g0 |
private double |
g4g1 |
private double |
hierarchyFrobeniusRef |
private BasicGrowthKmc |
kmc |
private int |
kmcError |
private PsdSignature2D |
psd |
private float[][] |
sampledSurface |
private boolean |
searchEnergies |
private int |
simulationCount |
private float |
temperature
Temperature of the simulation.
|
Constructor and Description |
---|
BasicGrowthPsdEvaluator(BasicGrowthKmc kmc,
int repeats,
int measureInterval,
int psdSizeX,
int psdSizeY,
java.util.Set flags,
java.lang.String hierarchyEvaluator,
java.lang.String evolutionarySearchType,
float temperature) |
Modifier and Type | Method and Description |
---|---|
protected double |
calculateHierarchyError(Individual ind)
Calculates the hierarchy error based on the rates of Cox et al.
|
protected double |
calculateHierarchyErrorDiscrete(Individual ind)
If the difference is lower than 1, error is not added; otherwise,
error is added by one.
|
protected double |
calculateHierarchyErrorFrobenius(Individual ind) |
protected double |
calculateHierarchyErrorFromReference(Individual ind)
Calculates the hierarchy error based on the rates of Cox et al.
|
protected double |
calculateHierarchyErrorOrder(Individual ind)
Adds the error if the next condition is not fulfilled:
E_f > E_b > E_a > E_d > E_e > E_c
g(3) > g(5) > g(4) > g(0) > g(2) > g(1)
|
float[][] |
calculatePsdFromIndividual(Individual ind) |
void |
dispose() |
private double |
getMaxIteration() |
private double |
getRate(double gene) |
double[] |
getRates5(double[] genes)
Calculates rates from the genes.
|
int |
getSimulationCount()
Method thought to be called from the main interface updater.
|
float[][] |
getSurface() |
void |
killThread() |
void |
setHierarchy(double[] genes)
Sets the expected rates hierarchies, based on the objective rates (genes).
|
private double |
stepFunction(double division) |
calculateFrobeniusNormErrorMatrix, evaluate, getCurrentDifference, getCurrentError, getCurrentIteration, getCurrentPopulation, getCurrentPsd, getCurrentSimulation, getIndividualCount, getMeasureInterval, getProgressPercent, getPsdSizeX, getPsdSizeY, getRepeats, hasKmcFailed, kmcHasFailed, resetKmcError, setCurrentPopulation, setCurrentSimulation, setExpectedSimulationTime, setPsd, setPsdSizeX, setPsdSizeY, setRepeats
getWheight, setShowGraphics, setWheight, showGraphics
private BasicGrowthKmc kmc
private double g4g0
private double g3g0
private double g3g1
private double g3g2
private double g3g4
private double g4g1
private double g2g1
private double hierarchyFrobeniusRef
private boolean searchEnergies
private PsdSignature2D psd
private int kmcError
private int simulationCount
private float[][] sampledSurface
private final float temperature
private BasicGrowthPsdEvaluator.Runner currentRun
public BasicGrowthPsdEvaluator(BasicGrowthKmc kmc, int repeats, int measureInterval, int psdSizeX, int psdSizeY, java.util.Set flags, java.lang.String hierarchyEvaluator, java.lang.String evolutionarySearchType, float temperature)
public float[][] calculatePsdFromIndividual(Individual ind)
calculatePsdFromIndividual
in class AbstractPsdEvaluator
public void killThread()
public float[][] getSurface()
getSurface
in interface IEvaluation
getSurface
in class AbstractEvaluator
public int getSimulationCount()
getSimulationCount
in interface IEvaluation
getSimulationCount
in class AbstractPsdEvaluator
public void setHierarchy(double[] genes)
setHierarchy
in class AbstractPsdEvaluator
genes
- protected double calculateHierarchyErrorDiscrete(Individual ind)
calculateHierarchyErrorDiscrete
in class AbstractPsdEvaluator
ind
- private double stepFunction(double division)
protected double calculateHierarchyErrorOrder(Individual ind)
ind
- protected double calculateHierarchyErrorFromReference(Individual ind)
calculateHierarchyErrorFromReference
in class AbstractPsdEvaluator
ind
- Current individualprotected double calculateHierarchyErrorFrobenius(Individual ind)
protected double calculateHierarchyError(Individual ind)
calculateHierarchyError
in class AbstractPsdEvaluator
ind
- Current individualpublic void dispose()
dispose
in class AbstractEvaluator
public double[] getRates5(double[] genes)
genes
- private double getRate(double gene)
private double getMaxIteration()