2012-12-08 13 views
15

Aktualnie czytam artykuł o korzystaniu z GA w ograniczonych problemach z optymalizacją. W pewnym momencie mówi się o zastosowaniu schematu iching na osobach (lub froncie Pareto, które tworzą).Co to jest schemat obłędu?

Wygląda na to, że jest to typowy schemat selekcji, ale podczas wyszukiwania nie mogłem znaleźć dobrego wyjaśnienia.

Czy ktoś może mi wyjaśnić tak prosty, jak to tylko możliwe, co to jest system imienny?

Odpowiedz

33

Po prostu, niching to klasa metod, które próbują zjednoczyć się w więcej niż jednym rozwiązaniu podczas jednego uruchomienia.

Niching jest ideą segmentacji populacji GA w zestawy rozłączne, przeznaczone do tego, aby mieć co najmniej jednego członka w każdym regionie funkcji fitness, który jest "interesujący"; ogólnie przez to rozumiemy, że obejmujecie więcej niż jedną lokalną optymę.

Wyobraź sobie funkcję podobną do f(x) = sin(x^2).

enter image description here

Normalny GA końcu zbiegają się w kierunku jednego globalnego minimum dwa. Który z nich zależy od początkowej populacji i losowego dryfu genetycznego występującego podczas biegu, ale ostatecznie dostaniesz n kopii jednej osoby w jednej lub w innych dolinach. Na przykład, jeśli spojrzał na taki GA, kiedy została ona niemal zbiegły, można zobaczyć coś takiego

standard GA

Niching to ogólna klasa technik przeznaczony do końca się z grubsza połowa ludności zbieżne w każdym minimów (lub prawdopodobnie nawet kilku członków w mniej dopasowanym minimum pod numerem x=0).

niching

Jak już powiedziałem, niching nie jest to algorytm tyle ogólnej klasy algorytmów. Jedną z takich metod jest dzielenie się zdrowiem Goldberga. W tej metodzie definiujemy promień niszowy sigma. Dowolne dwie osoby bliżej siebie niż ta sigma są uważane za znajdujące się w tej samej niszy, a zatem muszą dzielić się swoimi wartościami przydatności (myślę, że jest to funkcja, która zmniejsza sprawność każdego członka niszy, im gęstsza jest nisza). Następnie GA działa na wspólnych wartościach kondycji zamiast na surowych.

Pomysł polega na tym, że zniechęcasz do konwergencji do jednego regionu funkcji fitness, udając, że są tam ograniczone zasoby. Im więcej osób próbuje się wprowadzić, tym gorzej. Rezultat jest taki, że gdy GA znajduje się gdzieś w jednym lokalnym optimum, kondycja tego optimum maleje z powodu zwiększonej konkurencji wewnątrz niszy. Ostatecznie inny region krajobrazu fitness staje się bardziej atrakcyjny, a ludzie migrują tam. Chodzi o osiągnięcie stanu ustalonego - stałego punktu w dynamice - w którym zachowana jest odpowiednia reprezentacja każdej niszy.

Udostępnianie jest trudne ze względu na konieczność ręcznego ustawienia promienia niszy, a algorytm jest bardzo czuły na ten wybór. Inną alternatywą jest tłok. W szczególności możesz sprawdzić "Deterministic Crowding", który był popularną metodą przez pewien okres czasu.W metodach opartych na tłoku, zamiast zajmować się wyraźnym promieniem, pracujemy, ograniczając zbiór osób, które nowe potomstwo może zastąpić niektórymi zestawami podobnych rozwiązań, na przykład potomstwo może zostać zastąpione tylko jednym z jego rodziców. Efektem jest próba uniknięcia zastąpienia wyjątkowej osoby taką, która jest bardzo podobna do tuzina innych osób w populacji, a tym samym zachowanie różnorodności w ten sposób.

1

Tak, dobre wyjaśnienie przez deong dla niching. Wszystkie te techniki mają na celu zachowanie różnorodności populacji.

To właśnie robi front pareto. GA, które szukają przodu Pareto, to algorytmy ewolucji wieloobiektowej. Próbują zoptymalizować nie tylko jedno kryterium, ale dwa lub więcej. Zatem fronton Pareto to wszystkie Indiviudale, które nie są pareto zdominowane przez Osobę populacji. http://en.wikipedia.org/wiki/Pareto_efficiency

W krótkich słowach: Osoba A jest członkiem frontu Pareto, jeśli nie ma indywidualnego B w populacji, która jest co najmniej tak dobry jak w sprawie co kryteria i lepiej niż w co najmniej jedno kryterium.