Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Základné údaje
Jednorázový výpočet
Vyšetrenie obdĺžnikovej oblasti
Prehliadač
Základný algoritmus, hľadanie cyklov



Ostatné kapitoly
Dimenzia pobrežia
Chaos - úvod
Model kyvadla
Pickoverove biomorfy
Fraktály v prírode
Teória katastrôf
Fractint
Lotka-Volterra model
IFS - systém iterovaných funkcií
Logistická rovnica
Mandelbrotova množina
Newtonova metóda generuje fraktály


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Jednorázový výpočet

Hlavné okno programu Táto časť softvéru umožňuje sledovať dynamiku jedného bodu z roviny h-p. Po spustení sa zobrazí hlavné okno ako na obrázku vľavo. Pomocou neho je možné nastaviť všetky potrebné parametre diskretizovaného modelu Lotka-Volterra. Program pri výpočte používa rovnice uvedené v kapitole teória. Implicitné hodnoty, ktoré sú nastavené hneď po spustení, stlačením tlačidla Draw VL! umožnia vyrátať a zobraziť zrejme najznámejšiu podobu diskretizovaného modelu uvedeného v (Peitegen & Richter, 1986).

Parametre alpha, beta, gamma a delta, ktoré je možné nastaviť v hlavnom dialógovom okne sú parametre a, b, c a d. Tieto sú nastavené štandardne na hodnotu 1. Toto nastavenie vychádza z úvah v (Peitegen & Richter, 1986) pri transformácii z diferenciálneho k diskretizovanému modelu. Nastavenie parametrov je možné v intervale (0,1). Dôležitými hodnotami, ktoré ovplyvňujú výslednú dynamiku systému sú p a h. Pre skúmaný model sú prípustné hodnoty v intervale (0,1). Ďalšími hodnotami, ktoré majú vplyv na výslednú dynamiku je počet iterácií v jednom cykle výpočtu, parameter Iterations, prah nekonečna Infinity treshold a citlivosť s akou prebiehajú testy Periodicity tolerance. Práve tieto tri parametre významnou mierou ovplyvňujú to, ako budú konečné oblasti s nájdenými atraktormi zobrazené. Nevhodná voľba týchto parametrov, môže dať falošné výsledky. Pri situáciách, kde to nie je jasné, máme možnosť skúmať dynamiku bodu samostatne. V hraničných situáciách aj parameter Iterations zohráva dôležitú úlohu.

V iteračnom procese sa v každom kroku rátajú nové hodnoty. V niektorých situáciách je potrebné ošetriť divergenciu iteračného procesu do nekonečna. Je zvykom stanoviť hornú hranicu, v našom prípade ako Infinity treshold. Ak test hodnôt v aktuálnom kroku túto hranicu prekročí, iteračný proces pre hodnoty v danom bode sa považuje za divergentný a iteračný proces sa ukončí. Program testuje hodnoty novej iterácie nasledovne:
ak
x_new2 + y_new2 > prah
potom označ bod ako nekonečno a ukonči iteračný proces pre aktuálny bod s parametrami x a y.

Periodicity tolerance nastavuje presnosť, s ktorou sa musia zhodovať odpovedajúce si body dvoch po sebe nasledujúcich cyklov. Platí, že čím menšia hodnota, tým presnejšie je určenie cyklu.

Je dôležité poznamenať, že hlavne v hraničných oblastiach sa prejavia všetky spomínané parametre. Pri skúmaní je nutné rátať aj so zaokrúhľovaním pri matematických výpočtoch. Pri vysokých počtoch iterácií sa aj minimálna chyba zaokrúhľovania časom naakumuluje a môže ovplyvniť výsledok tak citlivého systému.

Okno programu so zobrazeným VL Parametre v hlavnom okne umožňujú nastaviť veľkosť výsledného obrázka Width, Height, Image size, či špeciálny výrez X-Ymin, X-Ymax. Tlačidlo Draw VL! podľa nastavených parametrov zavolá funkciu na vyrátanie a zobrazenie obrázka VL do nového okna, ako na obrázku vľavo. Pri dlhších výpočtoch zobrazuje aktuálny stav progress bar. Prepínač Cycles/W/o cycles prepína funkciu hľadania, resp. nehľadania cyklov v obrázku. Výber voľby Cycles nastaví program na hľadanie periodických atraktorov a druhá len kreslí farebné obrázky. Vyfarbovanie v režime W/o cycles používa rovnaký test ako je vyššie. Jeho interpretácia je však mierne upravená. Farby sa nedajú v programe meniť. Nebolo cieľom diplomovej práce napísať program, ktorý bude generovať "pekné" obrázky. Táto možnosť je iba na spestrenie.

Každá farba v obraze vygenerovaným so zapnutou voľbou Cycles má svoj význam. Na predošlom obrázku čierna farba pokrýva oblasť, kde iterácie pre daný bod konvergovali do nekonečna (sú väčšie ako zvolený prah), biela je oblasť, z ktorej orbity končia na invariantnom cykle. Ostatným farbám odpovedajú oblasti pre cykly, červená pokrýva oblasť, z ktorej všetky body skončia na cykle s periódou 9. Všetky farby a ich význam nájdete v používateľskej príručke.

Vo výslednom obrázku môžeme zadávať výrez pomocou myši. Na predchádzajúcom obrázku je príklad označeného výrezu. Takýto výrez je možné zrušiť alebo potvrdiť, prípadne zvoliť nový. Ľubovoľne veľký výrez slúži na presný výber bodu, ktorého dynamiku chceme študovať v prípade, že na veľkom obrázku je ho možné označiť ťažko. Save, obrázok uloží pre neskoršie prehliadanie.

Výber bodu na iterovanie Týmto možnosti programu nekončia. Myšou možno zvoliť v oblasti obrázka bod (obr. vpravo), ktorého dynamiku je možné ďalej študovať. Na výber máme rôzne kresliace body, alebo priamku. V kombinácii s možnosťou výberu farby je to výborný nástroj na odsledovanie správania sa bodu. Iterovať môžeme s krokom 1, alebo väčšou dávkou krokov naraz Reps - obr. dole. Na obrázku sú vyznačené spôsoby sledovania dynamiky. Ich "vzhľad" možno meniť počas jedného experimentu. Na nasledujúcom obrázku sú ako príklad zobrazené niektoré možnosti zobrazovania. V tomto okne si myšou môžem zvoliť aj iný bod, ktorého dynamiku chcem študovať. Takýto výber potvrdím po označení bodu myšou, tlačidlom Accept.

Pracovné okno na sledovanie dynamiky jedného bodu

Funkcia tlačidla Clear je vymazať obsah kresliacej plochy a vynulovať počítadlo Actual iter.. Reset vymaže obsah kresliacej plochy a nastaví všetky hodnoty na implicitné.

Podrobnejší popis všetkých funkcií a možností je uvedený v používateľskej príručke k programu.

Hore
Kontakt: Marek Bundzel