public Parameters() { experiment = new LambdaExperiment(); // THE ONLY LINE NEEDING CHANGING IN THE GENERAL CASE CA = experiment.GetParameters(); EA = new EAParameters(experiment); CPPN = new CPPNParameters(CA); }
public LookUpCA() : base() { parameters = new CAParameters(NeighbourHoodSize: 3, //above three is just "almost" supported currently CellStateCount: 2, CellWorldWidth: 25, MaxGeneration: 25); MakeStates(parameters.CellStateCount); seed = new float[] { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; if (seed.Length != parameters.CellWorldWidth) { throw new FormatException("seed not compatible with experiment parameters"); } cells = new OneDimCell[parameters.CellWorldWidth]; for (int i = 0; i < parameters.CellWorldWidth; i++) { cells[i] = new OneDimCell(i, cells, parameters.NeighbourHoodSize); } foreach (BaseCell cell in cells) { cell.InitializeNeighbourhood(); } }
public CPPNParameters(CAParameters caParams) { InputSize = caParams.NeighbourHoodSize; OutputSize = caParams.CellStateCount; }