def GA()

in jsuarez/tools/TestGA.py [0:0]


def GA(fitness, generations, n, t, sigma, dims):
   P, F = [], []
   for g in range(generations):
      Pn, Fn = [], []
      for i in range(n):
         if g == 0:
            P.append(StimNet(*dims))
            F.append(fitness(P[-1]))
         elif i == 0:
            Pn.append(P[0])
            Fn.append(F[0])
         else:
            k = np.random.randint(0, t)
            Pn.append(randomMutation(P[k], sigma))
            Fn.append(fitness(Pn[-1]))
      #Sort dec by F
      if g > 0:
         inds = np.argsort(Fn)[::-1]
         F = np.asarray(Fn)[inds].tolist()
         P = np.asarray(Pn)[inds].tolist()
      print(F[0])