Zaktualizuj 'RaportKarolPiotrowski.md'
This commit is contained in:
parent
d3ebf4b7a7
commit
a23cf34f6c
@ -1 +1,47 @@
|
||||
a
|
||||
# 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)
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user