Jak to działa
Trzy rzeczy napędzają Biotop: reguły dziedziczenia, bilans energii i mózgi zwierząt. Poniżej możesz każdą z nich sam poruszyć.
1. Krzyżowanie: średnia rodziców plus rozrzut
Każda cecha to liczba od 1 do 10. Dziecko dostaje średnią rodziców i do tego losowe odchylenie. Im bardziej różnią się rodzice, tym szerszy przedział, w którym może wylądować potomek. Podobni rodzice dają stabilne potomstwo, ale zawsze z jakąś zmiennością. Rzadko zdarza się też mutacja, czyli większy skok.
- potomek bez mutacji
- potomek z mutacją
- przedział średnia ± r
Wzór (identyczny z kodem symulacji): m = (A + B) / 2, r = max(|A − B| / 2 + 1,0, 0,5), potomek = m + u, gdzie u pochodzi z przedziału [−r, r]. Z szansą 3% dochodzi jeszcze losowy skok o odchyleniu 1,5. Wynik jest przycinany do skali 1–10. Wartości pochodzą z pliku konfiguracji świata. Histogram to 30 000 losowań ze stałym ziarnem, więc przy tych samych ustawieniach wygląda zawsze tak samo.
Dlaczego nie wszystko ewoluuje do 10? Bo każda cecha kosztuje energię: szybkość podbija koszt ruchu, rozmiar metabolizm, wzrok stały koszt. Którą wartość „opłaca się” mieć, zależy od świata: przy wielu drapieżnikach wygrywa szybkość, przy głodzie wygrywają tanie cechy.
2. Przepływ energii: od słońca do gleby
Energia jest walutą wszystkiego. Roślina zamienia światło w biomasę (tym więcej, im żyźniejsza i wilgotniejsza gleba oraz im lepsza pora roku). Zwierzę dostaje tylko część energii tego, co zjadło. Reszta nie ginie, tylko wraca do gleby i napędza nowe rośliny.
- Strzałka ciągła: przepływ energii
- Strzałka przerywana: drapieżnik zjada padlinę
Roślinożerca zyskuje 35,0, a 65,0 wraca do gleby. Jeśli ten roślinożerca trafi potem do drapieżnika, ten zyska 21,0, a 14,0 kolejnej porcji wraca do gleby.
- Sprawność roślinożercy: 0,35 energii zjedzonej rośliny. Sprawność drapieżnika: 0,60 energii ofiary (mięso jest kaloryczniejsze).
- Padlina rozkłada się w 60 s, a drapieżnik dostaje z niej 0,50 wartości zwykłej zdobyczy.
- Odchody to 10% zjedzonej energii i też trafiają do gleby.
- Pory roku mnożą tempo wzrostu: wiosna 1,00, lato 1,20, jesień 0,70, zima 0,25. Doba trwa 120 s czasu symulacji, a pora roku to 10 dób.
Dolna granica energii to śmierć z głodu. Poniżej progu głodu zwierzę zwalnia i przestaje się rozmnażać, więc jego geny nie idą dalej. Tak działa dobór naturalny w Biotopie: nie ma osobnej „kary za słabość”.
3. Jak uczyliśmy mózgi
Każdy gatunek zwierząt ma jedną sieć neuronową. Dostaje ona na wejście to, co osobnik „widzi” (najbliższe rośliny, drapieżniki, swoich, wodę), jego stan (energia, wiek, pora roku) oraz jego geny. Dzięki temu ta sama sieć steruje szybkim i wolnym osobnikiem inaczej. Wyjście to skręt, siła napędu i wybór akcji: nic, jedz, rozmnażaj się, odpoczywaj.
Etapy treningu
- Skrypt (utility AI)Ręcznie napisany mózg, który działa od początku. Jest punktem odniesienia, nauczycielem i zapasem, gdy model RL jest niedostępny lub nieaktualny.
- Klonowanie zachowaniaSieć uczy się naśladować skrypt na próbkach z wielu losowych światów, żeby zacząć od sensownego zachowania zamiast losowego.
- PPO (uczenie ze wzmocnieniem)Sieć zbiera nagrody za jedzenie, potomstwo i przeżycie, a kary za śmierć. Uczymy najpierw roślinożerców, potem drapieżników, potem na przemian, z puli wcześniejszych przeciwników. Genetyka działa przez cały czas, więc sieć widzi pełne spektrum genów.
- DestylacjaDuża sieć treningowa uczy mniejszą, która liczy się szybko. Ta mała sieć (wielowarstwowy perceptron) jest zaszyta w module WASM i w przeglądarce wykonuje tylko wnioskowanie.
Trening odbywa się offline, na tym samym kodzie reguł świata (Rust), który działa potem w przeglądarce. Model jest podpisany skrótem specyfikacji wejścia: jeśli zmieni się układ obserwacji, stary model zostanie odrzucony, a świat użyje mózgu skryptowego.
Krzywa nagrody
Skrypt kontra RL
Wyniki porównania są w trakcie opracowania. Nie publikujemy liczb, dopóki nie przejdą automatycznej ewaluacji.
Kryterium akceptacji jest z góry ustalone: mózg RL ma być lepszy od skryptowego w co najmniej 3 z 4 metryk: czas przeżycia, potomstwo na osobnika, skuteczność polowań i odsetek lat bez wymarcia gatunku. W symulacji możesz przełączyć mózg ze Skryptu na RL i zobaczyć różnicę na własne oczy.