Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def ruletka(populacja, prawdopodobienstwa):
- nowa_populacja = []
- rozm_populacji = len(populacja)
- sorted = np.sort(prawdopodobienstwa)
- cum_sum = np.cumsum(sorted, axis=0)
- sum = np.sum(sorted)
- for _ in range(0, rozm_populacji):
- los = random.uniform(0, sum)
- if los < sorted[0]:
- nowa_populacja.append(populacja[prawdopodobienstwa.tolist().index(sorted[0])])
- continue
- licznik = 0
- while los > cum_sum[licznik]:
- licznik+=1
- i = prawdopodobienstwa.tolist().index(sorted[licznik-1])
- nowa_populacja.append(populacja[i])
- return nowa_populacja
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement