jaga.pj.circuits.experiment
Class EdgeDLExperiment

java.lang.Object
  |
  +--jaga.pj.circuits.experiment.EdgeDLExperiment
All Implemented Interfaces:
ConfigurableExperiment, ConfigurableRandomInputExperiment, ConfigurableSequentialCircuitExperiment, Experiment, SequentialCircuitExperiment, java.io.Serializable

public class EdgeDLExperiment
extends java.lang.Object
implements ConfigurableSequentialCircuitExperiment

See Also:
Serialized Form

Constructor Summary
EdgeDLExperiment()
           
EdgeDLExperiment(double tSetup)
          Creates new DLatchExperiment
 
Method Summary
 SampleData[] generateInput()
          generates an array of inputs suitable for this experiment.
 SampleData[] generateInput(int inputSampleSeparation)
          generates an array of inputs suitable for this experiment.
 java.lang.Object get(java.lang.Object param)
           
 double getFitness(SampleData[] in, SampleData[] out)
          Fitness computed by calculating what the output be and if output is this then adding a fitness point.
 int getNumOfInputs()
           
 int getNumOfOutputs()
           
 int[] getStateEnterPos()
           
 MealyFSMNode[] getStateGraphNodes()
           
 int rndStatePos()
           
 void set(java.lang.Object rndSeed)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EdgeDLExperiment

public EdgeDLExperiment(double tSetup)
Creates new DLatchExperiment

EdgeDLExperiment

public EdgeDLExperiment()
Method Detail

getFitness

public double getFitness(SampleData[] in,
                         SampleData[] out)
Fitness computed by calculating what the output be and if output is this then adding a fitness point. We may have to be meaner for this to work though...
Specified by:
getFitness in interface Experiment
Parameters:
out - outputs assumed to be with sampleSeparation = 1

generateInput

public SampleData[] generateInput()
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.

generateInput

public SampleData[] generateInput(int inputSampleSeparation)
Description copied from interface: Experiment
generates an array of inputs suitable for this experiment.
Specified by:
generateInput in interface Experiment
Following copied from interface: jaga.experiment.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

set

public void set(java.lang.Object rndSeed)
Specified by:
set in interface ConfigurableExperiment

get

public java.lang.Object get(java.lang.Object param)
Specified by:
get in interface ConfigurableExperiment

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 ]. The order of states is not important as long as rv[ i ] != rv[ j ] for i != j

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.