Beispiel #1
0
 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);
 }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
0
 public CPPNParameters(CAParameters caParams)
 {
     InputSize  = caParams.NeighbourHoodSize;
     OutputSize = caParams.CellStateCount;
 }