Creates a new BitSet from a string representation of the genotype
which would look like: 0100101011101010010
(Anything which is not a 0 is taken as a 1)
Calculates the number of Elements which will need to be addressed, which in turn will
be used to calculate the minimum number of bits per variable to use.
Used for experiments where the randomness of the input sequence can be controlled
for example so taht every generation the same input sequence is used for all
individuals but this is modified for the next generation.
Given a line representing a unit definition from the Sis output, having the format
X = [formula of Y0, Y1, Y2..] will return a String array with all the Yn
This will remove elements from the element array that aren't connected to the outputs
in order to optimize the circuit simulation by avoiding refreshing unused gates.
given a set of fixed tests we wish to send as inputs to an individual
it generates the inputs of the desired length by repeating these tests
and then filling the rest with random inputs.
Used to control and manage flow of information between Genotypes
produced by the Evolve class, the inputs & fitnesses produced by the
Experiment and the outputs produced by the Deployment.
Some function is an arbitrary boolean function of 3 inputs (A,B,C,D)
where Q = ~( ~( A ^ B ) ^ C ) & D
(btw this is output of manchester carry adder with enable D)
This will remove elements from the element array that aren't connected to the outputs
in order to optimize the circuit simulation by avoiding refreshing unused gates.
If a test pattern of length TP is applied containing only V unique test vectors, then this
fitness function (FF) wrapper will provide a test pattern of length V to its internal FF with
a 1 where an output was equal to the desired at every application of the current test vector and
a 0 if at any application of that vector it was different.
Creates the initial random individuals by:
1) Getting a decent randoizer
2) generating [populationSize] random BitSets of length [initialGenotypeLength]
Creates new RankSelector where the rank table will be so that the
worst individual gets 0 chance of selection and the highest gets the
double of the median.
The "listen" thread that accepts a connection to the
server, parses the header to obtain the class file name
and sends back the bytecodes for the class (or error
if the class is not found or the response was malformed).
Sends these inputs to the circuit and returns the outputs
The input sample separation is taken into account to sample the outputs
at the appropriate frequency.
This Genetic Operator attempts to implement the mutation rate
m = ln( rho ), where rho is the selective advantage of the fittest possible
individual compared to the population average.
Scans through the output from Sis in the format: print_io, print, print_latch and puts the
names of the inputs, outputs, latches and latch inputs into vectors.
Creates new SimulatorLUT from a BitSet representing the results of the
LUT in ascending order having the last input as the lowest significant
element in the table composition.
A single sample at the end of each session while inputs are applied is used as the ouptput
for that session, instead of using all inputSampleSeparation bits.
Implementation of the InteractionModel representing a single population,
single experiment model in which evaluations of individuals are independent
of each other and performed one by one.