Życie w RAM-ie
-
- Andrzej Stasiewicz,
- 01.12.2005
Parametr intensywnosc - tak jak w funkcji mutacja() - znów dba o udział procesu rozmnażania w globalnej ewolucji. Parametry te są niezwykle ważne w nauce zwanej ekologią populacji i dlatego wprowadziliśmy je do naszych algorytmów.
Zaczynamy od wylosowania partnera, z którym stworek oznaczony numerem najlepszy wymiesza geny i stworzy nowego osobnika w procesie zwanym rozmnażaniem. Mieszanie genów polega na ustalaniu wartości flagi czyj_gen. Jeśli flaga ma wartość 0, na odpowiednie miejsce w genotypie stworka oznaczonego numerem najgorszy trafia gen pobrany od najlepszego; jeśli ma wartość 1 - gen jest pobierany od partnera.
Cała funkcja jest wypełnianiem tablicy S[najgorszy] wartościami pobranymi albo z tablicy S[najlepszy], albo S[partner]. W ogólnym obrazie nowa zawartość tablicy S[najgorszy] pochodzi mniej więcej w połowie od najlepszego stworka i jego partnera.
Rysunek 4 przedstawia nieco bardziej rozbudowany program - widoczna jest cała populacja stworków w bieżącym pokoleniu i gdzie presja środowiska nie jest już przypadkowo zmienna. Obserwator tej społeczności steruje niezwykle istotną intensywnością rozmnażania oraz intensywnością mutacji, kliknięciami myszy decyduje o losie pojedynczych stworków, ustala liczbę pokoleń między dwoma spojrzeniami w ten tajemniczy, graficzny świat.
Naszkicowany tutaj algorytm genetyczny nie musi operować akurat na dywanach afinicznych - mogą to być parametry dowolnego układu, procesu, zadania. Funkcja mutuj() powinna przypadkowo modyfikować parametry, oczywiście w takich granicach, żeby obserwowany układ nadal poprawnie działał. Funkcja rozmnazaj() powinna tworzyć nowy układ przez zmieszanie parametrów dwóch istniejących układów. I rzecz najważniejsza - ktoś lub coś musi bezustannie obserwować zbiór takich układów i na każdym etapie ewolucji wskazywać najlepszy oraz najgorszy z nich.
Jak zwykle, czekam na opracowania tego pasjonującego i trudnego tematu. Proszę przysyłać swoje programy, spostrzeżenia i uwagi pod adres [email protected]
<hr size=1 noshade>Przekształcenie piekarza

Program pana Michała Bryłki ilustruje przekształcanie obrazów, polegające na wielokrotnym powtarzaniu operacji rozciągania i składania (podobnie jak robi to piekarz z ciastem). Program wraz z obszernym komentarzem znajduje się na krążku CD, dołączonym do naszego miesięcznika.