From be1be8fcd21cf9834665731fcf74b02015611d6c Mon Sep 17 00:00:00 2001 From: Piotr Rychlicki Date: Tue, 9 Jun 2020 19:12:29 +0000 Subject: [PATCH] =?UTF-8?q?Algorytm=20genetyczny=20bez=20szukania=20wsp?= =?UTF-8?q?=C3=B3=C5=82rz=C4=99dnych?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Piotrek.py | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/Piotrek.py b/Piotrek.py index fc1244d..b58ec83 100644 --- a/Piotrek.py +++ b/Piotrek.py @@ -11,21 +11,21 @@ class main(): self.pathfinding_tractorless = pathfinding_tractorless.pathfinding_tractorless() self.pathfinding_tractor = pathfinding_tractor.pathfinding_tractor() - def wspolrzedne(self): #wyznacza wspolrzedne pol danego rodzaju na planszy - znalezione_pola = [] - k = 0 - ktore_pole = self.traktor.get_modes_values() #rodzaj pól zależy od ustawionego trybu pracy agenta - for i in self.field.field_matrix: - l = 0 - for j in i: - if j in ktore_pole: - znalezione_pola.append(k*10+l) - l = l + 1 - k = k + 1 - pierwsze_szukane_pole = znalezione_pola[0] #początkowa współrzędna, w każdym przypadku pole startowe [0,0] - znalezione_pola.append(pierwsze_szukane_pole) - print("Współrzędne szukanych pól: " + str(znalezione_pola)) - return znalezione_pola + # def wspolrzedne(self): #wyznacza wspolrzedne pol danego rodzaju na planszy + # znalezione_pola = [] + # k = 0 + # ktore_pole = self.traktor.get_modes_values() #rodzaj pól zależy od ustawionego trybu pracy agenta + # for i in self.field.field_matrix: + # l = 0 + # for j in i: + # if j in ktore_pole: + # znalezione_pola.append(k*10+l) + # l = l + 1 + # k = k + 1 + # pierwsze_szukane_pole = znalezione_pola[0] #początkowa współrzędna, w każdym przypadku pole startowe [0,0] + # znalezione_pola.append(pierwsze_szukane_pole) + # print("Współrzędne szukanych pól: " + str(znalezione_pola)) + # return znalezione_pola def koszt_przejazdu(self,znalezione_pola): #wyznacza koszt trasy przez pola danego rodzaju w zadanej kolejnosci self.liczba_pol = len(znalezione_pola) @@ -261,11 +261,10 @@ class main(): # print("Populacja po optymalizacji: " + str(populacja_po_optymalizacji)) return populacja_po_optymalizacji - def algorytm_genetyczny(self): - self.znalezione_pola = self.wspolrzedne() - self.koszt_trasy = self.koszt_przejazdu(self.znalezione_pola) + def algorytm_genetyczny(self,coords): + self.koszt_trasy = self.koszt_przejazdu(coords) # Utworzenie pokolenia - self.pierwsze_pokolenie = self.tworzenie_pokolenia(self.znalezione_pola,10) + self.pierwsze_pokolenie = self.tworzenie_pokolenia(coords,10) # Funkcja przystosowania self.przystosowanie, self.najnizszy_koszt, self.najwyzszy_koszt, self.srednie_przystosowanie_pierwszego_pokolenia, self.najtanszy_osobnik = self.ocena_przystosowania(self.pierwsze_pokolenie) # Populacja pośrednia wybrana metodą ruletki @@ -322,6 +321,6 @@ class main(): self.pathfinding_tractor.pathfinding_tractor(self.field, self.traktor, self.ui, self.najtansza_trasa, l) l = l + 1 - def main(self): - self.algorytm_genetyczny() + def main(self,coords): + self.algorytm_genetyczny(coords) self.wykonanie_trasy() \ No newline at end of file