Zašto fraktali?

Thursday, 05. April 2007.

Svi pokušaji opisivanja svijeta oko nas kroz povijest vrtili su se oko ideja osnovnih geometrijskih likova. Kružnica, kvadrat, pravokutnik… Svi oni su prisutni u našem životu kao ideje i kao realizacije tih ideja od najranijeg djetinjstva, preko prvih školskih dana pa sve do kraja života. Prihvaćamo ih, vidimo ih oko sebe, gradimo i mijenjamo svijet pomoću tvorevina koje su (kompleksne) kombinacije osnovnih geometrijskih likova.

Pogled u bezdan stvarnosti

Izvedimo jedan eksperiment. Za početak zamislite kružnicu. Jeste? Sad je nacrtajte “prostom rukom”. Nije baš savršena, zar ne? Čovjek je domišljata beštija, već odavno poznaje šestar. OK, uzmite šestar i nacrtajte tu kružnicu. Krasno, okruglo, savršeno… Uzmite povećalo, i pogledajte bilo koji segment kružnice… Malo je grbav, ne slijedi ideju savršene kružnice… Ma ima i za to lijeka… Moderni uređaji za ispis mogu izbacivati točkice promjera nekoliko mikrometara savršenom preciznošću. Nacrtajte kružnicu na kompu s bilo kojim programom za crtanje i isprintajte je na najboljem printeru/ploteru koji imate pri ruci. Sad uzmite malo jače povećalo (no dobro, mikroskop možda)… Pogledajte, opet ima malih nedostataka… Mogli bi ovako nastaviti unedogled ili, barem što se tehnologije koju posjedujemo tiče, do atomske razine, ali mislim da je evidentno kako je nemoguće nacrtati savršenu kružnicu. Razlog je jednostavan. Svijet u kojem postojimo nije građen od savršenih euklidskih likova i tijelaSavršena kružnica je uobrazilija naše perverzne mašte i kao takva ne postoji.

Euklide, zašto si nam lagao?!

Od davnina se osnovni princip proučavanja svijeta moglo sažeti otprilike ovako: “Pojednostavi što je više moguće!“. Ovaj princip nam je u prošlosti mnogo puta poslužio kao sklonište kada god bi nas uhvatio strah od nepoznatog, nepojmljivog i neobjašnjivog. Naravno, ekstremna pojednostavljenja su nas dovodila u zablude: “Zemlja je ravna ploča!“, “Svemir je niz koncentričnih sfera na koje su zalijepljene zvijezde” ili nekih novijeg datuma: “Zato što plaćam kartu, zato što postoji dnevni red i zato što ne pada snijeg, kiša, tuča, sjekire, umetni-što-hoćeš: vlakovi neće kasniti“… Ipak, princip je bio dovoljno dobar da se uvuče u same korijene znanosti. Malo modificiran doduše, pa sada glasi: “Pojednostavi do te mjere da možeš sustavno proučiti i zatim nadograditi”. Nije previše jasno je li znanost prihvatila već postojeći princip ili je on iz kruga znanosti prešao u opći način mišljenja ali nije zapravo ni bitno. Bitno je to da unazad par stotina godina povijesti moderne znanosti i povijesti općenito, ljudi u svakoj situaciji u kojoj moraju proučiti, objasniti i konstruirati neku pojavu ili uređaj kreću od savršeno predvidljivog i pojednostavljenog slučaja koji nema gotovo nikakve veze sa stvarnošću i kojeg onda generaliziraju prema onom stupnju kompleksnosti koji je u danoj situaciji potreban. Bitno je također to što je takav način razmišljanja jedini upotrebljiv za ograničenu ljudsku percepciju i jedini dovodi do rezultata u konačnom vremenu. Ili možda ne?

