コード例 #1
0
ファイル: mutator.py プロジェクト: fauskanger/geneticsat
 def mutate(self, genes):
     n = len(genes)
     to_mutate = seeded_random.sample(range(n),
                                      max(n * self.mutation_rate, 1))
     for i in to_mutate:
         genes[i] = not genes[i]
     return genes
コード例 #2
0
 def _random_crossover(self, chromosome_a, chromosome_b, n_cross_points=2):
     cross_points = seeded_random.sample(range(chromosome_a.length()),
                                         n_cross_points)
     cross_points.sort()
     return self._crossover_from_points(chromosome_a, chromosome_b,
                                        cross_points)
コード例 #3
0
ファイル: evolution.py プロジェクト: fauskanger/geneticsat
 def _random_crossover(self, chromosome_a, chromosome_b, n_cross_points=2):
     cross_points = seeded_random.sample(range(chromosome_a.length()), n_cross_points)
     cross_points.sort()
     return self._crossover_from_points(chromosome_a, chromosome_b, cross_points)
コード例 #4
0
ファイル: mutator.py プロジェクト: fauskanger/geneticsat
 def mutate(self, genes):
     n = len(genes)
     to_mutate = seeded_random.sample(range(n), max(n * self.mutation_rate, 1))
     for i in to_mutate:
         genes[i] = not genes[i]
     return genes