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