-
1. Data: 2011-07-01 13:02:13
Temat: Re: wy?arzanie
Od: m...@t...pl
>
> 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
-
2. Data: 2011-07-01 13:59:29
Temat: Re: wy?arzanie
Od: "b...@n...pl" <b...@n...pl>
On 01.07.2011 15:02, m...@t...pl wrote:
> 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.
>
Naturalna ewolucja trwa cały czas, w każdym osobniku. W przyrodzie każda
cecha jest szybko weryfikowana, więc codziennie giną setki potencjalnych
linii ewolucyjnych. Inna sprawa, że w przyrodzie jest jeszcze jedno
zjawisko, oszczędzanie energii. Każdy organizm dąży do jak najlepszego
wykorzystania energii i oszczędzania tej. Nowe przystosowanie o ile jest
energochłonne musi być bardzo pożyteczne, bo inaczej utrudnia
funkcjonowanie.
W sumie najlepszym miejscem do testowania algorytmów genetycznych byłaby
arena core wars. Dodajemy czynnik mocnej rywalizacji. Oczywiście możemy
wyciąć coś lepszego przez przypadek, bo akurat jakiś słabszy organizm
trafi w to miejsce.
Ewolucja promuje organizmy mogące dostosować się do zmienności
środowiska. Lokalnie jakiś gatunek może być doskonały, ale w innym
środowisku nie da sobie rady. Na samą ewolucję mają wpływ też zjawiska
losowe, kiedy bardzo dobrze przystosowane organizmy są zmiatane, a z
niszy wychodzą inne, które nie mogły się rozwinąć przy dominujących
gatunkach.
--
wer <",,)~~
http://szumofob.eu
-
3. Data: 2011-07-01 14:13:11
Temat: Re: wy?arzanie
Od: Paweł Kierski <n...@p...net>
W dniu 2011-07-01 15:02, m...@t...pl pisze:
[...]
> 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.
Stary argument Lema przytoczę: gdyby ewolucja działała planowo, to
zamiast ptaków z całą ich mechaniką i aerodynamiką mielibyśmy zielone
fotoloty. Przecież gotowy komponent przetwarzający energię na poziomie
kwantowym (chlorofil) już był...
> 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.
Ależ bardzo proste to jest. W momencie, gdy organ się tworzy
(specjalizują się pierwotne komórki zarodka) wystarczy drobne losowe
zaburzenie. Podobnie jak czasem mamy dwa identyczne, pełnosprawne
osobniki o tym samym DNA (bliźnięta jednojajowe).
--
Paweł Kierski
n...@p...net
-
4. Data: 2011-07-01 16:16:28
Temat: Re: wy?arzanie
Od: "sielim" <s...@t...tez.wp.pl>
Użytkownik <m...@t...pl> napisał w wiadomości
news:6382.00000044.4e0dc555@newsgate.onet.pl...
Jeśłi to możliwe, proszęskorzystać z jakiegoś ludzkiego czytnika news, bo
sieczka jest, post zgubił wątek itp.
-
5. Data: 2011-07-01 16:41:01
Temat: Re: wy?arzanie
Od: A.L. <l...@a...com>
On Fri, 1 Jul 2011 18:16:28 +0200, "sielim"
<s...@t...tez.wp.pl> wrote:
>
>Użytkownik <m...@t...pl> napisał w wiadomości
>news:6382.00000044.4e0dc555@newsgate.onet.pl...
>
>Jeśłi to możliwe, proszęskorzystać z jakiegoś ludzkiego czytnika news, bo
>sieczka jest, post zgubił wątek itp.
Przujemnie sledzic dyskusje SPECJALISTOW w jakims temacie....
A.L.