jaga.pj.circuits.experiment
Class KISSFSMExperiment
java.lang.Object
|
+--jaga.pj.circuits.experiment.KISSFSMExperiment
- All Implemented Interfaces:
- ConfigurableExperiment, ConfigurableRandomInputExperiment, ConfigurableSequentialCircuitExperiment, Experiment, SequentialCircuitExperiment, java.io.Serializable
- public class KISSFSMExperiment
- extends java.lang.Object
- implements ConfigurableSequentialCircuitExperiment
- See Also:
- Serialized Form
Constructor Summary |
KISSFSMExperiment(double tSetup,
java.io.File kissFile,
java.lang.String resetStateName,
java.lang.String[][] resetInputs,
int[] permEdgeLines)
Creates new KISSFSMExperiment |
KISSFSMExperiment(double tSetup,
java.io.File kissFile,
java.lang.String resetStateName,
java.lang.String[][] resetInputs,
int[] permEdgeLines,
boolean generateClock)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
KISSFSMExperiment
public KISSFSMExperiment(double tSetup,
java.io.File kissFile,
java.lang.String resetStateName,
java.lang.String[][] resetInputs,
int[] permEdgeLines,
boolean generateClock)
throws java.io.IOException
KISSFSMExperiment
public KISSFSMExperiment(double tSetup,
java.io.File kissFile,
java.lang.String resetStateName,
java.lang.String[][] resetInputs,
int[] permEdgeLines)
throws java.io.IOException
- Creates new KISSFSMExperiment
buildStateTable
public java.util.Hashtable buildStateTable(java.io.File kissFile)
throws java.io.IOException
set
public void set(java.lang.Object rndSeed)
- Specified by:
set
in interface ConfigurableExperiment
get
public java.lang.Object get(java.lang.Object p)
- Specified by:
get
in interface ConfigurableExperiment
getFitness
public double getFitness(SampleData[] in,
SampleData[] out)
- returns a fitness associated to a given input/output pair for
this experiment. The fitness is a double and is in adjusted
fitness format. From 0 to 1, 1 being perfectly fit.
- Specified by:
getFitness
in interface Experiment
- Parameters:
in
- array of inputsout
- array of outputs
generateInput
public SampleData[] generateInput()
- generates an array of inputs suitable for this experiment
using default input sample separation.
- Specified by:
generateInput
in interface Experiment
generateInput
public SampleData[] generateInput(int inputSampleSeparation)
- generates an array of inputs suitable for this experiment.
- Specified by:
generateInput
in interface Experiment
- Parameters:
inputSampleSeparation
- relative frequency of input to output samples. If this is n, then n outputs will be sampled for every change in inputs.
getNumOfInputs
public int getNumOfInputs()
- Specified by:
getNumOfInputs
in interface Experiment
getNumOfOutputs
public int getNumOfOutputs()
- Specified by:
getNumOfOutputs
in interface Experiment
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
getStateEnterPos
public int[] getStateEnterPos()
- Specified by:
getStateEnterPos
in interface SequentialCircuitExperiment
- Returns:
- Array of positions in last test pattern generated of when the tested FSM - if perfect -
would enter each state. So State N is entered at input data position rv[ N ]
rndStatePos
public int rndStatePos()
- Specified by:
rndStatePos
in interface SequentialCircuitExperiment
getStateGraphNodes
public MealyFSMNode[] getStateGraphNodes()
- Specified by:
getStateGraphNodes
in interface SequentialCircuitExperiment
- Returns:
- Array of Mealy Finite State Machine Nodes. The nth node in the array represents the state
for which the nth int in the array returned by getStateEnterPos() represents the position in the TP at which
this state is entered.