Najbitnija u cijeloj ovoj raspravi je činjenica da stvarni svijet ne funkcionira tako. Ljudski mozak ne može obuhvatiti, proučiti i shvatiti sve pojedine postojeće manifestacije kružnice, ali je dovoljno pronicav da shvati ideju kružnice i da iz te ideje proizvede zaključke koji se dovoljno dobro poklapaju sa stvarnim kružnicama te pomoću tih zaključaka konstruira kotač. Euklid nije lagao. Njegova geometrija nije geometrija stvarnog svijeta. Ta geometrija, iako samo idealizirana aproksimacija stvarnog svijeta ima itekakvu primjenu. Ona nam putem svoje klasifikacije univerzalnih oblika omogućuje da na lak način opisujemo stvari koje nadilaze moć našeg perceptivnog aparata.

Jezik kozmosa

Kao što rekoh, svijet nije napučen niti savršenim kružnicama niti bilo kojim drugim geometrijskim likovima, tijelima itd. Generalno, čak ni kombinacije takvih konstrukcija ne zadovoljavaju uvjet prirodnosti, tj. nečega što nije stvoreno umjetnim putem. Ono što možemo vidjeti u stvarnom svijetu su oblici beskrajne složenosti za koju se nikada ne bi reklo da ju je moguće opisati matematičkom formulom. Zato već stotinama godina to i ne pokušavamo. Gradimo pojednostavljene modele koji se prilično dobro poklapaju sa stvarnošću. Što kada ti modeli postanu nedostatni?

Fraktali su u početku otkriveni kao intrigantne matematičke zagonetke (Julia, Poincaire). Zatim su fraktalne strukture polako prepoznate u kontekstu pojave tzv. kaosa u dinamičkim sustavima (Lorenz-klima, Mandelbrot-kretanje cijena pamuka na NY burzi kroz jako dugo vrijeme). Ključni korak je učinjen kad se shvatilo da upravo takve konstrukcije realno opisuju mnogo više od nekoliko izoliranih pojava koje su proučavali (tada još) znanstveni marginalci sumnjive (znanstvene) reputacije.

Malim koracima započela je revolucija koja još traje. Umjesto da za opisivanje svijeta oko nas koristimo idealizirane konstrukcije, otkrili smo jezik koji puno bliži predmetu kojim se bavimo: fraktalnu geometriju. Stvari uvijek postaju razumljivije ako ih nazovemo pravim imenom. Fraktalna geometrija je u konačnici upravo to: skup pojmova koji se začudno jako dobro poklapaju sa stvarnom prirodom stvari koje opisuju.

Fraktalni oblici su svuda oko nas. Utkani su u samo tkivo kozmosa. Od nečega tako “jednostavnog” kao što je latica cvijeta, preko oblika nastalih erozijom riječne obale pa sve do nevjerojatno kompleksne mreže ljudskog krvotoka. Otkriće da je moguće matematički opisati, generirati i sustavno proučavati i takve enormno složene sustave je epohalno. Otkriće da je takav način promatranja dohvatljiv ljudskoj percepciji je golemi korak naprijed prema kreiranju nečeg što će već i suvremenici nazvati novom znanošću. I na kraju, to otkriće je divovski korak bliže onom cilju koji slijedimo još od trenutka kada je neki davni predak pogledao u munju i, umjesto da pobjegne i sakrije se u pećinu, pokušao si objasniti njenu prirodu.


Gramatika beskonačnog

Sunday, 01. April 2007.

“Molim vas, nacrtaj izračunaj mi ovcu”

paprat Papratnjače (Ptaeridophyta) su stara porodica biljaka koje su caravale zemljom davno prije cvjetnica. Lijevo možemo vidjeti sliku primjerka karakterističnih osobina od kojih je najuočljiviji specifičan pravilni uzorak lista biljke.

Desno je još jedan primjerak, nepoznatog podrijetla. Vrsta koju vidimo na toj slici vezana je uz neobičnu legendu. Naime, priča kaže kako ova paprat u prirodi zapravo ne postoji. I ne samo to, ista legenda tvrdi kako je crtež te vrste nastao mukotrpnim radom jedne kornjače. Kako to da kornjača zna crtati? Zašto baš paprat? Tko može vjerovati da ovo na slici desno nije crtež stvarne paprati? Kakve veze to ima s fraktalima?

