diff --git a/RaportKarolPiotrowski.md b/RaportKarolPiotrowski.md index 2e65efe..7d51e7a 100644 --- a/RaportKarolPiotrowski.md +++ b/RaportKarolPiotrowski.md @@ -1 +1,47 @@ -a \ No newline at end of file +# Opis dokumentu +Ten dokument to raport z wykonanego podprojektu na przedmiot Sztuczna Inteligencja. Celem +zadania jest implementacja algorytmu genetycznego w projekcie o tematyce inteligentny traktor. + +# Zastosowanie algorytmu +Algorytm został wykorzystany do wygenerowania zbioru roślin do zasadzenia na bazie zebranych wcześniej roślin + +# Skrócony opis implementacji w projekcie wspólnym +* Na początku dla każdego pola zawierającego buraki, zostanie wygenerowany kod genetyczny roślin z tego pola. + +![](images/test2_generowanie_burakow.png) + +* Funkcja Move teraz zajmuje się również zbieraniem i wywoływaniem sadzenia roślin + +![](images/move_zbieranie.png) + +* Funkcja przypiszKod decyduje czy należy zasadzić jedną z modyfikowanych genetycznie roślin, czy należy zasadzić nową (losową). + +![](images/przypiszKod.png) + +* Gdy liczba zebranych buraków osiągnie określoną wartość, zostanie przeprowadzony algorytm genetyczny i powstanie tablica roślin do zasadzenia + +![](images/wykonanie_algorytmu_gen.png) + +# Opis algorytmu genetycznego +* Algorytm wykonuje 5 iteracji, w których dokonuje selekcji osobników populacji, które zostaną poddane rozrodowi i wytwarza kolejne pokolenie populacji. Po wyjściu z pętli metodą rankingu selekcjonuje najlepszą część ostatniego pokolenia. + +![](images/genetic_algorithm.png) + +* Selekcja odbywa się metodą ruletki. Obliczana jest wartość funkcji dostosowania dla każdego osobnika. Im lepsza wartość, tym większa szansa na wylosowanie. + +![](images/selection.png) + +* Funkcja dostosowania polega na wyliczeniu średniej arytmetycznej trzech wartości: smaku, rozmiaru i koloru rośliny, które są zakodowane w łańcuchu znaków. + +![](images/fitness.png) + +* Funkcja crossover zajmuje się wywołaniem krzyżowania odpowiedniej liczby osobników + +![](images/crossover.png) + +* Zastosowana została metoda krzyżowania równomiernego (uniform crossover) z małą modyfikacją, zmniejszającą szansę na to, że dziecko będzie "klonem" rodzica. Istnieje również mała szansa, że dojdzie do równomiernej mutacji (uniform mutation), w której losowa cecha dziecka zostaje wygenerowana na nowo. + +![](images/cross.png) + + +