public abstract class AbstractPsdEvaluator extends AbstractEvaluator
Modifier and Type | Field and Description |
---|---|
private Population |
currentPopulation |
private int |
currentSimulation |
private float[][] |
difference |
private double |
error |
private double |
expectedSimulationTime |
private float[][] |
experimentalPsd |
private java.util.Set |
flags |
private double |
frobeniusNormOfMatrix |
private java.lang.String |
hierarchyEvaluator |
private boolean |
kmcError |
private int |
measureInterval |
private float[][] |
psd |
private int |
psdSizeX |
private int |
psdSizeY |
private int |
repeats |
Constructor and Description |
---|
AbstractPsdEvaluator(int repeats,
int measureInterval,
java.util.Set flags,
java.lang.String hierarchyEvaluator) |
Modifier and Type | Method and Description |
---|---|
private double |
calculateFrobeniusNorm(float[][] matrix)
It calculates Frobenius norm with the next formula: ||A||_F = (SUM(|A_ij|^2))^1/2
It is useful to measure the difference among two matrices.
|
double |
calculateFrobeniusNormErrorMatrix(float[][] currentPsd) |
protected abstract double |
calculateHierarchyError(Individual i) |
protected abstract double |
calculateHierarchyErrorDiscrete(Individual ind) |
protected abstract double |
calculateHierarchyErrorFromReference(Individual i) |
abstract float[][] |
calculatePsdFromIndividual(Individual i) |
double[] |
evaluate(Population p) |
private double |
evaluateIndividual(Individual ind) |
float[][] |
getCurrentDifference()
Undefined here
|
double |
getCurrentError()
Undefined here
|
protected int |
getCurrentIteration() |
Population |
getCurrentPopulation() |
float[][] |
getCurrentPsd()
Undefined here
|
int |
getCurrentSimulation() |
int |
getIndividualCount()
Calculates the count (number) of the current simulation.
|
int |
getMeasureInterval() |
float |
getProgressPercent() |
int |
getPsdSizeX() |
int |
getPsdSizeY() |
int |
getRepeats() |
int |
getSimulationCount()
Undefined here
|
boolean |
hasKmcFailed() |
void |
kmcHasFailed() |
private void |
printGenes(double[] genes) |
void |
resetKmcError() |
void |
setCurrentPopulation(Population currentPopulation) |
void |
setCurrentSimulation(int currentSimulation) |
void |
setExpectedSimulationTime(double expectedSimulationTime) |
abstract void |
setHierarchy(double[] genes) |
AbstractPsdEvaluator |
setPsd(float[][] experimentalPsd)
Set the reference PSD matrix for future comparisons and starts its norms.
|
void |
setPsdSizeX(int psdSizeX) |
void |
setPsdSizeY(int psdSizeY) |
void |
setRepeats(int repeats) |
dispose, getSurface, getWheight, setShowGraphics, setWheight, showGraphics
private int psdSizeX
private int psdSizeY
private double frobeniusNormOfMatrix
private float[][] difference
private int repeats
private float[][] experimentalPsd
private final int measureInterval
private Population currentPopulation
private int currentSimulation
private double expectedSimulationTime
private double error
private float[][] psd
private final java.util.Set flags
private final java.lang.String hierarchyEvaluator
private boolean kmcError
public AbstractPsdEvaluator(int repeats, int measureInterval, java.util.Set flags, java.lang.String hierarchyEvaluator)
repeats
- measureInterval
- flags
- hierarchyEvaluator
- either "basic", "step", "reference" or "Frobenius". It is safe to
assign null. It will be used only if the hierarchy flag is enabledpublic AbstractPsdEvaluator setPsd(float[][] experimentalPsd)
experimentalPsd
- public void setExpectedSimulationTime(double expectedSimulationTime)
private double calculateFrobeniusNorm(float[][] matrix)
matrix
- public abstract float[][] calculatePsdFromIndividual(Individual i)
public abstract void setHierarchy(double[] genes)
protected abstract double calculateHierarchyError(Individual i)
protected abstract double calculateHierarchyErrorFromReference(Individual i)
protected abstract double calculateHierarchyErrorDiscrete(Individual ind)
public double calculateFrobeniusNormErrorMatrix(float[][] currentPsd)
public float getProgressPercent()
getProgressPercent
in interface IEvaluation
getProgressPercent
in class AbstractEvaluator
public int getRepeats()
public int getMeasureInterval()
public void setRepeats(int repeats)
public Population getCurrentPopulation()
public void setCurrentPopulation(Population currentPopulation)
public int getCurrentSimulation()
public void setCurrentSimulation(int currentSimulation)
public void resetKmcError()
public void kmcHasFailed()
public boolean hasKmcFailed()
public double getCurrentError()
AbstractEvaluator
getCurrentError
in interface IEvaluation
getCurrentError
in class AbstractEvaluator
public float[][] getCurrentPsd()
AbstractEvaluator
getCurrentPsd
in interface IEvaluation
getCurrentPsd
in class AbstractEvaluator
public float[][] getCurrentDifference()
AbstractEvaluator
getCurrentDifference
in interface IEvaluation
getCurrentDifference
in class AbstractEvaluator
public double[] evaluate(Population p)
private double evaluateIndividual(Individual ind)
private void printGenes(double[] genes)
public final void setPsdSizeX(int psdSizeX)
public final void setPsdSizeY(int psdSizeY)
public final int getPsdSizeX()
public final int getPsdSizeY()
protected int getCurrentIteration()
public int getSimulationCount()
getSimulationCount
in interface IEvaluation
getSimulationCount
in class AbstractEvaluator
public int getIndividualCount()
getIndividualCount
in interface IEvaluation
getIndividualCount
in class AbstractEvaluator