Upoznajte L-Sisteme

L-sistemi su matematički formalizam kojeg je 1968. izumio mađarski biolog Aristid Lindenmayer. Kao biolog, Lindermayer se bavio proučavanjem rasta i razvoja biljaka, algi i bakterija. Da bi mogao modelirati faze razvoja jedinke kao i povezanost susjednih i istovremenih događaja trebao mu je sustav koji omogućuje u svakom koraku istovremeno mijenjanje više osnovnih objekata. L-sistem je algoritam zamjene znakova u nekom znakovnom nizu. Osnovna ideja je da se počne od jednostavng skupa znakova, a zatim se iterativno svaki znak u skupu zamjenjuje složenijim skupom istih znakova. Npr. neka imamo početni niz “aabbbaaa” i pravilo koje svako ‘a’ zamjenjuje s “abb” i svako ‘b’ s “aa”. U prvom koraku krećemo od inicijalnog niza i primjenjujemo pravila na svaki znak te dobivamo: “abb abb aa aa aa abb abb abb abb”. Sljedeći korak je primjena istih pravila na dobiveni niz znakova u prethodnom koraku. Na taj način postiže se osnovna Lindermayerova ideja da se počevši od jednostavnog objekta i dodajući (umečući) mu druge jednostavne objekte kreira krajnji objekt promatranja. Ono što L-sisteme razlikuje od ostalih sličnih postupaka jest činjenica da se izmjene početng objekta dešavaju paralelno (u svakom koraku se radi više od jedne zamjene znakova) čime se postiže modeliranje bioloških procesa koji zbog svoje prirode zahtjevaju paralelizam. (Za formalnu definiciju L-sistema vidjeti članak na wikipediji)

Geometrija kornjače

Vrlo brzo nakon njihovog nastanka, predložena je i geometrijska interpretacija L-sistema. Jedna od njih postala je standardnom i danas je jedina koja se koristi. Dakle… Zamislimo kornjaču. Kornjača ima svoj položaj u 2D ravnini označen točkom  (X_0, Y_0) . Isto tako linija koja se proteže od glave do repa naše beštije zatvara neki kut s osi X , nazovimo ga \alpha . Stoga kornjaču određuje trojac (X_0, Y_0, \alpha) . Definiraju se i dvije konstante: prijeđeni put (duljina linije) d i povečanje kuta \beta . Abeceda takvog L-sistema se sastoji od 4 znaka: F, f, +, - sa sljedećim značenjem:

  • F - Pomakni kornjaču iz trenutnog položaja (X, Y) u novi položaj (X', Y') pri čemu je X' = X + d cos (\alpha) i Y' = Y + d sin ( \alpha ) . Postavi kornjaču u novo stanje: (X', Y', \alpha)
  • f - isto kao F ali se samo mijenja stanje kornjače, bez de se prikaže linija.
  • + - okreni kornjaču na lijevo za kut \beta tako da je novi kut kornjače \alpha = \alpha + \beta
  • - - okreni kornjaču na desno za kut \beta tako da je novi kut kornjače \alpha = \alpha - \beta

(Napomena: Ovo je osnovna abeceda, za kompleksnije sisteme ovoj abecedi se dodaju još neki znakovi ali princip rada je isti…)

Kao kod svakog L-sistema sada se zadaju:

  • aksiom - početni string. npr. “FFF–fff
  • početni kut i položaj kornjače
  • pravila za prepisivanje, npr “F -> ff++FF”

Iteracijom zadanog L-sistema renderira se konačni objekt. E sad bi bilo vrijeme da odgovorim na barem neka pitanja postavljena na početku. Zašto baš kornjača? Razlozi su povijesni. Nekad davno postojao je jedan programski jezik u kojem ste imali kursor na ekranu i programirali njegovo pomicanje te tako stvarali sliku. Programski jezik se zvao LOGO a kursor je u prvim verzijama bio prikazan kao kornjača.

