Inteligentny_Wozek/algorytm_genetyczny.py

39 lines
1.2 KiB
Python
Raw Normal View History

2023-06-14 13:02:11 +02:00
import random
EKRAN_SZEROKOSC = 770
EKRAN_WYSOKOSC = 770
blockSize = 70
LICZBA_REGALOW = 14
LICZBA_MIEJSC_DLA_PACZKE = 1
LICZBA_SKRZYNEK_NA_LISTY = 1
def wygeneruj_osobnika(zasieg_wspolrzednych, ilosc_wspolrzednych):
# ilosc_wspolrzednych = ilosc_wspolrzednych/2
osobnik = list()
for j in range(ilosc_wspolrzednych):
x = random.randint(0, zasieg_wspolrzednych)
y = random.randint(0, zasieg_wspolrzednych)
e = (x, y)
while e in osobnik:
x = random.randint(0, zasieg_wspolrzednych)
y = random.randint(0, zasieg_wspolrzednych)
e = (x, y)
osobnik.append(e)
return osobnik
2023-06-14 13:04:08 +02:00
def wygeneruj_populacje_poczatkowa(liczebnosc_populacji):
populacja = list()
zasieg = int(EKRAN_WYSOKOSC / blockSize)
ilosc_wspolrzednych = (LICZBA_REGALOW + LICZBA_MIEJSC_DLA_PACZKE + LICZBA_SKRZYNEK_NA_LISTY)
for i in range(liczebnosc_populacji):
osobnik = wygeneruj_osobnika(zasieg, ilosc_wspolrzednych)
while osobnik in populacja:
osobnik = wygeneruj_osobnika(zasieg, ilosc_wspolrzednych)
populacja.append(osobnik)
return populacja
print(wygeneruj_populacje_poczatkowa(100))