/// <summary> /// initiates the mendel algorithm /// </summary> public void init() { GetProbabiliesComponent(); GetScoresTableComponent(); float[][] initialProbabilities = ProbabilitiesGenetic.generateInitialPopulation(Being.Length, ProbabilitiesComponents[0].getNumberOfActions()); setStats(initialProbabilities); InvokeRepeating("changeMyProbabilities", 5, rateTime); }
/// <summary> /// mutate probabilities /// </summary> void changeMyProbabilities() { float[][] currentPopulationGenes = getActualPoblation(); float[] currentScores = getSucessOfActualPoblation(); float minScore = getAverage(currentScores); float[][] newPopulation = ProbabilitiesGenetic.Genetic(currentPopulationGenes, currentScores, minScore); resetScores(); setStats(newPopulation); }