Papratnjnače, fraktali i jedan problem.

Uzevši da je korjen L-sistema u biologiji prva primjena koju su pronašli bila je u modeliranju bioloških struktura. Ubrzo su se pojavili programčići koji su mogli izgenerirati prvih nekoliko koraka itercije jednostavnijih L-sistema. Rezultati su bili zapanjujuči. Na ekranu su se pojavljivale slike neviđenih i nikad otkrivenih biljaka. Ipak, najveće zaprepaštenje izazvala je nevjerojatna sličnost “umjetnih” i stvarnih biljnih struktura. Drveće, lišće i cvijeće… Sve to bi proizašlo iz malih i jednostavnih jednadžbi. Ideja da jedna tako složena arhitektura kao što je list biljke može biti opisana jednostavnim nizom znakova ubrzo je postala ideja vodilja za istraživanje L-sistema. Danas su dva područja na kojima se oni istražuju. Prvo je modeliranje realističnih biljaka (dovedeno na sasvim novu razinu kad su se L-sistemi prebacili u 3 dimenzije). Vodeće ime na ovom području je prof. Przemyslaw Prusinkiewicz, voditelj “Biological Modeling and Visualization research group na sveučilištu Calgary, Kanada. Njihove prekrasne radovi, uključujući i potpuno besplatan i za download dostupan klasik “Algorithmic beauty of nature” možete pronaći ovdje: Algorithmic Botany. Još jedan prekrasan prikaz što se sve može sa L-sistemima (gledano s umjetničkog aspekta) dostupan je ovdje Xenodream. Naravno, tu je i moj skromni doprinos istoj tematici: by El Gruñón…

Drugo važno područje istraživanja je (još uvijek otvoreno) pitanje pronalaženja odgovarajučeg L-sistema za zadanu strukturu ili proces. Naime, unatoč zapanjujučoj sličnosti, slike generirane L-sistemima nisu u potpunosti jednake pravim biljkama. Unatoč tom nedostatku, smatra se da je Lindenmayer uspio u svojoj namjeri, naime stvorio je sustav modeliranja koji omogućuje (za sada u ograničenom obliku) predviđanje grananja bioloških struktura. Ovaj problem ostaje otvoren ali i intenzivno proučavan.

I kakve to veze ima s fraktalima? Uzevši u obzir iterativnost (nisam siguran je li ovo uopće hrvatska riječ) postupka generiranja L-sistema lako se vidi da oni često rezultiraju strukturama koje slijede načelo samosličnosti. Samoslčnost je jedna od osnovnih opazivih karakteristika fraktala. Riječ je o činjenici da fraktal pri ma kako velikom povečanju/smanjenju zadržava oblik osnovne strukture koja ga je proizvela (tj. zadržava dimenziju, ali to je jedna druga priča). Zbog fraktalne prirode L-sistema, biološki sitemi postaju pravo područje za primjenu fraktalne geometrije. Ako se uzme u obzir i česta i lako opaziva pojava kaosa u tim sistemima, nije ni čudo da su se upravo prve naznake teorije kaosa pojavile u biologiji, ekologiji i meteorologiji, a tek kasnije u fizici. Biologija je kao i druge dvije znanosti dugo odolijevala prodoru matematike u svoje vode. Kad se jednom taj prodor desio, biolozi su raspolagali s modelima preuzetim iz fizike. Ubrzo se pokazalo da su takvi modeli nedostatni. Jedan za drugim davali su netočene i neupotrebljive rezultate. Problem je bio u temeljnom pristupu. Fizičar pokušava izolirati mali komadić pojave, dobro ga proučiti, dodati mu novi komadić i tako dalje sve dok ne dobije model upotrebljiv za dani slučaj. S ekološkim i meteorološkim sistemima to jednostavno ne ide. Oni zahtjevaju globalni pristup. Stoga su ove znanosti vrlo brzo postale otvorene novim i egzotičnim spoznajama teorije kaosa… O problemima modeliranja ću još pisati…

