Facebook
From xxx, 3 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 62
  1. class Tournament:
  2.     @staticmethod
  3.     def select(pop, evaluated_pop, k):
  4.         winners = []
  5.         counter = 0
  6.         i = 0
  7.  
  8.         for i in range(0, evaluated_pop.size - k, k):
  9.             candidate_scores = evaluated_pop[i:i + k]
  10.             index_best_candidate = np.argmax(candidate_scores)
  11.             winners.append(pop[i + index_best_candidate])
  12.         winners = np.array(winners)
  13.         return winners
  14.  
  15.  
  16. class BestSelection:
  17.     @staticmethod
  18.     def select(pop, evaluated_pop, k):
  19.         winners = []
  20.         indexes = evaluated_pop.argsort()[-k:]
  21.         for i in range(k):
  22.             winners.append(pop[indexes[i]])
  23.         winners = np.array(winners)
  24.         return winners