Function evolvePopulation

  • Parameters

    • population: Genome[]
    • previousSpecies: {
          createdGeneration: number;
          population: Genome[];
          recordFitness: number;
          recordGeneration: number;
          representative: Genome;
      }[]
    • innovationHistory: {
          addInnovation: ((c) => number);
          getInnovation: ((c) => number);
      }
      • addInnovation: ((c) => number)
          • (c): number
          • Track this connection and give it the next innovation number

            Parameters

            Returns number

      • getInnovation: ((c) => number)
          • (c): number
          • Get or create a new innovation to track the current connection.

            Parameters

            Returns number

    • config: {
          addLinkProbability: number;
          addNodeProbability: number;
          compatibilityModifier: number;
          compatibilityThreshold: number;
          disjointCoefficient: number;
          excessCoefficient: number;
          fitnessSort: FitnessSort;
          hallOfFameSize: number;
          initialPopulationSize: number;
          inputSize: number;
          interspeciesMatingRate: number;
          largeNetworkSize: number;
          loggingPlugins: Logger[];
          mateByAveragingProbability: number;
          mateByChoosingProbability: number;
          mateOnlyProbability: number;
          maxGenerations: number;
          maximumStagnation: number;
          minimumSpeciesSize: number;
          mutateOnlyProbability: number;
          mutateWeightProbability: number;
          nnPlugin: NNPlugin;
          outputSize: number;
          reenableConnectionProbability: number;
          survivalThreshold: number;
          targetSpecies: number;
          weightDifferenceCoefficient: number;
      }
      • addLinkProbability: number
      • addNodeProbability: number
      • compatibilityModifier: number
      • compatibilityThreshold: number
      • disjointCoefficient: number
      • excessCoefficient: number
      • fitnessSort: FitnessSort
      • hallOfFameSize: number
      • initialPopulationSize: number
      • inputSize: number
      • interspeciesMatingRate: number
      • largeNetworkSize: number
      • loggingPlugins: Logger[]
      • mateByAveragingProbability: number
      • mateByChoosingProbability: number
      • mateOnlyProbability: number
      • maxGenerations: number
      • maximumStagnation: number
      • minimumSpeciesSize: number
      • mutateOnlyProbability: number
      • mutateWeightProbability: number
      • nnPlugin: NNPlugin
      • outputSize: number
      • reenableConnectionProbability: number
      • survivalThreshold: number
      • targetSpecies: number
      • weightDifferenceCoefficient: number
    • generation: number

    Returns {
        nextPopulation: {
            adjustedFitness: number;
            fitness: number;
            genes: ConnectionGene[];
            maxGeneIndex: number;
            process: ((inputs) => number[]);
        }[];
        nextSpecies: {
            createdGeneration: number;
            population: Genome[];
            recordFitness: number;
            recordGeneration: number;
            representative: Genome;
        }[];
    }

    • nextPopulation: {
          adjustedFitness: number;
          fitness: number;
          genes: ConnectionGene[];
          maxGeneIndex: number;
          process: ((inputs) => number[]);
      }[]
    • nextSpecies: {
          createdGeneration: number;
          population: Genome[];
          recordFitness: number;
          recordGeneration: number;
          representative: Genome;
      }[]

Generated using TypeDoc