Prírodou inšpirované algoritmy
študijné materiály pre projekt mobilnej triedy umelej inteligencie
|
|
Algoritmus tvorby MM aJM
Algoritmus tvorby MM:
z0 = 0; i = 1 ,
- Zoberiem si bod z komplexnej roviny a označím si ho ako
c (pozor bod c je komplexné číslo),
- Vypočítam si
z1 = z02 + c = 02 + c = c . Takže v prvom kroku sa z1 rovnalo priamo bodu z komplexnej roviny,
- Vypočítame si
zi+1 = zi2 + c . Keďže sa jedná o komplexné čísla, táto operácia je veľmi časovo náročná, ale ako poznáme z teórie komplexných čísel dá sa to vypočítať osobitne pre reálnu a osobitne pre imaginárnu časť, a to nasledovným spôsobom :
z(i+1)re=zi re2 - zi im2 + cre
z(i+1)im=2 * zi re * zi im + cim ,
- Zistíme si, či modul
z(i+1) nepresiahol hodnotu 2 (čiže či nediverguje) a to nasledovným spôsobom:
- Ak
|z(i+1)| < 2 a zároveň i<=N , kde N je nami zvolené číslo potom i=i+1 a pokračujeme v kroku 4. inak krok 7.
- Ak
i <= N (nami zadané číslo), potom zafarbi bod c na farbu prislúchajúcu danému číslu i inak daný bod patrí do MM a zafarbi ho na čierno.
Tento cyklus sa opakuje pre celú komplexnú rovinu a tým vznikne MM.
Algoritmus tvorby JM:
i=1 ,
- Zoberiem si bod z komplexnej roviny a označím si ho ako
c (pozor bod c je komplexné číslo),
- Vypočítame si
zi+1=zi2+c . Keďže sa jedná o komplexné čísla, táto operácia je veľmi časovo náročná, ale ako poznáme z teórie komplexných čísel dá sa to vypočítať osobitne pre reálnu a osobitne pre imaginárnu časť, a to nasledovným spôsobom:
z(i+1)re = zi re - zi im + cre
z(i+1)im = 2 * zi re * zi im + cim ,
- Vypočítame si modul
z(i+1) a to nasledovným spôsobom: 
- Ak
|zi+1| < 2 a zároveň i<=N , kde N je nami zvolené číslo, potom i=i+1 a pokračujeme v kroku 3 inak krok 6.
- Ak
i <= N (nami zadané číslo), potom zafarbi bod c na farbu prislúchajúcu danému číslu i , inak daný bod patrí do JM a zafarbi ho na čierno.
Tento cyklus sa opakuje pre celú komplexnú rovinu a tým vznikne JM.
|