Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.64 KB | None | 0 0
  1. def ruletka(populacja, prawdopodobienstwa):
  2.     nowa_populacja = []
  3.     rozm_populacji = len(populacja)
  4.     sorted = np.sort(prawdopodobienstwa)
  5.     cum_sum = np.cumsum(sorted, axis=0)
  6.     sum = np.sum(sorted)
  7.     for _ in range(0, rozm_populacji):
  8.         los = random.uniform(0, sum)
  9.         if los < sorted[0]:
  10.             nowa_populacja.append(populacja[prawdopodobienstwa.tolist().index(sorted[0])])
  11.             continue
  12.         licznik = 0
  13.         while los > cum_sum[licznik]:
  14.             licznik+=1
  15.         i = prawdopodobienstwa.tolist().index(sorted[licznik-1])
  16.         nowa_populacja.append(populacja[i])
  17.     return nowa_populacja
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement