Žulijev i Mandelbrotov skup
Francuski matematičar Gaston Žulija1 je 1918. godine objavio rad Mémoire sur l'itération des fonctions rationnelles u kome je proučio iteracije kompleksnih racionalnih funkcija. Iako Žulija nije bio prvi matematičar koji se bavio iteracijama racionalnih funkcija, Žulija je ovim radom sistematizovao dotadašnje znanje, i time zasnovao novu matematičku oblast, kasnije nazvanu kompleksna dinamika. Važnost Žulijevog doprinosa je prepoznata u matematičkim krugovima, i Žulija je nagrađen nagradom Francuske akademije nauke, što je doprinelo popularnosti kompleksne dinamike među matematičarima.
Ipak, početna zainteresovanost matematičara za kompleksnu dinamiku je polako jenjavala tokom narednih godina, da bi do tridesetih godina prošlog veka, potpuno nestala. Tek će pedeset godina kasnije, Žulijev učenik, Benoa Mandelbrot2 nastaviti tamo gde je njegov učitelj stao.
Mandelbrot je uspeo da zainteresuje naučnu zajednicu za Žulijev skup, i za skup koji će kasnije biti poznat pod imenom Mandelbrotov skup. Zanimljivi oblici navedenih skupova doprineli su njihovoj, sada već velikoj, popularnosti u široj javnosti.
U nastavku ovog teksta biće opisana osnovna svojstva Mandelbrotovog i Žulijevih skupova, kao i nekoliko algoritama za njihovo crtanje. Sadržaj teksta je naveden u narednoj listi. Za opširniji pregled istorije kompleksne dinamike čitaoce upućujemo na [1].
Žulijev skup
Neka je funkcija određena polinomom sa kompleksnim koeficijentima, tj. . Pitanje koje nas interesuje, ili je barem interesovalo Žuliju, glasi: kakve su osobine funkcije kada teži beskonačnosti (gde označava kompoziciju sa članova). Za proučavanje ovakvih iteracija, od izuzetne koristi će nam biti pojmovi koje ćemo u nastavku definisati:
Neka je proizvoljna tačka u kompleksnoj ravni, i neka je holomorfna funkcija (ne obavezno polinomska). Orbita tačke , u oznaci , je niz . Tačka je fiksna tačka preslikavanja ako je . Ako je za neko prirodno , tada tačku nazivamo periodičnom tačkom. Najmanje za koje važi jednakost je period tačke . Jasno, periodična tačka je fiksna ako i samo ako je njen period . Orbitu periodične tačke nazivamo cikl. Ako je periodična tačka sa periodom , izvod nazivamo multiplikator, a tačku nazivamo privlačeća, neutralna ili odbijajuća u zavisnosti od toga da li je , ili . Primetimo da multiplikator ne zavisi od izbora tačke cikla, jer po formuli za izvod kompozicije funkcije važi . Prema tome za sam cikl možemo da kažemo da je privlačeći, neutralan ili odbijajući u zavisnosti od odgovarajućeg multiplikatora. Ako tačka nije sama periodična, ali se u njenoj orbiti nalazi periodična tačka, za tačku kažemo da je predperiodična.
Izrazi, privlačeća, odnosno odbijajuća, tačka, ukazuju na to kako se ponaša okolina tih tačaka pri iteracijama funkcije . Tačnije, važe naredne dve teoreme:
Teorema 1. Neka je privlačeća fiksna tačka holomorfne funkcije . Tada postoji disk sa centrom u sa sledećom osobinom: ako tada kad .
Teorema 2. Neka je odbijajuća fiksna tačka holomorfne funkcije . Tada postoji disk sa centrom u sa sledećom osobinom: ako i tada postoji prirodan broj takav da je .
Dokaz teoreme 1. Kako je sledi da postoje i takvi da za svako za koje je važi Ako za disk uzmemo disk centriran u sa poluprečnikom , tada će navedena jednakost biti ispunjena za sve tačke iz tog diska. Pritom važi . Ponavljajući navedeni argument puta, zaključujemo da je . Kako je , sledi da kad , što je i trebalo dokazati. □
Dokaz teoreme 2 je analogan.
Vratimo se sada na pitanje sa početka ovog poglavlja: kakve su osobine polinomske funkcije kada teži beskonačnosti. Ako je , tada predstavlja direktnu konformnu afinu transformaciju kompleksne ravni. Ponašanje ovakvih transformacija je u potpunosti poznato, pa ih u ovom tekstu nećemo proučavati. Ako je funkcija polinom stepena , tada je naredno tvrđenje izuzetno korisno prilikom ispitivanja iteracija funkcije .
Teorema 3. Ako je , gde je i , tada postoji realan broj takav da povlači .
Dokaz: Neka je proizvoljno, i
Neka je . Tada, pa je i . Indukcijom sledi . Odavde sledi da kada . □
Primetimo da iz gornjeg tvrđenja sledi da za svaku tačku postoje dve međusobno isključujuće mogućnosti: ili je orbita tačke ograničena ili . Zato uvodimo naredne definicije. Ispunjen Žulijev skup funkcije je skup svih tačaka kompleksne ravni čije orbite ostaju ograničene prilikom iteracije funkcije . Žulijev skup funkcije definišemo kao granicu ispunjenog Žulijevog skupa, tj. . Fatuov3 skup funkcije definišimo kao . Iz definicije Žulijevog skupa sledi da tačka pripada Žulijevom skupu ako i samo ako u svakoj njenoj okolini postoje kompleksni brojevi i takvi da i .
Primer 1. Utvrdimo za početak Žulijev skup funkcije . Prelaskom na polarne koordinate, vidimo da je , gde je a , pa je . Kako je , lako možemo zaključiti šta se dešava sa proizvoljnom tačkom prilikom iteracija funkcije . Ako je tada , pa kad . Slično, ako je tada kad . Konačno ako je tada se sve tačke orbite nalaze na jediničnoj kružnici. Iz svega navedenog sledi da je funkcije jedinični disk centriran u nuli, a jedinična kružnica centrirana u nuli. ▲
Do istog zaključka dolazimo ako posmatramo funkciju za bilo koje . Kao što ćemo videti, za (skoro) sve ostale polinomske funkcije, odgovarajući Žulijevi skupovi će biti mnogo komplikovaniji objekti. Primer jednog takvog skupa je prikazan na figuri 1.
Naredna teorema opisuje osnovne osobine definisanih skupova.
Teorema 4. Neka su , i ispunjen Žulijev skup, Žulijev skup i Fatuov skup kompleksne polinomske funkcije . Tada važe naredna tvrđenja.
- i su kompaktni skupovi i važi .
- i su neprazni skupovi.
- Skup ima prazan interior.
- Skup je invarijantan za i .
- Za svako prirodno važi .
Dokaz:
- Ako tada , pa sledi da je za neko prirodno , gde je poluprečnik određen u teoremi 3. Zbog neprekidnosti funkcije sledi da postoji dovoljno mali disk takav da za svako važi , tj. . Po definiciji ispunjenog Žulijevog skupa sledi da je , pa zaključujemo da je skup zatvoren. Samim tim važi da mu pripada njegova granica i da je i ona zatvorena. Iz teoreme 3 sledi i da su skupovi i ograničeni, a kako su i zatvoreni, sledi da su kompaktni.
- Jednačina ima barem jedno rešenje, neka je to , iz čega sledi da , pa je skup neprazan. Neka je sada (postojanje ovakvog broja sledi iz teoreme 3). Tada će za neko realno tačka pripadati granici skupa . Dakle i je neprazan skup.
- Skup kao granica zatvorenog skupa mora imati prazan interior.
- Neka . Tada , ali u svakoj okolini tačke postoji tačka takva da . Odavde sledi da i . Zbog neprekidnosti funkcije , tačke i mogu biti proizvoljno bliske, zaključujemo da . Dakle , iz čega sledi da . Ako je tada za svako iz dovoljno male okoline tačke , postoji u okolini tačke takvo da je . Odavde sledi da i . Dakle i .
- Iz teoreme 3 sledi da ako i samo ako . Dakle funkcije i imaju iste ispunjene Žulijeve skupove, pa imaju iste i Žulijeve skupove.
□
Različite funkcije mogu veoma „slično“ delovati na kompleksnu ravan. Bilo bi veoma korisno kada bismo mogli da proučimo svojstva svih polinomskih funkcija, proučavajući svojstva neke manje klase funkcija. Smisao naredne definicije je upravo preciziranje pojma sličnosti među funkcijama.
Neka su i dve kompleksne funkcije kompleksne promenljive. Ako postoji bijekcija takva da važi , za funkcije i reći ćemo da su konjugovane funkcijom .
Što više finih osobina poseduje funkcija ,, poput neprekidnosti ili holomorfnosti, to će funkcije i biti sličnije. Tako na primer, prilikom svake konjugacije, periodične tačke se slikaju u periodične tačke, pri čemu se period čuva, a ako je konformno preslikavanje, tada se multiplikatori čuvaju. Ako su dve funkcije konjugovane funkcijom oblika , njihovi Žulijevi skupovi će biti slični u geometrijskom smislu. Ovo sledi iz činjenice da funkcije oblika geometrijski predstavljaju kombinaciju rotacije, homotetije i translacije.
Primer 2. Uz pomoć pojma konjugacije možemo odrediti Žulijev skup funkcije . Neka je i neka je funkcija4 definisana na komplementu jediničnog diska . Lako se proverava da je funkcija injekcija na svom domenu. Naime, ako je tada, iz definicije funkcije , sledi da je . Odavde sledi da je , pa najviše jedan od brojeva i može pripadati skupu . Dokažimo da funkcija slika domen na skup . Rešavajući jednačinu po , dobijamo da je inverzna funkcija funkcije višeznačna funkcija data sa . Kako je , sledi da najviše jedan od brojeva i može pripadati skupu . Ako se i nalaze na jediničnoj kružnici, tada je . Prema tome je bijekcija između skupova i .
Direktnim računom se proverava da je odnosno . Prema tome važi . Neka je sad proizvoljna tačka. Tada je . Kako pripada skupu , iz primera 1 sledi da kad . Prema tome i kad . Slično se dokazuje da ako tada . Prema tome, (ispunjen) Žulijev skup funkcije je segment . ▲
Mandelbrotov skup
U ovom poglavlju, posvetićemo se polinomskim funkcijama oblika (i oznaku ćemo koristiti isključivo za ). Naredna teorema nam govori da je svaka polinomska funkcija stepena afino konjugovana jednoj funkciji oblika . Prema tome, za proučavanje Žulijevih skupova svih polinomskih funkcija stepena dva, dovoljno je posmatrati funkcije oblika .
Teorema 5. Neka je . Tada ostvaruje konjugaciju između i , tj. , gde je
Takođe, ako su i dve afino konjugovane funkcije, tada je .
Dokaz: Navedena teorema se direktno dokazuje. □
Definišimo sada Mandelbrotov skup.
Mandelbrotov skup je skup svih tačaka kompleksne ravni za koje je ispunjen Žulijev skup funkcije povezan.
Da bismo odredili oblik ispunjenog Žulijevog skupa, a samim tim i odredili da li je on povezan, primenićemo sledeću ideju: Neka je disk sa centrom u nuli, takav da je , i neka je poluprečnik ovog diska. Posmatrajmo niz indirektnih slika . U skupu nalaze se se svi kompleksni brojevi takvi da je . Prema tome za svako prirodno . Kako raste, tako raste i „broj“ tačaka kompleksne ravni za koje je . Dakle skup se smanjuje, a kako za svako prirodno , za očekivati je da će „težiti“ ispunjenom Žulijevom skupu . Na ovaj način ćemo odrediti skup . Naredne definicije i leme pomoći će nam u formalizaciji navedene ideje.
Neprekidnu, zatvorenu, prostu, krivu u kompleksnoj ravni nazivamo petlja. Po poznatoj Žordanovoj teoremi, svaka petlja određuje u ravni dva povezana skupa: jedan neograničen i drugi ograničen. Neograničen skup nazivamo spoljašnjost petlje , a ograničen skup nazivamo unutrašnjost petlje . Uniju dve petlje koje imaju tačno jednu zajedničku tačku, nazivamo lemniskata.
Lema 1. Neka je petlja u kompleksnoj ravni.
- Ako pripada unutrašnjosti petlje , tada je petlja čija je unutrašnjost inverzna slika unutrašnjosti petlje .
- Ako pripada petlji , tada je lemniskata, čija je unutrašnjost inverzna slika unutrašnjosti petlje .
- Ako pripada spoljašnjosti petlje , tada je unija dve petlje, a unija njihovih unutrašnjosti je inverzna slika unutrašnjosti petlje .
Dokaz: Primetimo da su i konačni i različiti od nule za . Prema tome, ako ne sadrži tačku , tada je lokalni difeomorfizam u okolini krive . Označimo sa i dve grane funkcije . Razlikujemo naredna tri slučaja.
- Tačka pripada unutrašnjosti petlje : Neka je fiksirana tačka na petlji . Ako tačka od tačke krene da „šeta“ po petlji , tada će, zbog neprekidnosti funkcije u okolini petlje , tačka početi da opisuje krivu. Kada prvi put stigne do , tačka će stići do tačke , a kada drugi put stigne do , tačka će stići do tačke zatvarajući krivu . Kako je u okolini krive funkcija lokalni difeomorfizam, kriva ne može imati samopreseka. Pošto polinom preslikava tačke iz skupa , i samo te tačke, na , mora preslikavati unutrašnjost i spoljašnjost petlje na unutrašnjost i spoljašnjost petlje . Dakle slika unutrašnjost petlje na unutrašnjost petlje .
- Tačka pripada petlji : U ovom slučaju, krive, koje opisuju tačke i , će se preseći kada „stigne“ do . Zbog toga je skup lemniskata.
- Tačka pripada spoljašnjosti petlje : U ovom slučaju može proći samo kroz tačku , a može proći samo kroz tačku . Odavde sledi da se sastoji od dve petlje.
□
Lema 2. Ako je niz kompaktnih povezanih podskupova Hausdorfovog5 prostora6, tada je povezan skup.
Dokaz: Pretpostavimo suprotno. Tada postoje disjunktni otvoreni skupovi i takvi da je i sadrži tačke i iz skupa i iz skupa . Kako je svaki od skupova povezan, i sadrži tačke i iz i iz , sledi da je svaki od skupova neprazan. Štaviše, je opadajući niz kompaktnih skupova, pa po Kantorovoj7 lemi8, presek je neprazan. Kontradikcija. □
Teorema 6. Važi
Dokaz: Neka je kružnica sa centrom u nuli, sa poluprečnikom koji je određen iz teoreme 3 za funkciju . Ako je orbita ograničena, tada je tačka u unutrašnjosti petlje , pa po lemi 1 sledi da je petlja u unutrašnjosti petlje . Takođe, pripada unutrašnjosti petlje , pa po istoj lemi, sledi da pripada unutrašnjosti petlje . Primenjujući ponovo lemu 1, zaključujemo da je petlja sadržana u unutrašnjosti petlje . Na ovaj način, dobijamo niz petlji tako da svaka petlja u svojoj unutrašnjosti sadrži narednu. Neka je gde je adherencija unutrašnjosti petlje . Tačka pripada skupu ako i samo ako za neko prirodno važi , tj. ako i samo ako . Dakle je ispunjen Žulijev skup funkcije . Kako je skup presek monotonog niza povezanih kompaktnih skupova, iz leme 2 sledi da je i sam povezan.
Ako neka tačka orbite pripada kružnici , tada je skup , po prethodnoj lemi, lemniskata. Dalje, skup je unija dve lemniskate sa disjunktnim unutrašnjostima, skup je unija četiri lemniskate sa disjunktnim unutrašnjostima, itd… Kako u prethodnom delu dokaza, zaključujemo da je . Pritom se skup sastoji od lemniskate sa disjunktnim unutrašnjostima, pa Žulijev skup u ovom slučaju nije povezan. Zapravo, u ovom slučaju Žulijev skup je homeomorfan Kantorovom skupu9.
Ako orbita nije ograničena, tada postoji neko najmanje prirodno za koje važi važi . Tada se uzastupnom primenom leme 1 dobija da se skup sastoji od petlji sa disjuntktnim unutrašnjostima. I u ovom slučaju Žulijev skup je homeomorfan Kantorovom skupu. □
Kao što vidimo, u navedenom dokazu je iskorišćen položaj kritične tačke, odnosno tačke za koju je . Kod polinoma stepena , postoji tačno jedna kritična tačka (za polinome oblika to je baš ). Polinomi stepena većeg od dva mogu imati i više kritičnih tačaka. Analogno se može dokazati da je Žulijev skup tih polinoma povezan ako i samo ako mu pripadaju sve kritične tačke. U slučaju da barem jedna od kritičnih tačaka ne pripada Žulijevom skupu, tada se on sastoji od neprebrojivo mnogo povezanih komponenti, pri čemu te komponente ne moraju biti jednočlani skupovi. Kada se sve kritične tačke nalaze van Žulijevog skupa, tada je svaka od komponenti povezanosti jednočlan skup, i Žulijev skup je homeomorfan Kantorovom skupu.
Vratimo se na polinome stepena . Naredna teorema je poboljšanje rezultata teoreme 3:
Teorema 7. Neka je , , gde je proizvoljna tačka kompleksne ravni. Tada kad ako i samo ako je za svaki prirodan broj .
Dokaz: Za vežbu.
Iz teorema 6 i 7 zaključujemo da tačka pripada Mandelbrotovom skupu ako i samo ako je orbita ograničena kružnicom poluprečnika . Ova činjenica će biti od izuzetne koristi prilikom crtanja Mandelbrotovog skupa.
Anatomija Mandelbrotovog skupa
Mandelbrotov skup je definisan kao skup svih kompleksnih vrednosti za koje je Žulijev skup funkcije povezan. Iako na prvi pogled deluje da je Mandelbrotov skup vezan samo za specifičnu osobinu Žulijevog skupa, ispostavlja se da Mandelbrotov skup sadrži u sebi mnogo više informacija o Žulijevom skupu. U narednim redovima će biti izneto bez dokaza nekoliko zanimljivih činjenica o vezama Žulijevog i Mandelbrotovog skupa.
Posmatranjem slike Mandelbrotovog skupa, može se uočiti da veliku površinu zauzima figura koja liči na ispunjenu „kardioidu“, za koju su zakačeni manji diskovi. Tačke u ispunjenoj „kardioidi“ odgovaraju funkcijama koji imaju privlačeću fiksnu tačku. Algebarski, ovo se može okarakterisati kao i . Na samoj „kardioidi“ očekivano bi bilo da važi i tj. za neko realno . Odavde dobijamo sistem Rešenje navedenog sistema po je , što nam govori da je „kardioida“ zaista kardioida.
Na sličan način možemo odrediti parametar za koji Žulijev skup ima periodičnu privlačeću tačku sa periodom dva. Naime, ovo odgovara uslovima i . Opet bi bilo očekivano da na granici traženog skupa važi jednakost umesto navedene nejednakosti, što nas dovodi do sistema čije rešenje je , što predstavlja parametrizaciju kružnice koja dodiruje kardioidu u tački .
Nastavljanjem opisanog procesa, možemo dobiti10 parametrizaciju dva diska koji sadrže parametre takve da poseduje periodičnu privlačeću tačku sa periodom tri. I ova dva diska dodiruju kardioidu…
Kao što vidimo, skup svih parametara takvih da polinom poseduje periodičnu privlačeću tačku nekog perioda veoma je interesantan. Ovaj skup označavamo sa . Za razumevanje skupa od ključne važnosti je teorema koju je 1905. godine dokazao Fatou, a koju navodimo bez dokaza:
Teorema 8. Svaka privlačeća periodična tačka nekog polinoma privlači barem jednu kritičnu tačku.
Iz teoreme 8 direktno sledi da polinom može imati najviše jednu privlačeću tačku, kao i da je . Takođe, može se dokazati da je skup otvoren. Prema tome, nameće se odmah pitanje: da li je ? Ovo pitanje i dalje nema odgovora.
Povezane komponente skupa nazivamo hiperboličke komponente ili mu atomi. Svaka hiperbolička komponenta sačinjena je od parametra za koji odgovarajući Žulijev skup ima privlačeću periodičnu tačku sa periodom . Zbog toga govorimo o periodu hiperboličke komponente.
U okolini hiperboličke komponente perioda , a van nje, nalaze se parametri koji određuju Žulijev skup sa periodičnom odbijajućom tačkom perioda . Na samoj granici hiperboličke komponente nalaze se parametri koji određuju Žulijev skup sa periodičnom neutralnom tačkom perioda . Što se više približavamo središtu hiperboličke komponente, to će multiplikator odgovarajuće periodične tačke biti manji.
U samom središtu hiperboličke komponente, nalazi se tačka koju nazivamo centar hiperboličke komponente ili nukleus mu atoma, i koja odgovara vrednosti za koji odgovarajući Žulijev skup ima superprivlačeću periodičnu tačku, odnosno periodičnu tačku čiji multiplikator je . Kako je izvod polinoma po jednak , tačka može biti superprivlačeća ako i samo ako je . Odavde sledi da je tačka nukleus neke hiperboličke komponente sa periodom ako i samo ako je . Odavde se dobija niz polinoma: čija rešenja odgovaraju centrima hiperboličkih komponenti.
Neka je hiperbolička komponenta sa periodom koja dodiruje kardioidu u tački . Zamislimo da se tačka nalazi u kardioidi, u bliznini komponente i da se kreće prema tački . Tada se uočavaju sledeći fenomeni:
- Dok je u unutrašnjosti kardioide, u skupu se nalazi jedna atraktivna fiksna tačka . Tačke u okolini tačke „spiralno“ teže ka tački pri iteracijama funkcije . Što se više tačka približava tački , to se Žulijev skup više „cepa“ na komponenti.
- Kada stigne u tačku , tada se nalazi na granici kardioide i komponente . Kako je neutralna, to je što znači da deluje na okolinu tačke tako što je rotira za ugao . Sada se Žulijev skup sastoji od komponenti koje se dodiruju u tački .
- Kada prođe tačku , i uđe u hiperboličku komponentu tačka postaje odbijajuća, i pojavljuje se privlačećih tačaka u okolini tačke , pri čemu su tačke numerisane na osnovu položaja u odnosu na , u smeru suprotnom od kazaljke na satu. Skup je orbita tačke , i važi za neko prirodno , gde se indeksi uzimaju po modulu .
Svaku hiperboličku komponentu koja „dodiruje“ kardioidu možemo označiti razlomkom , gde je period hiperboličke komponente, a „ugao rotacije“ hiperboličke komponente opisan u tački 3 sa prethodne liste.
Na „vrhu“ svake hiperboličke komponente nalazi se antena koja se račva na tačno grana. Ako granu koja je povezana sa hiperboličkom komponentom obeležimo sa , a ostale grane sa oznakama , krećući se pritom u smeru suprotnom od kazaljke na satu, tada će grana uvek biti najkraća.
Reparametrizacija Mandelbrotovog skupa
U prethodnom delu ovog teksta pokazano je da mnoge osobine Žulijevog skupa zavise od položaja tačke u odnosu na Mandelbrotov skup. Iz teoreme 5, sledi da je svaki Žulijev skup kvadratnog polinoma sličan Žulijevom skupu polinoma za neki kompleksan broj . Međutim, kvadratni polinomi nisu morali biti parametrizovani baš familijom polinoma oblika . Svaka druga familiju polinoma koja zavisi od jednog parametra i za koju važi da je svaki kvadratni polinom afino konjugovan barem jednom polinomu iz te familije, bila bi jednako dobra. I u tom slučaju bi Mandelbrotov skup bio definisan kao skup svih parametara za koje je odgovarajući Žulijev skup povezan, ali bi tada Mandelbrotov skup sasvim drugačije izgledao. U nastavku teksta navedeno je nekoliko alternativnih parametrizacija kvadratnih polinoma, i pokazano je kako u tim parametrizacijama izgleda Mandelbrotov skup.
Alfa parametrizacija je data sa . Veza između „standardne“ parametrizacije i alfa parametrizacije je očigledna: tačka pripada Mandelbrotovom skupu u „standardnoj“ parametrizaciji ako i samo ako tačka pripada Mandelbrotovom skupu u alfa parametrizaciji. Geometrijski gledano, navedena veza između parametara predstavlja kompoziciju inverzije u odnosu na jediničnu kružnicu centriranu u nuli, i konjugacije (osne simetrije u odnosu na realnu pravu). Zbog ovakve veze, kardioioda sa granice Mandelbrotovog skupa u „standardnoj“ parametrizcaiji odgovara krivi oblika suze u alfa parametrizaciji.
Ako se pre inverzije izvrši translacija za , tada se kardioida slika u parabolu. Ovakvo preslikavanje odgovara beta parametrizaciji datoj sa
Još jedna uobičajena parametrizacija je lambda parametrizacija data sa . Lako se dobija veza parametra iz „standardne“ parametrizacije Mandelbortovog skupa i parametra data sa pa je za ovakvu parametrizaciju Mandelbrotov skup ustvari skup svih kompleksnih parametara za koje orbita ostaje ograničena.
Kako je parametrizacija kardioide na granici Mandelbrotovog skupa data sa , a parametrizacija jedinične kružnice data sa , sledi da glavnoj kardioidi Mandelbrotovog skupa u „standardnoj“ parametrizaciji odgovaraju dve11 kružnice u lambda parametrizaciji. Navedene kružnice imaju poluprečnik i centrirane su u tačkama , odnosno . Tačka u kojoj se kružnice dodiruju odgovara „špicu“ kardioide.
Inverzijeom kompleksne ravni oko jedinične kružnice sa centrom u nuli, jedna od navedenih kružnica ostaje invarijantna, dok se druga slika u njenu unutrašnjost. Na ovaj način se dobija prva od naredne dve figure. Ako se pre inverzije izvrši translacija ulevo za , tada se navedene dve kružnice preslikavaju u dve paralelne prave. Na ovaj način se dobija druga od naredne dve figure.
Zapravo, lambda parametrizacija je prva parametrizacija koju je Mandelbrot koristio kada je otkrio skup nazvan po njegovom imenu. Mandelbrot je kasnije o svom otkriću, između ostalog, napisao sledeće:
A first test used the quadratic map in the alternative form . After few iteration steps on a rough grid, we saw that the set includes the very crude outline of the two discs and . Two lines of algebra confirmed that these discs were to be expected here, and that the method was working. We also saw, on the real line to the right and left of the above discs, the crude outlines of round blobs which I call "atoms" today…
Nije slučajno što je Mandelbrot prvo posmatrao baš lambda parametrizaciju. Čitaoci koji su upoznati sa diferencijalnim jednačinama, vide da je lambda parametrizacija dobro poznata logistička jednačina12.
Multibrot skup
Mandelbrotov skup u sebi krije mnoge zanimljive tajne. I sam oblik Mandelbrotovog skupa je dovoljno zanimljiv i vizuelno privlačan, da bi nas naveo da krenemo da eksperimentišemo sa definicijom Mandelbrotovog skupa u nadi da ćemo pronaći nekakve slične objekte.
Po teoremi 6, Mandelbrotov skup se može definisati kao skup kompleksnih brojeva za koje niz ostaje ograničen, gde je polinom . Pošto smo dovoljno radoznali i želimo da eksperimetišemo, mi možemo promeniti gore navedenu definiciju Mandelbrotovog skupa tako što ćemo posmatrati iteracije polinoma . Time stižemo do definicije multibrot13 skupa. Preciznije, multibrot skup reda , u oznaci , definišemo kao gde je polinom .
Iscrtavanjem multibrot skupova, vidi se da oni dosta liče na Mandelbrotov skup: u centru skupa dominira velika površina - glavna hiperbolička komponenta (koja odgovara ispunjenoj kardioidi Mandelbrotovog skupa), za koju su zakačene manje hiperboličke komponente.
Glavnu hiperboličku komponentu čine svi parametari za koje polinom ima privlačeću tačku perioda 1, odnosno privlačeću fiksnu tačku. Ponovo, na granici hiperboličke komponente, očekivano je da se nalaze parametri koji određuju polinome sa neutralnom fiksnom tačkom. Odavde se dobijaju dva uslova
Koristeći drugi uslov dobijamo da je za neko realno , iz čega sledi da je . Zamenjući poslednju jednakost u prvi uslov, odnosno u jednačinu , dobijamo da je
Pritom, da bi kriva bila zatvorena, njen izvod mora da namota barem jedan krug. Pri gornjoj parametrizaciji to će se desiti ako parametar prođe intervalom . Linearnom reparametrizacijom, dobijamo malo lepšu parametrizaciju krive :
Parametrizacija granice glavne hiperboličke komponente može se dalje iskoristiti za pronalaženje najvećeg kruga sa centrom u koji se nalazi unutar hiperboličke komponente, odnosno za pronalaženje upisanog kruga multibrot skupa. Za to je dovoljno samo primetiti da izraz ima minimum . Upravo je ovaj minimum kvadrat poluprečnika traženog kruga.
Na osnovu teoreme 7 sledi da je multibrot skup ograničen kružnicom poluprečnika . Ovakav krug se naziva opisani krug multibrot skupa.
Puštanjem limesa kad u izraz za parametrizaciju granice glavne hiperboličke komponente i izraz za poluprečnik kružnice koja ograničava multibrotov skup, dobija se da multibrotov skup „teži“ krugu poluprečnika .
Odavde se lako može izvesti i jedna gruba procena površine multibrotovog skupa, ako multibrotov skup uopšte ima površinu. Koristeći uobičajan postupak sa Stoksovom teoremom primenjenom na formu , dobijamo da je površina glavne hiperboličke komponente data sa
Sa druge strane, multibrot skup je ograničen kružnicom polprečnika pa je njegova površina manja od . Iz svega ovoga sledi gruba procena: Tačnost navedene procene se uvećava sa rastom broja .
Posmatranjem slike skupa , deluje kao da je taj skup uvek simetričan u odnosu na realnu osu. Ovo se veoma lako dokazuje korišćenjem indukcije: Ako za -tu iteraciju polinoma važi , tada je Kako se baza indukcije trivijalno proverava, zaključujemo da za svako prirodno važi . Kompleksan broj teži beskonačnosti ako i samo ako njegov konjugat takođe teži beskonačnosti, pa po definiciji multibrot skupa zaključujemo da je taj skup simetričan u odnosu na realnu osu.
Analogno se dokazuje da skup poseduje rotacionu simetriju reda .
Čitaoci bi trebalo da imaju na umu da su multibrot skupovi za u vezi sa Žulijevim skupovima odgovarajućeg stepena, kao što postoji veza Mandelbrotovog skupa i polinoma drugog stepena. Jedina razlika je u tome što, za razliku od polinoma oblika , nisu svi polinomi stepena afino konjigovani nekom polinomu oblika .
Potencijal Žulijevog i Mandelbrotovog skupa
Jedan od osnovnih rezultata kompleksne analize je Rimanova teorema o uniformizaciji koja glasi: Svaka prosto povezana Rimanova mnogostrukost je konformno ekvivalentna jednoj od sledeće tri mnogostrukosti
- otvorenom jediničnom disku,
- kompleksnoj ravni,
- Rimanovoj sferi.
Iz ove teoreme sledi da za prosto povezan kompaktan skup postoji jedinstven pozitivan broj i jedinstveno preslikavanje , takvo da je izometrija sa osobinom da kad . Ovakvo nazivamo kapacitet skupa . Navedeni objekti su veoma korisni za proučavanje Žulijevih skupova, što pokazuje sledeća teorema:
Teorema 9. Neka je moničan polinom stepena , takav da je Žulijev skup povezan. Tada skup ima kapacitet 1 i konformna reparametrizacija konjuguje funkciju sa funkcijom .
Sama funkcija iz prethodne teoreme se naziva Betherovim14 preslikavanjem. Linije . nazivamo ekvipotencijalne linije, dok linije . nazivamo spoljašnji zraci.
Neka je moničan polinom takav da je povezan skup. Neka je za definisan niz . Iz jednakosti sledi da je preslikavanje dato beskonačnim proizvodom Pritom se u prethodnom izrazu uzima grana funkcije koja šalje u . Navedeni proizvod brzo konvergira što se može iskoristiti za crtanje Žulijevog skupa.
Funkcija zadovoljava naredne osobine koje se lako proveravaju
- Skup vrednosti funkcije je ,
- je harmonijska funkcija,
- kad ,
- kada ,
- , gde je ,
zbog čega se funkcija naziva potencijal15 Žulijevog skupa ili Grinova funkcija16 skupa .
Štaviše, funkcija je u potpunosti određena osobinama (1), (3) i (5). Naime, iz ovih osobina direktno sledi da je
Preslikavanje iz teoreme se može iskoristiti za konstruisanje analognog preslikavanja za Mandelbrotov skup. Tačnije, važi sledeća teorema koju navodimo bez dokaza:
Teorema 10. Neka je definisano sa , gde je . Tada je izomorfizam između i .
Iz ove teoreme možemo zaključiti da je Mandelbrotov skup povezan skup. I dalje se ne zna da li je Mandelbrotov skup lokalno povezan17 skup?
Crtanje Žulijevog i Mandelbrotovog skupa
Kako su skupovi koji su do sada opisani sačinjeni od beskonačno tačaka, a čovek i računari mogu izvršiti samo konačno mnogo operacija, potrebno je izabrati konačno mnogo tačaka kompleksne ravni da bi se ti skupovi nacrtali. Osnovna ideja svih algoritama za crtanje Žulijevog i Mandelbrotovog skupa je ta da se odabirom što većeg broja tačaka greška prilikom crtanja navedenih skupova smanjuje.
Za crtanje Žulijevog i Mandelbrotovog skupa, na slici dimenzija , potrebno je prvo izabrati pravougaouu oblast u kompleksnoj ravni čije se stranice odnose u razmeri , gde su i prirodni brojevi. Zatim je potrebno tu oblast izdeliti na manjih podudarnih kvadrata (piksela), i iz svakog kvadrata je potrebno izabrati po jednu tačku (na primer gornje levo teme kvadrata, ili sam centar kvadrata). Za fiksirane dimenzije velikog pravougaonika, uvećavanjem rezolucije slike, površina kvadrata će se smanjivati, a samim tim će se i „vernost“ slike uvećavati.
U nastavku ćemo piksele na slici obeležavati sa velikim štampanim slovima, dok ćemo odgovarajuće tačke u kompleksnoj ravni, obeležavati malim pisanim slovima (na primer, pikselu P
odgovara tačka , itd…).
Escape time metod
Najjednostavniji algoritam za crtanje Žulijevog skupa je poznat kao escape time algoritam. Ovaj algoritam se zasniva na teoremi 3, koja kaže da tačka pripada Žulijevom skupu ako i samo ako njena orbita ostaje ograničena prilikom iteracija funkcije . Po ovoj teoremi, za svaku polinomsku funkciju može se izračunati broj takav da ako i samo ako postoji prirodno takvo da je . Ovakvo (i svako veće) nazivamo poluprečnik izlaska, a kružnicu centriranu u sa poluprečnikom nazivamo kružnica izlaska.
Ideja escape time algoritma je sledeća: Neka je fiksiran prirodan broj (na primer neka je ), koji označava maksimalan broj iteracija. Neka je Z
proizvoljan piksel na slici, a kompleksan broj određen pikselom Z
. Ako je onda sledi da tačka ne pripada ispunjenom Žulijevom skupu. Ako je , tada proveravamo da li je . Ako važi tada ponovo sledi da ne pripada ispunjenom Žulijevom skupu. U suprotnom, proveravamo da li je … Ovaj proces ponavljamo sve dok ne stignemo do -te iteracije tj. dok ne dostignemo maksimalan broj iteracija. Ako tada smatramo da tačka pripada Žulijevom skupu, i piksel Z
bojimo određenom, unapred zadatom, bojom (na primer crnom). Piksele koji određuju tačke van ispunjenog Žulijevog skupa bojimo nekom drugom bojom (na primer belom). Opisani postupak ponavljamo za svaki piksel na slici.
Odmah se uviđa problem sa ovakvim algoritmom: Ako je za , tada ne znači da će , za svako . Zbog ovoga, escape time algoritam obeležava neke piksele na slici kao da pripadaju ispunjenom Žulijevom skupu, iako oni zapravo ne pripadaju tom skupu. Povećavanjem maksimalnog broja iteracija, ova greška se smanjuje, ali se vreme izvršavanja algoritma uvećava.
Kako Žulijev skup sadrži neograničeno fine detalje, uvećavanje maksimalnog broja iteracija dovodi i do pojave šuma18, na samom Žulijevom skupu. Šum se može izbeći ako se slika iscrta u nekoliko puta većoj rezoluciji od željene, a zatim se umanji na željenu rezoluciju uz pomoć nekog naprednijeg algoritma za umanjenje slika.
U praksi je potrebno eksperimentalno doći do maksimalnog broja iteracija koji daje zadovoljavajuće rezultate.
Teoreme 6 i 7 daju osnovu escape time algoritma za Mandelbrotov skup. Ideja se sastoji u tome da se za svaki piksel C
posmatra niz , gde je kompleksan broj određen pikselom C
, a maksimalan broj iteracija. Ako je navedeni niz ostao ograničen kružnicom poluprečnika , tada smatramo da tačka pripada Mandelbrotovom skupu. U suprotnom smo sigurni da ona ne pripada Mandelbrotovom skupu.
I za ovaj algoritam važe isti komentari o maksimalnom broju iteracija kao i za prethodni algoritam.
Opisani algoritam za crtanje Mandelbrotovog skupa se direktno može preneti i na slučaj multibrot skupa. Dovoljno je samo umesto funkcije , koristiti funkciju .
Jasno je da su navedeni escape time algoritmi za iscrtavanje ispunjenog Žulijevog skupa odnosno Mandelbrotovog skupa skoro pa isti. Zbog toga ćemo se u nastavku ove sekcije posvetiti proučavanju algoritma za iscrtavanje Žulijevog skupa. Sve što se do kraja ove sekcije bude reklo o escape time algoritmu za iscrtavanje ispunjenog Žulijevog skupa može se direktno preneti na slučaj escape time algoritma za iscrtavanje Mandelbrotovog skupa…
U svim navedenim escape time algoritmima najviše vremena se utroši na tačke koje pripadaju ispunjenom Žulijevom odnosno Mandelbrotovom skupu (jer ove tačke prolaze kroz maksimalan broj iteracija). Postoje dva jednostavna načina da se navedeni algoritmi optimizuju.
- Prvi način je da se proveri periodičnost orbite tačke . To se može uraditi tako što se prilikom svake iteracije vrednost upoređuje sa vrednostima . Na ovaj način će se detektovati predperiodične tačke sa periodom ne većim od . Jasno je da se ovakvim pristupom troši dodatna memorija i dodatne instrukcije poređenja.
- Drugi način optimizacije escape time algoritma je karakterističan za Mandelbrotov skup. Znamo da glavna kardioida čini većinu površine Mandelbrotovog skupa, a znamo i parametrizaciju glavne kardioide. Prema tome, pre iteracije polinoma , možemo veoma „jeftino“ proveriti da li tačka pripada glavnoj kardioidi. Ako je to slučaj, tada znamo da tačka pripada i Mandelbrotovom skupu. Primetimo da ova optimizacija ima smisla samo ako veliki deo naše slike pripada kardioidi.
Slike koje se dobijaju uz pomoć navedenog algoritma su jednobitne predstave ispunjenog Žulijevog skupa. Ovakve slike su odlične za primenu algoritma za detekciju ivica u naknadnoj obradi, čime se dobijaju slike Žulijevog skupa.
Najednostavnija modifikacija escape time algoritma, sastoji se u tome da tačke (tj. odgovarajuće piksele) Fatuovog domena bojimo na osnovu toga koliko im je iteracija bilo potrebno da izađu van kružnice izlaska. Jedina razlika novog algoritma u odnosu na prethodni je u poslednjoj liniji:
Ako je k = N oboji piksel Z u crno, u suprotnom oboji ga u L(k);
Za implementaciju ovakvog bojenja potrebno je definisati funkciju koja u zavisnosti od prirodnog broja vraća boju. Najjednostavniji izbor ovakve funkcije je linearna interpolacija dve boje:
U gornjem izrazu je maksimalan broj iteracija, a i su unapred definisane boje19.
Drugi najjednostavniji izbor funkcije je L(k)=paleta_boja[k%B]
, gde je paleta_boja
niz od B
boja.
Rezultat ovakvog algoritma je slika poput naredne.
Kod ovakvog bojenja uočljive su jednobojne trake oko ispunjenog Žulijevog i Mandelbrotovog skupa. Ove trake se javljaju zbog toga što se za bojenje piksela koristi jedna celobrojna vrednost. Svim tačkama koje pripadaju jednoj traci bio je potreban isti broj iteracija da bi izašle van kružnice izlaska20.
Iako su slike dobijene na ovaj način veoma zanimljive, bilo bi poželjno neprekidno obojiti Fatuov domen. Za ovakvo bojenje biće potreban broj iteracija i
kroz koji je tačka prošla, kao i jedan realan broj koji će u nastavku biti određen.
Za određivanje vrednosti može se iskoristiti moduo poslednje iteracije kao dodatnu informaciju. Primetimo da što veći moduo ima tačka to će se vrednost sve više ponašati kao , jer raste brže od ostalih sabiraka u navedenom izrazu. Zbog toga se može smatrati da važi za tačke sa dovoljno velikim moduom.
Fiksirajmo sada neko realno dovoljno veliko da procena iz prethodnog pasusa važi. Možemo pretpostaviti da je ovo veće od poluprečnika izlaska koje nam garantuje teorema 3. Sve tačke koje izađu van kružnice izlaska u nekoj iteraciji izaći će i van diska sa poluprečnikom u nekoj od narednih iteracija. Ako tačka ne pripada ispunjenom Žulijevom skupu tada postoji najveći prirodan broj takav da važi . Kako je veliko, po prethodnom pasusu zaključujemo da važi21 procena . Sada, vrednost možemo odrediti formulom
Funkcija se može iskoristiti za definisanje funkcije bojenja . Sa ovakvom funkcijom se dobijaju slike poput naredne.
Ipak navedena funkcija nije diferencijabilna u tačkama22 za koje važi . Da bi se glatko obojio Fatuov domen, dovoljno je koristiti parametar definisan sa gde je stepen polinoma . Uz pomoć glatkog bojenja, dobija se slika poput naredne.
Izgled slike u mnogome zavisi i od izbora palete koja se koristi za bojenje. Jasno je da je broj mogućih paleta skoro pa beskonačan.
Potpuna ista funkcija glatkog bojenja se može iskoristiti za bojenje komplementa Mandelbrotovog skupa, što je prikazano na narednoj slici.
Suština navedena tri algoritma za bojenje Fatuovog skupa, je u tome da se tačka Fatuovog skupa oboji na osnovu udaljenosti njene -te iteracije od , gde je sa , kao i do sada, označen najmanji broj iteracija potrebnih da bi tačka izašla van kružnice izlaska. Ipak, za bojenje Fatuovog domena se može iskoristi i neku drugi podatak o -toj iteraciji. Na primer, to može biti i argument -te iteracije. U praksi, dovoljno je izmeniti osnovni algoritam za crtanje Žulijevog skupa, tako što će se za funkciju bojenja uzeti neka funkcija koja zavisi samo od argumenta „poslednje“ iteracije.
Kao što se vidi na prethodnoj figuri, pri ovakvom bojenju su prisutni „prelomi“ boja na mestu ekvipotencijalnih linija. Ovi prelomi su prisutni na slici jer nisu sve tačke prošle kroz isti broj iteracija. Tačkama koje su bliže Žulijevom skupu, bio je potreban veliki broj iteracija da bi izašle van kružnice izlaska. Zbog toga su prilikom tih iteracija takve tačke puno puta „namotane“ oko , što je dovelo do toga da se bojenje ovih tačaka učestalo smenjuje. S druge strane, tačkama koje se nalaze dalje od Žulijevog skupa, potrebno je samo par iteracija da bi izašle van kružnice izlaska, zbog čega se bojenje tih tačaka smenjuje samo par puta.
Jednostavan način da se izbegne navedeni efekat, je da se iz algoritma obriše naredba koja prekida iteracije u slučaju da tačka izađe van kružnice izlaska. Na ovaj način će sve tačke sa slike proći kroz isti broj iteracija. Pseudokod sada izgleda ovako:
Štaviše, na opisani način možemo obojiti i ispunjen Žulijev skup. Dovoljno je samo poslednju liniju u prethodnom pseudokodu zameniti linijom
Oboji piksel Z u L(Arg(z));
Uz ovakav algoritam se slabije uočava oblik (ispunjenog) Žulijevog skupa, ali se odlično uočava kako se itracije polinoma dejstvuju na kompleksnu ravan.
Kako je i sama funkcija neprekidna, lako se može implementirati i neprekidno bojenje na osnovu argumenta poslednje iteracije, što je prikazano na sledećoj slici.
Koristeći i moduo i argument „poslednje“ iteracije, možemo izdeliti Fatuov skup na krivolinijske pravugaonike u kojima uvodimo lokalni koordinatni sistem. To činimo na sledeći način: neka je proivoljna tačka Fatuovog skupa, i broj iteracija potreban da bi tačka izašla van kruga izlaska. Tada tački dodeljujemo koordinate
Ove koordinate se dalje mogu iskoristiti za „popločavanje“ Fatuovog domena nekom željenom slikom.
Sličan efekat „popločavanja“ Fatuovog domena se može izvesti i uz pomoć Betherove funkcije.
Metod određivanja udaljenosti
Pretpostavimo da postoji glatko preslikavanje takvo da je skup jedna kriva. Često je korisno je pronaći udaljenost proizvoljne tačke prostora od ove krive. Ovaj zadatak je često i nemoguć zbog komplikovanih izraza koji se javljaju u računu, ali postoji jedna jednostavna aproksimacija rešenja. Neka je tačka takva da je , i neka je tačka koja pripada krivoj . Tada po Tejlorovoj formuli važi Ako su tačke i dovoljno blizu, tada možemo zanemariti sabirak pa jednostavnim računom dobijamo da je
Ako ovaj metod primenimo da Grinovu funkciju Žulijevog skupa (uz ogovarajuću identifikaciju sa ), dobijamo formulu
U praksi, funkciju računamo kao gde je veliki prirodan broj. Pritom, izvod lako možemo izračunati pravilom za izvod kompozicije funkcija. Tako dobijamo naredni algoritam:
Neznatnom modifikacijom navedenog algoritma dobija se algoritam koji crta Mandelbrotov skup metodom određivanja udaljenosti.
Na slikama iscrtanim sa ovom metodom bolje se uočavaju fini detalji Žulijevog i Mandelbrotovog skupa, nego što je to slučaj kod slika dobijenih sa escape time tehnikom.
Budabrot metod
Budabrot (eng. buddhabrot) je naziv tehnike crtanja orbita koje se javljaju u Mandelbrotovom skupu pri iteracijama polinoma. Tačnije, budabrot tehnikom se crtaju orbite tačaka koje se ne nalaze u Mandelbrotovom skupu. Uz pomoć ove tehnike se dobijaju slike poput naredne.
Budabrot tehniku je prvi put upotrebila Melinda Grin 1993. godine [5]. Crtež koji se dobija uz pomoć budabrot tehnike, podesća na Budu23 koji sedi, po čemu je ova tehnika dobila ime.
Postupak za crtanje budabrot slike je sledeći: Prvo se kreira niz celobrojnih brojača odgovaraju pikselima na slici koja se crta. Zatim se nasumično odabira tačka iz kompleksne ravni, za koju se, uz pomoć escape time algoritma, proverava da li pripada Mandelbrotovom skupu. Ako pripada Mandelbrotovom skupu, tada se ponovo bira tačka . Ako tačka ne pripada Mandelbrotovom skupu, tada se na osnovu njene orbite uvećavaju odgovarajući brojači, tako što se za svako pojavljivanje tačke iz orbite, uveća brojač odgovarajućeg piksela W
. Kada se dovoljno nasumičnih tačaka odabere, opisani postupak se prekida, a zatim se kreira grayscale slika tako što se svaki piksel boji u nijansu sive koja se određuje na osnovu broja u njemu odgovarajućem brojaču.
Nijansa sive se najjednostavnije može odrediti prostom linearnom formulom , gde je intenzitet sive nekog piksela, odgovarajući broj u brojaču, a najveći od brojeva koji se nalaze u brojačima. Nešto složenija formula koja se često koristi je gde je pozitivan realan broj. Menjanjem vrednosti mogu se izraziti neki detalji u budabrot slici koji nisu vidljivi prilikom korišćenja linearne funkcije.
Pseudokod budabrot algoritma izgleda jednostavno:
Kvalitet budabrot slike najviše zavisi od tri parametra: dimenzije slike, broja odabranih nasumičnih tačaka i maksimalnog broja iteracija. Kvalitet slike se poboljšava pri uvećavanju maksimalnog broja iteracija kod budabrot algoritma što je prikazano na narednoj figuri.
Broj odabranih nasumičnih tačaka utiče potpuno drugačije na kvalitet slike generisane budabrot algoritmom. Ako algoritam koristi premalo nasumičnih tačaka, tada će postojati mnogo piksela na slici kroz koje nijedna orbita nije „prošla“. Između obojenih piksela će biti previše praznog prostora i budabrot slika će izgledati zrnasto. Ako se broj nasumično odabranih tačaka dovoljno uveća24 tada će kroz većinu piksela proći barem nekoliko orbita, pa će se i prazan prostor između piksela smanjiti (u najboljem slučaju će i u potpunosti nestati). Pritom će i kroz svaki piksel proći mnogo više orbita, pa će svaki od piksela moći i finije da se oboji. Iz navedenog se vidi da optimalan broj nasumično odabranih tačaka mnogo zavisi od dimenzija i rezolucije slike. Kreiranje slika sa većim zoom faktorom je praktično neizvodljivo sa osnovnim budabrot algoritmom, jer se zumiranjem drastično smanjuje verovatnoća da će neka od orbita proći kroz region koji se crta.
Postoji nekoliko jednostavnijih načina da se budabrot algoritam ubrza:
- Pošto se escape time algoritam koristi za određivanje pripadnosti nasumično odabrane tačke Mandelbrotovom skupu, moguće je tom prilikom izračunate članove orbite sačuvati u niz koji će se potom iskoristiti za crtanje orbite. Na taj način se orbita tačaka tačaka računa samo jednom.
- Za ubrzavanje budabrot algoritma može se iskoristi i simetrija Mandelbrotovog skupa: kako konjugavane tačke imaju konjugovane orbite, moguće je izračunati dve orbite po ceni jendne. I opštije, ako se budabrot algoritam primenjuje u slučaju polinoma stepena većeg od dva, tada se može iskoristiti i rotaciona simetrija multibrot skupa.
- Osnovne tehnike optimizacije escape time algoritma su u ovom slučaju veoma korisne: pre ulaska u sam escape time algoritam, lako se može proveriti da li nasumično odabrana tačka pripada glavnoj hiperboličkoj komponenti ili čak hiperboličkoj komponenti perioda dva; a tokom samog escape time algoritma, lako se može proveriti da li je tačka (pre)periodična.
Iako se sa opisanim algoritmom dobijaju grayscale slike, postoji sasvim jednostavan način da se uz pomoć istog algoritma dobiju color slike. Ideja je da se isti region kompleksne ravni nacrta tri puta sa budabrot algoritmom, ali svaki put sa različitim maksimalnim brojem iteracija. Zatim se tri dobijene slike spoje u jednu tako što se svaka od slika interpretira kao jedan od color kanala (R, G ili B). Ovakav način kolorizacije slike se često koristi u astro fotografiji da bi se nevidljivi delovi elektromagnetnog spektra nekog nebeskog objekta pretvorili u vidljive delove spektra. I same budabrot slike kolorizovane na ovaj način podsećaju na nebule25, zbog čega je ova tehnika dobila naziv nebulabrot.
Ako se budabrot algoritam pomeni tako da se umesto orbite tačaka koje ne pripadaju Mandelbrotovom skupu, crtaju orbite tačaka koje pripadaju Mandelbrotovom skupu, dobija se takzvani antibudabrot algoritam, koji takođe može dati zanimljive rezultate.
Metod inverzne iteracije
Metod inverzne iteracije (Inverse iteration method, IMM) je metod crtanja Žulijevog skupa. Za razliku od prethodno opisanih metoda, pri ovoj metodi se posmatraju inverzne iteracije funkcije za koju crtamo Žulijev skup.
Za ovu metodu je od ključne važnosti naredna teorema:
Teorema 11. Neka je proizvoljna polinomska funkcija, i neka je periodična odbijajuća tačka funkcije . Tada pripada Žulijevom skupu funkcije .
Dokaz. Pretpostavimo suprotno, da se periodična odbijajuća tačka perioda nalazi van skupa . Kako je tačka periodična, ona ne može težiti beskonačnosti pri iteracijama funkcije , pa sledi da se mora nalaziti u interioru ispunjenog Žulijevog skupa . Neka je sada poluprečnik, takav da se disk radijusa centriran u , sadrži ceo u skupu . Neka je multiplikator tačke . Kako je i polinom, po teoremi 3, postoji takav da za svako važi za svako prirodno . Po Košijevoj nejednakosti, važi . Ali, . Kontradikcija. □
Ako posmatramo (lokalnu) inverznu funkciju tada odbijajuće fiksne tačke funkcije postaju privlačeće fiksne tačke, jer je .
Na osnovu teoreme 11 se lako konstruiše IIM algoritam: Neka je kompleksan polinom stepena . Odaberimo nasumično kompleksan broj . Sa označimo skup svih rešenja jednačine . Kako je polinom stepena , skup nema više od elemenata. Kako je Žulijev skup sadrži sve privlačeće tačke funkcije , sve tačke iz skupa su se „približile“ skupu . Sada opisani postupak možemo ponoviti za sve tačke iz skupa . Na taj način dobijamo ne više od tačaka koje su još bliže skupu . Ovaj postupak ponavljamo puta, čime dobijamo skup od najviše tačaka koje zatim crtamo.
Jasno je da je za implementaciju IIM algoritma potrebna funkcija koja vraća nule kompleksnog polinoma. U slučaju kada je taj polinom drugog stepena (eventualno trećeg ili četvrtog), tada je moguće lako isprogramirati takvu funkciju. Međutim za rešavanje proizvoljnog polinoma stepena većeg od pet, neizbežne su metode numeričke matematike koje mogu biti veoma složene za programiranje. Zbog toga je u takvim situacijama poželjno koristiti biblioteke koje poseduju neophonde numeričke algoritme.
U praksi se ispostavlja da je metoda inverzne iteracije uglavnom veoma brz način za dobijanje kvalitetnih slika Žulijevih skupova. Ipak, postoje polinomske funkcije za koje se malo teže dobijaju kvalitetne slike sa metodom inverzne iteracije. To su funkcije koje poseduju odbijajuće fiksne tačke čiji multiplikator je po modulu veoma blizak jedinici. Takve fiksne tačke sporije privlače ostale tačke pri inverznim iteracijama (videti dokaz teoreme 1), što dovodi do toga da na slici oko njih ostane prazan prostor. Taj problem se može prevazići na nekoliko načina:
- Prvo i najednostavnije rešenje je da se uveća broj inverznih iteracija. Nažalost ovo dovodi do eksponencijalnog uvećavanja vremenske i prostorne složenosti našeg algoritma. Novi problem se može prevazići ako se koriste složeniji tipovi podataka (skupovi) za čuvanje inverznih iteracija.
- Drugo rešenje se sastoji u tome da se za početnu vrednost
z0
algoritma ne uzme jedna nasumična tačka, već nekoliko desetina tačaka koje se biraju tako da većina njih bude u ukolini fiksnih tačaka koje prave problem (tj. u okolini fiksnih tačaka čiji multiplikator je po modulu veoma blizak jedinici).
Za detaljniju analizu oba pristupa, pogledati rad [9].
Epilog
Ovde se ovaj tekst o osnovnim informacijama o Žulijevom i Mandelbrotovom skupu završava. Mnogo drugih, zanimljivih, tema vezanih za kompleksnu dinamiku, ostavljeno je za neke naredne tekstove koji će se pojaviti na ovim sajtu. Te teme nisu ušle u ovaj uvodni tekst o kompleksnoj dinamici zbog njihove kompleksnosti. Zainteresovani čitalac lako može sam započeti dublje istraživanje po mnogobrojnoj literaturi. Kao početna tačka u tom istraživanju može mu pomoći spisak korišćene literature koji je naveden u nastavku.
Sve slike koje se pojavljuju u ovom tekstu iscrtane su uz pomoć malog C programa kog sam napisao. Slike su dodatno umanjene i kompresovane uz pomoć Adobe Photoshop programa i odlične opcije Save to Web.
- Gaston Maurice Julia (1893–1978), francuski matematičar. ↩
- Benoit B. Mandelbrot (1924–2010), američki matematičar, poljskog porekla. ↩
- Pierre Joseph Louis Fatou (1878–1929), francuski matematičar i astronom. ↩
- Funkcija se naziva funkcija Žukovskog. Ova funkcija poseduje mnoga zanimljiva geometrijska svojstva. ↩
- Felix Hausdorff (1868–1942), nemački matematičar. ↩
- Topološki prostor je Hausdorfov (T2), ako za svake dve različite tačke i tog prostora postoje dva otvorena disjunktna skupa i , takva da i . ↩
- Georg Ferdinand Ludwig Philipp Cantor (1845–1918), nemački matematičar. ↩
- Kantorova lema glasi: U Hausdorfovom prostoru svaki opadajući niz nepraznih kompaktnih skupova ima neprazan presek. ↩
- Kantorov skup se definiše kao ↩
- Jednačine koje se tom prilikom dobijaju nije uvek moguće direktno rešiti, već je potrebno koristiti metode numeričke matematike. ↩
- Kružnice su dve, jer svakoj vrednosti parametra u opštem slučaju odgvaraju dve vrednosti parametra . ↩
- Logistička jednačina je (realna) obična diferencijalna jednačina prvog reda . Ova jednačina (između ostalog) opisuje populaciju neke jedninke koja ima ograničene izvore hrane u svom staništu ↩
- Reč multibrot je kovanica nastala od reči multiple i Mandelbrot. ↩
- Lucjan Emil Böttcher (1872–1937), poljski matematičar. ↩
- Kada bi Žulijev skup bio uniformno naelektrisan, a Fatuov domen vakuum, tada bi elektrostatički potencijal bio dat funkcijom . ↩
- George Green (1793–1841), engleski matematičar. ↩
- Skup je lokalno povezan ako svaka njegova njegova tačka ima povezanu okolinu. Postoje skupovi koji su povezani ali nisu lokalno povezani (takav skup je na primer topolška sinusoida). ↩
- Uvećavanjem broja iteracija, mi dobijamo sve precizniju procenu Žulijevog skupa., a samim tim počinjemo da „vidimo“ sve finije i finije detalje. Ako su detalji sitniji od površine koju pokriva jedan piksel, tada taj piksel ne može verno predstaviti površinu ravni koju pokriva (jer mi bojimo piksel samo na osnovu informacije o jednoj tački koja se nalazi u pomenutoj površini). ↩
- Boja se može posmatrati kao trodimenzionalni realni vektor koji pripada skupu ↩
- Prema tome, zajedničke granice među ovim trakama su krive , gde je kružnica čiji je poluprečnik baš poluprečnik izlaska koji smo koristili za crtanje. ↩
- Kako je navedena nejednakost samo procena, postojaće neke tačke za koje ona ne važi. Ponekad se na slici mogu uočiti ovakve tačke kao površine u kojima bojenje nije neprekidno. Tada je dovoljno uvećati parametar tako da se broj takvih tačaka dovoljno smanji da se ne primete na slici. ↩
- Ovo su upravo granice traka koje se uočavaju u osnovnom bojenju ↩
- Sidarta Gautama (5. vek p.n.e) - osnivač budističke religije. ↩
- U naprednijim algoritmima za crtanje budabrot slika, tačke se ne biraju potpuno nasumično već se tačkama u blizini granice Mandelbrotovog daje prednost pri izboru. Tačkama u blizini granice Mandelbrotovog skupa biće potrebno veoma mnogo iteracija da bi izašle van kružnice izlaska, zbog čega njihove iteracije uvećavaju mnogo brojača. Ovo ima isti efekat kao uvećavanje broja nasumično odabranih tačaka. ↩
- Maglina (lat. nebula - oblak) je međuzvezdani oblak sačinjen od prašine i gasova. ↩
Literatura
- Daniel S. Alexander, A History of Complex Dynamics
- Bodil Branner, The Mandelbrot Set
- Adrien Douady, John H. Hubbard, Étude dynamique des polynômes complexes
- Evgeny Demidov, The Mandelbrot and Julia sets Anatomy
- Kenneth Falconer, Fractal geometry: mathematical foundations and applications
- Melinda Green, The Buddhabrot Technique
- John Horgan, Who Discovered the Mandelbrot Set?
- Linda Keen, Julia Sets
- Benoit Mandelbrot, The Fractal Geometry of Nature
- Mark McClure, Basic real and complex dynamics: A computational approach
- Mark McClure, Inverse iteration algorithms for Julia sets
- John Milnor, Dynamics in one complex variable
- Íñigo Quílez, Area of the main bulb of the Mandelbrot set
- Íñigo Quílez, The symmetry of the Mandelbrot set
- Linas Vepstas, Renormalizing the Mandelbrot Escape