From 8f7874fa75c532bab994af8e6553d37afe42ec4c Mon Sep 17 00:00:00 2001 From: Eduardo Pedroni Date: Thu, 30 Jan 2014 21:41:33 +0000 Subject: Chromosome data structure partially refactored, also added higher level classes. --- src/jcgp/chromosome/Chromosome.java | 66 +++++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 2 deletions(-) (limited to 'src/jcgp/chromosome/Chromosome.java') diff --git a/src/jcgp/chromosome/Chromosome.java b/src/jcgp/chromosome/Chromosome.java index 19d7e77..cdf2e4b 100644 --- a/src/jcgp/chromosome/Chromosome.java +++ b/src/jcgp/chromosome/Chromosome.java @@ -2,16 +2,78 @@ package jcgp.chromosome; import java.util.ArrayList; -import jcgp.chromosome.element.ChromosomeElement; +import jcgp.CGP; +import jcgp.chromosome.element.Input; +import jcgp.chromosome.element.Node; +import jcgp.chromosome.element.Output; public class Chromosome { - private ArrayList> nodes; + private ArrayList inputs; + private ArrayList> nodes; + private ArrayList outputs; + /** + * Good citizen. + * + */ public Chromosome() { + inputs = new ArrayList(CGP.INPUTS); + for (int i = 0; i < CGP.INPUTS; i++) { + inputs.add(new Input()); + } + // rows first + nodes = new ArrayList>(CGP.ROWS); + for (int r = 0; r < CGP.ROWS; r++) { + nodes.add(new ArrayList(CGP.COLUMNS)); + for (int c = 0; c < CGP.COLUMNS; c++) { + nodes.get(r).add(new Node()); + } + } + outputs = new ArrayList(CGP.OUTPUTS); + for (int o = 0; o < CGP.OUTPUTS; 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); } } -- cgit v1.2.3