diff --git a/algorytm_genetyczny.py b/algorytm_genetyczny.py new file mode 100644 index 0000000..d1bab56 --- /dev/null +++ b/algorytm_genetyczny.py @@ -0,0 +1,38 @@ +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 + + +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))