2011-09-26 13 views
6

Piszę algorytm genetyczny. Moja ludność szybko rozwija monokulturę. Używam małej populacji (32 osobniki) z niewielką liczbą dyskretnych genów (24 genów na osobnika) i podejściem krzyżowania z jednym punktem. Połącz to ze strategią doboru koła do ruletki i łatwo zauważyć, jak cała różnorodność genetyczna jest tracona w ciągu zaledwie kilkudziesięciu pokoleń.Zapobieganie chów wsobny i monokultury w algorytmie genetycznym (pytanie początkujących)

Co chciałbym wiedzieć, jaka jest właściwa odpowiedź? Nie posiadam wiedzy akademickiej na temat GA i tylko kilka rozwiązań przychodzi na myśl:

  1. Użyj większej populacji. (powolny)
  2. Stosuj kontrole czasu wykonywania, aby zapobiec in-breeding. (wolno)
  3. Użyj większej liczby punktów przecięcia. (niezbyt efektywne)
  4. Podnieś liczbę mutacji.

Jakie są odpowiednie reakcje na sytuację?

Odpowiedz

3

Spojrzałbym na większą populację, 32 osoby to bardzo mała populacja. Zwykle prowadzę GA z populacją przynajmniej w zakresie liczby chromosomów^2 (przez doświadczenie), aby uzyskać dobrą początkową dystrybucję osobników.

Możliwym sposobem na przyspieszenie działań z większą populacją jest odrodzenie różnych wątków (1 na osobę, ewentualnie w partiach) podczas wykonywania funkcji fitness (zazwyczaj najdroższa część GA).

Przyjmując populację 32, a także system Quad core, odradzamy wątki w partiach po 8 (2 wątki na procesor ładnie się przeplatają) i powinieneś być w stanie działać szybciej o około 4 *.

Dlatego jeśli masz limit czasu na wykonanie GA, może to być rozwiązanie.

+0

Robię postępy w przenoszeniu funkcji fitness do procesora graficznego za pomocą CUDA. Podniosłem populację do 4096 i osiągnąłem lepsze wyniki. Podoba mi się twoja zasada population_size> num_genes^2. – ahoffer

+0

Dziękuję, ale pamiętaj, że jest to tylko osobistą regułą, i nie mam żadnych danych do jej kopii innych niż instut i osobistego doświadczenia. :) – NWS

3

Można dodać do tego:

  • wybór turnieju zamiast koła ruletki
  • wyspa oddzielona wielofunkcyjnego systemu ludności, migracji
  • restartuje
  • zawierające pomysły z estymacji algorytmów dystrybucji (EDA) (ponowne pobieranie domeny w pobliżu obiecujących obszarów w celu wprowadzenia nowych osób)
+0

+1 szczególnie w przypadku separacji wysp –

Powiązane problemy