Języki

You are here

Demonstracja działania algorytmu ewolucyjnego

Okno programu składa się z dwóch części: lewa, większa część przedstawiająca bieżącą populację, oraz część prawa, służąca do kontroli działania AE. Zadanie optymalizacyjne postawione programowi jest następujące: wyewoluować "kukiełki" jak najbardziej podobne do wzorca, umieszczonego w prawej górnej części ekranu. Zabawę można rozpocząć od edycji kukiełki wzorcowej. Kukiełka opisana jest zestawem współrzędnych (np. współrzędne łokcia, środka główki itp.), kątów (kąty odchylenia promieni wodzących kończyn kukiełki od osi jej tułowia), oraz promieni (promienie poziomy i pionowy elipsy tworzącej korpus kukiełki). Dane te stanowią zatem genotyp kukiełki. Kukiełka wzorcowa charakteryzuje się czerwonymi kwadracikami rozmieszczonymi na jej ciele. Zbliżenie myszy do jednego z tych kwadracików powoduje pojawienie się wokół niego otoczki. Kliknięcie na takiej otoczce uaktywnia zestaw ikonek edycyjnych z prawej strony kukiełki. Ikonkami tymi można regulować parametry związane z klikniętym kwadracikiem (przesuwanie – dla współrzędnych, regulacja kątów i promieni).

Początkowa populacja kukiełek jest losowa i w gruncie rzeczy nie bardzo kukiełki przypomina. W miarę postępów działania AE można jednak zaobserwować upodabnianie się kukiełek z populacji do wzorca. Funkcja oceny opiera się na "odległości" ocenianej kukiełki od wzorca. Odległość ta jest sumą odległości odpowiadających sobie współrzędnych (np. odległość pomiędzy lewym łokciem wzorca i kukiełki ocenianej), do której dodaje się różnice odpowiadających sobie kątów i promieni. Odległość wynosi zatem 0 dla kukiełek identycznych i zwiększa się ze wzrostem liczby różnic między nimi. Podsumowując, preferowane są kukiełki jak najmniej odległe od wzorca.

Ewolucji dokonuje się przez wciśnięcie przycisku "Ewoluuj". Jednokrotne wciśnięcie powoduje przeprowadzenie tylu kroków ewolucji, ile ustawione ich jest na suwaku "Iteracje".

Genotyp wybranej kukiełki z populacji można podejrzeć ustawiając nad nią kursor myszy (kukiełka jest wtedy otoczona niebieskim prostokątem) i klikając na niej. Można również podejrzeć, jak zmieniała się średnia odległość kukiełek w populacji podczas ewolucji – służy do tego przycisk "Wykres dopasowania" (na wykresie czerwone kropki oznaczają wartości średnie, a otaczające je szare paski to odchylenie standardowe).

Dostępne są kontrolki umożliwiające ustawienie liczby osobników w populacji, liczby generowanych jednorazowo potomków, oraz prawdopodobieństwa mutacji zmiennej i naporu selekcyjnego (opisane poniżej).