Możesz mieć trochę szczęścia w podejściu podobnym do obrazów genetycznych Karla Simsa .
Używa prostego zestawu operatorów w języku podobnym do LISP, dzięki czemu dane wyjściowe dowolnego operatora mogą być wykorzystane do wpływania na obraz, podobnie jak w niektórych językach modułu cieniującego (tj. Skalar byłby wartością w skali szarości, vector3
byłby RGB
itd. ).
Chociaż myślę, że to są rzeczy związane z implementacją, więc prawdopodobnie potrzebujesz jego słów kluczowych, które (iirc) zawierają wszystkie podstawy:
- funkcje wyzwalacza (
sin, cos, tan
itp.)
- pozycja (
x, y
)
- podstawowe operatory matematyczne (
sqrt, pow, abs, inverse
)
- funkcje hałasu (
fBm, noise2, noise3
)
- inne fraktale (
mandelbrot, julia
)
- funkcje interpolacji (
lerp, quad, step, smoothstep
)
(Niektóre z powyższych mogą nie być w jego implementacji; znalazłem jego pracę dawno temu i faktycznie podjąłem kilka prób tego, co opisujesz przez lata - więc wspomnienia mogą przeciekać :)
Dzięki temu jest interesujący (i szybki)
Miałem trochę szczęścia dzięki wielowarstwowemu podejściu, które znacznie zmniejszyło liczbę martwych ewolucji.
- zestaw zakresów jest generowany dla każdego operatora (lub mutowany z poprzednich rund)
- idealnie utrzymują wartości w „rozsądnym” zakresie dla każdej funkcji, ale mogą ewoluować w zakresy, które mają zaskakująco przydatne wyniki, co wydaje się być „właściwą” rzeczą do zrobienia
- wygeneruj kilka drzew algorytmów
- dla każdego z nich wygeneruj kilka map wysokości w losowych pozycjach i oceń kondycję
- jeśli mamy wiele dobrych dopasowań, to ewoluujemy nieco w dół tej gałęzi, zaburzając zakresy od kroku 1 u każdego dziecka
- w przeciwnym razie prawdopodobnie mamy złe zakresy, wróć do kroku 1
Jednak...
Teraz wygodnie pominąłem algorytm fitness , najczęściej stosowałem podejście Karla Simsa do „nienaturalnej selekcji”, w której obecna generacja znajduje się na środkowym kwadracie grona potomków (spopularyzowanych przez Elektronarzędzia Kaia w ciągu dnia - oto obraz tego, co mam na myśli ) ..
Jednak prawdopodobnie mógłbyś mieć zestaw zdjęć treningowych, być może niektóre ze zdjęć satelitarnych i kilka sztucznych o szczególnych cechach, a następnie może użyć na nich analizy falkowej lub 2D FFT w stosunku do testowanego terenu?
To ciekawy temat, ale wątpię, na co potrzebowałeś odpowiedzi :)
EDYCJA: ahh. musiałem usunąć kilka linków, ponieważ jestem nowym użytkownikiem: - |