I mala zanimljivost…

Da dokažem kako fraktali imaju veze s L-sistemima zadat ću sljedeći sistem:

  • aksiom: “F”
  • pravilo prepisivanja: “F” -> “F+F–F+F”
  • kut: 60 stupnjeva.

Ako ga sada renderiramo, dobivamo:

Što je dio (trećina) Kochove pahuljice :-)

Reference


Kochova pahuljica - čudovište zarobljeno unutar savršenstva

Sunday, 25. March 2007.

Da ste kojim slučajem rođeni početkom dvadesetog stoljeća i da ste se u životu odlučili baviti matematikom tada biste se prije ili poslije susreli s jednim novootkrivenim čudovištem. Tadašnja matematika vam ne bi mogla dati odgovore koje biste tražili ako biste ih se i usudili tražiti. Naime, postojale su i zanimljivije teme za istraživanje u to doba, a pokušati definirati i objasniti jednu ovakvu (naizgled) kontradiktornu konstrukciju smatralo se gubitkom vremena i općenito lošim ukusom. Kako je općenito poznato, loš ukus se ne smije tolerirati.

Rođenje čudovišta

Kao i za sve velike događaje, tako je i za ovaj poznata samo približna vremenska koordinata. Naime, po dostupnim podacima evidentno je da se događaj zbio 1904. godine. No, točan trenutak rođenja ove bizarne ideje nije poznat a najvjerojatnije nije bio poznat ni onom tko ju je iznašao (pitanje bi li povijest bila zanimljivija i općenito bolja kad bi se pamtile takve točne vremenske koordinate je za relevantno samo cinicima i onima koji znaju nešto o fizikalnoj nemogućnosti mjerenja takvih koordinata pa ga ovdje neću produbljivati). Daklem, 1904. godine švedski matematičar Helge von Koch je opisao postupak za dobivanje i uzgoj vlastitih čudovišta (u dokumentu naslovljenom “Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire”). Ono što je predložio mogao je izvesti svatko s malo papira, škarama ili besposlenim mozgom koji ima kakvu-takvu mogućnost vizualizacije. Koch je svoje otkriće smatrao zanimljivom matematičkom dosjetkom. Tek će šezdesetak godina poslije jedan matematičar povući neobičnu paralelu koja povezuje naše čudovište s obalom Velike Britanije i time otvoriti put revoluciji. To je pak tema jednog od sljedećih članaka…

Kak to zgleda?

Postupak je prilično jednostavan. Počnete od svima poznatog i nimalo neobičnog jednakostraničnog trokuta. Uklonite srednju trećinu svake stranice. Na prazna mjesta dodate novi jednakostranični trokut. Uklonite bazu dodanog trokuta. Ponavljate postupak dok je svijeta i vijeka i još malo poslije (tj. beskonačno) za svaki trokut koji vidite. Rezultat prvih nekoliko koraka je prikazan na sljedećoj slici:

Kochova pahuljica

Nije strašno, zar ne? Ne tresu vam se gaće? Ne razmišljate o tome da ugasite komp i prošećete malo po kvartu sa psom pretresajući pitanje o životu svemiru i svemu ostalom? Nisam ni mislio, ali strahote tek počinju…

Prvo lagano pitanje…

Koliki je opseg naše krivulje? Ovaj izračun nije teško napraviti. Neka je n broj iteracijskih koraka. Tada u svakom koraku možemo definirati sljedeče veličine:

  • N_n = Broj stranica u svakom n-tom koraku
  • l_n = duljina jedne stranice u n-tom koraku
  • O_n = Opseg krivulje nakon n koraka = L_n * O_n

Iz slike je vidljivo da nakon svake iteracije broj stranica poraste za faktor 4.
Ako duljinu stranice početnog trokuta označimo s a , onda je N_0 = 3 a N_n = 3 * 4^n . Nadalje, u svakom koraku je duljina stranice manja za faktor 1/3 od stranice prethodnom koraku, tj. vrijedi da je l_n = a \dfrac{1}{3^n} Dakle, opseg krivulje je

