package jcgp.population; import java.util.ArrayList; public class Chromosome { private ArrayList inputs; private ArrayList> nodes; private ArrayList outputs; private int fitness = 0; /** * Good citizen. * @param outputs * @param columns * @param rows * @param inputs * */ public Chromosome(int inputCount, int rows, int columns, int outputCount) { inputs = new ArrayList(inputCount); for (int i = 0; i < inputCount; i++) { inputs.add(new Input()); } // rows first nodes = new ArrayList>(rows); for (int r = 0; r < rows; r++) { nodes.add(new ArrayList(columns)); for (int c = 0; c < columns; c++) { nodes.get(r).add(new Node()); } } outputs = new ArrayList(outputCount); for (int o = 0; o < outputCount; o++) { outputs.add(new Output()); } } public int getActiveNodeCount() { return 0; } /** * @return the inputs */ public final ArrayList getInputs() { return inputs; } /** * @return the nodes */ public final ArrayList> getNodes() { return nodes; } /** * @return the outputs */ public final ArrayList getOutputs() { return outputs; } public final Node getNode(int row, int column) { return nodes.get(row).get(column); } public final Output getOutput(int index) { return outputs.get(index); } public final Input getInputs(int index) { return inputs.get(index); } public int getFitness() { return fitness; } public void setFitness(int newFitness) { fitness = newFitness; } }