private void saveSpecies(final EncogWriteHelper out, final Species species) { out.addColumn("s"); out.addColumn(species.getAge()); out.addColumn(species.getBestScore()); out.addColumn(species.getGensNoImprovement()); out.writeLine(); for (final Genome genome : species.getMembers()) { final NEATGenome neatGenome = (NEATGenome) genome; out.addColumn("g"); out.addColumn(neatGenome.getAdjustedScore()); out.addColumn(neatGenome.getScore()); out.addColumn(neatGenome.getBirthGeneration()); out.writeLine(); for (final NEATNeuronGene neatNeuronGene : neatGenome.getNeuronsChromosome()) { out.addColumn("n"); out.addColumn(neatNeuronGene.getId()); out.addColumn(neatNeuronGene.getActivationFunction()); out.addColumn(PersistNEATPopulation.neuronTypeToString(neatNeuronGene.getNeuronType())); out.addColumn(neatNeuronGene.getInnovationId()); out.writeLine(); } for (final NEATLinkGene neatLinkGene : neatGenome.getLinksChromosome()) { out.addColumn("l"); out.addColumn(neatLinkGene.getId()); out.addColumn(neatLinkGene.isEnabled()); out.addColumn(neatLinkGene.getFromNeuronID()); out.addColumn(neatLinkGene.getToNeuronID()); out.addColumn(neatLinkGene.getWeight()); out.addColumn(neatLinkGene.getInnovationId()); out.writeLine(); } } }