O_n = N_n * l_n = 3a * \left( \dfrac{4}{3} \right)^n

odnosno

\lim_{n \to \infty} O_n = \lim_{n \to \infty} \left[ 3a * \left( \dfrac{4}{3} \right)^n \right] = \infty

Prevedeno na jezik običnih ljudi, opseg krivulje nakon beskonačno mnogo koraka je - beskonačan.

Drugo lagano pitanje

Kolika je površina koju zatvara Kochova pahuljica? Označimo za početak površinu polaznog istostraničnog trokuta kao:

P_0 = \dfrac{\sqrt3}{4}a^2

Kako se u svakom koraku iteracije dodaju”mali” trokuti na postojeću površinu i kako je duljina stranice svakog takvog”malo” trokuta 1/3 puta manja od stranice u prethodnom koraku, površina tog malog trokuta u n-tom iteracijskom koraku iznosi:

P_n' = \dfrac{\sqrt3}{4}\left( \dfrac{a}{3^n} \right) ^2 = \dfrac{P_0}{9^n}

Koliko takvih trokuta dodajemo? Iz slike se vidi da (ako je n redni broj koraka iteracije) vrijedi:

pov1

dodanih “malih” trokuta. Stoga možemo pisati:

pov2

Ako raspišemo prvih nekoliko članova dobivene formule može se vidjeti da je konačni oblik zapravo:

P_n = P_0 \left\lbrace 1 + \frac{1}{3} \left[ \left( \frac{4}{9} \right)^0 + \left( \frac{4}{9} \right)^1 + \left( \frac{4}{9} \right)^2 + \left( \frac{4}{9} \right)^3 + ... + \left( \frac{4}{9} \right)^{n-1} \right] \right\rbrace

Odnosno:

pov3

Na kraju vidimo da je površina nakon beskonačno mnogo koraka - konačna. Nije vam se upalila lampica? Još uvijek bezbrižno čitate?

Zaključak od kojeg se tresu gaće

Kochova pahuljica na jednostavan način demonstrira jedno od poznatih svojstava fraktala. Beskonačno dugačka granica zatvara konačnu površinu. Ovakvi objekti su početkom prošlog stoljeća izazivali pomutnju među matematičarima ali sve do pedesetih godina istog stoljeća nisu imali široki krug proučavatelja. Dijelom zato jer nitko nije uvidio da postoji veza među mnogim takvim objektima (da, čudovište nije jedino!!!), a drugim dijelom zato što je tadašnja matematika bila zaposlena pokušajima restrukturiranja samih svojih temelja koji su se pokazali problematičnima (npr. 1902.g. Rusellov paradoks) pa su se ove stvari činile egzotične i trenutno irelevantne.

Čudovište je jedan od najstarijih poznatih fraktala. Paradoks konačne površine omeđene beskonačno dugom krivuljom rješen je otprilike istovremeno kad je nastao pojam fraktal. Nakon što je Madelbrot definirao objekte koji mogu imati decimalnu dimenziju i nazvao ih fraktalima, pokazano je da dimenzija Kochove pahuljice iznosi približno 1.26. O fraktalnim dimenzijama u jednom od sljedećih članaka…

I zanimljivost za kraj

Stari Grci su prvi javno priznali ono što se prešutno smatralo istinom tisućama godina prije njih: kružnica je savršen geometrijski lik. Kakve to veze ima? Prvo, površina koju zatvara Kochova pahuljica je u svakom koraku iteracije veća od površine inicijalnog trokuta. Postoji li gornja granica? Naravno, inače površina ne bi bila konačan broj. Uglavnom, može se pokazati da je dana površina uvijek manja od površine inicijalnom trokutu opisane kružnice. I ne samo to: Sama krivulja nikada ne prelazi granicu te kružnice. Beskonačno dugačka krivulja zarobljena je konačno dugačkom i još k tome savršenom krivuljom: kružnicom. Da se čovjek zamisli…

Reference