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, showGraphicsprivate 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 IEvaluationgetProgressPercent in class AbstractEvaluatorpublic 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()
AbstractEvaluatorgetCurrentError in interface IEvaluationgetCurrentError in class AbstractEvaluatorpublic float[][] getCurrentPsd()
AbstractEvaluatorgetCurrentPsd in interface IEvaluationgetCurrentPsd in class AbstractEvaluatorpublic float[][] getCurrentDifference()
AbstractEvaluatorgetCurrentDifference in interface IEvaluationgetCurrentDifference in class AbstractEvaluatorpublic 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 IEvaluationgetSimulationCount in class AbstractEvaluatorpublic int getIndividualCount()
getIndividualCount in interface IEvaluationgetIndividualCount in class AbstractEvaluator