-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!plix.pl!newsfeed
1.plix.pl!news.icm.edu.pl!news.onet.pl!newsgate.m10r2.onet.pl!niusy.onet.pl
From: m...@t...pl
Newsgroups: pl.comp.programming
Subject: Re: wy?arzanie
Date: Fri, 01 Jul 2011 15:02:13 +0200
Organization: Onet.pl
Lines: 146
Sender: n...@n...onet.pl
Message-ID: <6...@n...onet.pl>
NNTP-Posting-Host: newsgate.m10r2.onet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: 8bit
X-Trace: newsgate.onet.pl 1309525334 21639 213.180.150.14 (1 Jul 2011 13:02:14 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Fri, 1 Jul 2011 13:02:14 +0000 (UTC)
Content-Disposition: inline
X-Mailer: http://niusy.onet.pl
X-Forwarded-For: 89.229.34.123, 10.174.28.57
X-User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0
Xref: news-archive.icm.edu.pl pl.comp.programming:191278
[ ukryj nagłówki ]>
> Użytkownik "Mariusz Marszałkowski" napisał w wiadomości
> news:d34710db-c8b0-42a8-ac73-a8efe8ba17a4@eb1g2000vb
b.googlegroups.com...
>
> > Moze zrob taki eksperyment? Trzeba kazdy algorytm
> > odpalic tysiace razy na losowej populacji i podac srednia ilosc
> > wywolan funkcji celu dla obu algorytmow, zanim w procesie
> > uczenia osiagna maksimum - czyli zanim osiagna same
> > jedynki albo same zera.
>
> ... ha, żeby mi płacili za takie eksperymenty, to plany miałbym znacznie
> ambitniejsze :)
> Ale może znajdę trochę czasu ...
> Na chwilę obecną nie mam pomysłu (ale się nad tym głębiej nie
> zastanawiałem),
> jak zmusić funkcję oceny do tego, żeby robiła wskazaną wcześniej przeze mnie
> 'promocję' - czyli żeby za szybko nie wycinała niszowych gatunków, ale
też
> ich nie
> ch(?)ołubiła za bardzo.
Chyba nie jest możliwe osiągnięcie czegoś takiego bez zwiększania
pamięci - czyli ilości osobników. Jeśli dokonujemy selekcji to obojętnie
jaka to jest selekcja musimy przegrane osobniki odrzucić. Aby mieć możliwość
powrotu do odrzuconych, musimy je gdzieś zapamiętać, a zamiast pamiętać, to
chyba lepiej zwiększyć ilość osobników na starcie?
> Mamy taką sytuację, że zaczyna się kształtować jakiś podgatunek i trafił w
> okolice jakiegoś ekstremum, ale jest dużo dalej od optimum, niż inne,
> wcześniej powstałe gatunki (funkcjonujące wokół innych ekstremów).
> Zastanawiam się, jak wbudować w AG proces decyzyjny, który będzie
> rozstrzygał, czy warto daną niszę chronić
Zawsze używałem czegoś co nazywałem funkcją odpychającą, a standardowo
w optymalizacji nazywa się to chyba "deformacją funkcji". Załóżmy że
optymalizujemy funkcję F(x) na wektorze x. W trakcie optymalizacji
algorytm dotarł w pobliże lokalnego minimum x1. Więc do naszej funkcji F(x)
dodajemy funkcję odpychającą G(x,x1), np. G = F(x) / ( 1 + ||x-x1|| ).
W kolejnych startach optymalizujemy F(x) + G(x,x1) + G(x,x2) + ...
> i drążyć temat, czy pozwolić podgatunkowi wymrzeć - i zrobić to tak, żeby
> nie zwiększać złożoności obliczeniowej.
W skrócie: najlepsze wyniki miałem gdy najgorszego osobnika (albo kilka
najgorszych) zastępowałem losowymi i każdy osobnik był tylko mutowany.
Gdy zastępowanie zastępowałem krzyżowaniem to średnio na 30 prób 29 razy
działało gorzej, a jeśli z populacji była usuwana mała ilość najgorszych
osobników (np. tylko jeden) to nie widziałem żadnej różnicy pomiędzy
krzyżowaniem a zastępowaniem kopią innego osobnika. PS. każdy osobnik
miał jeszcze swoją kopię najlepszych genów i gdy mutacja kilka razy nie
pomagała to był odtwarzany z kopii.
> Tak mi w trakcie pisania wpadło do głowy: oceniać średni postęp w stosunku
> do wyników z poprzedniej iteracji. Tylko tu się pojawia problem taki, że
> chciałbym to tak zaimplementować, żeby granice między (pod)gatunkami/rasami
> nie były zbyt sztywne, żeby się same pogłębiały (lub nie). Tak więc
> przynależność
Nie wiem, ale wydaje się mało celowe. Jeśli populacja osiągnęła już
jakieś ekstremum lokalne to lepiej ją całkowicie stamtąd przegnać,
a ekstremum zapamiętać w bazie rozwiązań i nie tracić czasu na ponowne
drążenie w tym samym miejscu. Jeśli koniecznie ma być analogia do
naturalnych AG to można dać pojęcie wyeksploatowanego terenu. Niektóre
gatunki z naszej planety pewnie też niedługo będą uciekały :)
> do gatunku byłaby oceniana na podstawie nie jednego parametru, ale całego
> ich zestawu
> (nazwałbym to 'facjatą osobnika' - czyli zestawem cech fenotypowych,
które
> on eksponuje na zewnątrz, a jednocześnie posiada też swoje preferencje,
> czyli zestaw cech oceniających facjaty innych osobników i na tej podstawie
> wyliczajacy swoją skłonność do krzyżowania się z nimi). To trochę komplikuje
> temat - jak ocenić, czy to osobny gatunek, czy jeszcze ciągle ten sam.
> W naturze działa to jakoś tak, że po pierwsze mamy wielokryterialną, słabo
> zdefiniowaną i ewoluującą funkcję(funkcje) oceny - co cieżko przenieść
> na grunt, w którym dokładnie wiemy, co chcemy osiągnąć.
Naturalna ewolucja wydaje się operować na takich samych abstrakcjach jak
ludzki umysł, albo nawet na lepszych. Wydaje się że naturalna ewolucja
działa jak sprytny projektant, co najwyżej z małą domieszką chaosu, a może
po prostu czasami się myli. W wyniku skrzyżowania dwóch osobników powstaje
osobnik trzeci, często o cechach lepszych niż rodzice. Wydaje się że naturalna
ewolucja działa na gotowych i dobrze dostosowanych półproduktach i ma dobrze
ograniczoną przestrzeń rozwiązań. Wydaje się jakby tylko próbowała różnych
kombinacji półproduktów i delikatnie zmieniała cech, np. grubość kości, wzrost
osobnika, itd. Np. moja koleżanka ma podwojony jakiś organ (o ile pamiętam
ma dwie śledziony). Nie doszło w jej przypadku do losowych zaburzeń, tylko
ma drugi podobno normalny i pełnosprawny organ. Nie jest możliwe uzyskanie
dwóch takich samych organów w wyniku procesu który ma dużo losowości. Doszło
tam do jakiejś bardzo sprytnej próby: mamy jeden sprawdzony i dobrze działający
organ, to spróbujmy jaki efekt dadzą jego dwie kopie.
> Ale jest jeszcze jedna sprawa: w naturze istnieje np. pojęcie ograniczeń
> geograficznych,dryfu genetycznego i mobilności osobników - i tu by
> już można się zastanowić nad sensem wprowadzenia takiego zjawiska.
> Obie te sprawy powodują naturalną bezwładność procesu wymierania
> nisz - wymierają one dopiero, kiedy jakiś już wyraźnie inny gatunek
> (z którym się nie krzyżują) wchodzi na ten sam teren i rywalizuje w podobnej
> przestrzeni oceny (jest oceniany wg. powiedzmy podobnych kryteriów,
> rywalizuje w dostępie do tych samych zasobów) lub z jakicholwiek innych
> powodów w okolicy będącej w zasiegu danego osobnika nie ma odpowiednich
> partnerów do krzyżowania.
Mnie się wydaje ze Natura działa w znacznie(!) bardziej skomplikowany sposób
niż krzyżowanie genów i selekcja naturalna. Myślę że jest masa sił
oddziałujących na molekuły których jeszcze nie rozumiemy.
> I takie tam :) Pewnie w innym życiu :)
> Tematy zresztą chyba nie są jakieś odkrywcze, pewnie by się znalazła
> literatura, w której podobne sprawy już badano.
Jest dużo literatury, ale często zawiera np. określenie "okazuje się że
dodanie tam AG przyspiesza proces znajdowania rozwiązania" i nic
nie wiem: jak to było badane, jak sprawdzane, o ile przyspieszone,
jaki był kod programu, jakie szczególne cechy problemu, jakie
operatory krzyżowania, z jakimi algorytmami było porównywane, itd.
> Dla mnie osobiście najciekawsze w tym jest nie tyle szybkie wykrycie
> optimów, co bardziej sam temat powstawania gatunków. Pokazanie,
> że nawet w populacjach, które nie są specjalnie izolowane, mogą
> się samoistnie pojawiać niezależnie ewoluujące gatunki - tylko do tego
> prawdopodobnie jest potrzebna wielokryterialna funkcja oceny,
> być może jakaś zmienna funkcja oceny zależna od lokalizacji geograficznej
> (ale niekoniecznie nieciągła, nie spieszy mi się do wprowadzania w ocenę
> elementu gwałtownych zmian, będących np. odpowiednikiem gwałtownej
> zmiany środowiska - jak plaża i morze) oraz ten aspekt ewoluujących
> preferencji osobistych u osobników.
Trzeba by opracować funkcję preferencji seksualnych. Przed wywołaniem
optymalizowanej funkcji wywołujemy funkcję preferencji. Wywołanie
funkcji preferencji powinno być znacznie mniej kosztowne niż
wywołanie funkcji właściwej. Osobnik losuje sobie N partnerów, wywoływana
jest funkcja preferencji i wybiera tego dla których ma największą
wartość. Ale jak sensownie opracować taką funkcję preferencji to nie
mam bladego pojęcia... może zrobić ją chamsko: wylosować małą ilość
przykładów uczących, sprawdzić jak potomek się zachowuje na tej małej
ilości i wierzyć że na pełnym zbiorze uczącym zachowa się równie dobrze :)
Pozdrawiam!
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Następne wpisy z tego wątku
- 01.07.11 13:59 b...@n...pl
- 01.07.11 14:13 Paweł Kierski
- 01.07.11 16:16 sielim
- 01.07.11 16:41 A.L.
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=