Documente online.
Username / Parola inexistente
  Zona de administrare documente. Fisierele tale  
Am uitat parola x Creaza cont nou
  Home Exploreaza

LUCRARE DE DIPLOMA Teoria fractalilor si Teoria haosului

Informatica











ALTE DOCUMENTE

Windows XP - Tu decizi ce mesaje de eroare sa vezi in XP
Directive preprocesor si metodologie de programare
ROLUL sI FUNCŢIILE SISTEMELOR DE CALCUL - calculatorul
METODA DIVIDE ET IMPERA
Configurarea unei conexiuni PC to Zapp Network
COMENZI UTILE
APELURI SISTEM PENTRU FISIERE
Retele LAN fara fir
COMUNICARE DE BAZA CU BAZELE DE DATE EXTERNE PRIN INTERMEDIUL IMPORTULUI SI AL COMBINARILOR
Securitatea retelelor. Viermele Internetului


ACADEMIA DE STUDII ECONOMICE

FACULTATEA DE CIBERNETICĂ, STATISTICĂ

sI INFORMATICĂ ECONOMICĂ

LUCRARE DE DIPLOMĂ

Teoria fractalilor si

Teoria haosului

BUCUREsTI

2008


Cuprins

Introducere...............................................................

4

Capitolul 1.

Ce sunt fractalii?...............................

6

1.1.

Scurt istoric...................................................................

6

1.2.

Primii fractali faimosi...................................................

7

1.3.

Definitie........................................................................

10

1.4

Dimensiunea fractala ...................................................

11

Capitolul 2.

Aplicatii curente ale fractalilor.........

13

2.1.

Avantajele utilizarii fractalilor......................................

13

2.2.

Economie......................................................................

14

2.3.

Astronomie....................................................................

16

2.4.

Meteorologie.................................................................

17

2.5.

Dinamica fluidelor si chimia.........................................

19

2.6.

Fizica.............................................................................

20

2.7.

Grafica pe calculator.....................................................

21

Capitolul 3.

Teoria Haosului.................................

22

3.1.

Notiuni introductive......................................................

22

3.2.

"Efectul fluturelui" - Atractorul Lorentz......................

23

3.3.

Exemple de sisteme haotice..........................................

24

3.4.

Caracteristicile sistemelor haotice în analogie cu organizatiile manageriale..............................................

27

Capitolul 4.

Tehnici de reprezentare a fractalilor

30

4.1.

Sistemul functiei iterate (IFS).......................................

31

4.1.1.

Jocul pisicii..................................................................

32

4.1.2.

Jocul haosului...............................................................

33

4.2.

Sisteme Lindenmayer...................................................

34

4.2.1.

Scurt istoric..................................................................

34

4.2.2.

Descrierea procesului...................................................

35

Capitolul 5.

Realizarea aplicatiei..........................

38

5.1.

Scopul aplicatiei............................................................

38

5.2.

Descrierea interfetei......................................................

38

5.3.

Structura aplicatiei........................................................

40

5.3.1.

Clasa Fractal.................................................................

40

5.3.2.

Curba dragonului.........................................................

42

5.3.3.

Copac fractal................................................................

44

5.3.4.

Setul Mandelbrot..........................................................

44

Concluzii...................................................................

49

Anexe........................................................................

51

Anexa 1.

Lista figurilor.....................................................

51

Anexa 2.

Listare de cod sursa...........................................

52

Bibliografie...............................................................

59


Introducere

            "Se pare ca nimeni nu este indiferent fata de fractali. De fapt, multi privesc prima lor întâlnire cu geometria fractala ca o experienta cu totul noua, atât din punct de vedere estetic, cât si stiintific."

Benoit Mandelbrot - "Frumusetea fractalilor", 1986

Rigla si compasul au constituit pentru matematicienii antici principalele unelte utilizate în studiul geometriei, al carei parinte este considerat si în ziua de azi Euclid din Alexandria, înca din secolul IV î. Hr.

stim cu totii ca geometria euclidiana este un ansamblu de leme, corolare, teoreme si demonstratii, care foloseste doar patru notiuni fundamentale: punct, dreapta, plan si spatiu, si care se bazeaza pe cele cinci axiome, enuntate de Euclid în cartea sa "Elementele". Orice obiect al muncii omului era scufundat si reprezentat în spatiul 1D, 2D, 3D. Dar Natura, în imensa ei complexitate, nu s-a limitat la a construi corpuri geometrice doar în acest spatiu atât de particular, a carui masura este un numar întreg si mai mic decât 3.

Privind în natura, observam imagini imposibil de îndesat într-o viziune euclidiana, precum conturul coastei Normadiei, al crestei muntilor, al norilor, chiar si brocolli si conopida, care nu pot fi construite si definite geometric la fel de usor.

            Aparitia calculatorului a permis patrunderea în acest univers în care rigla si compasul nu mai sunt suficiente pentru reprezentarea unor obiecte prea complexe pentru a putea fi integrate într-o lume geometrica. Acesta este universul fractalilor, definit in 1975 odata cu aparitia primei carti a lui Mandelbrot: "Les objects fractales, forme, hasard et dimension".

Fiind primele forme geometrice nebazate pe linii drepte sau liniarizabile, fractalii au fost considerate ciudatenii si abandonate de matematicieni caci erau dezordonat de complexe. Neliniari, deci imposibil de construit prin linii neîntrerupte, este nevoie de calculator pentru a fi trasati.

Mandelbrot, considerat "Parintele geometriei fractale", a inventat si numele de "fractal", care vine din latinescul   "frangere" - a sparge în fragmente neregulate. El nota patetic: "Deoarece "algebra" deriva din cuvântul arab "jabara" (a lega împreuna), între cuvintele "fractal" si "algebra" este o contradictie etimologica."

Din nefericire pentru aceia dintre noi carora le place sa controleze lucrurile, mare parte din lumea naturala nu se conformeaza cu usurinta ecuatiilor liniare. Formele neliniare, "fractale", sunt mai degraba regula decât exceptie. Asa cum spunea Benoit Mandelbrot în cartea sa "Geometria fractala a naturii": "Norii nu sunt sfere, muntii nu sunt conuri, liniile de coasta nu sunt cercuri, iar scoarta copacilor nu e neteda...". Tehnicile noastre matematice au repurtat un mare succes în prezicerea fenomenelor exceptionale, care sunt aproape liniare, cum ar fi traiectoriile pro 10110h71k iectilelor, planetelor si particulelor. Subiecte mai haotice (si imediat folositoare) cum ar fi vremea, cutremurele, curgerea fluidelor si dinamica formativa au înselat constant previziunile.

            Fractalii nu ofera în mod neaparat speranta ca putem controla aceste fenomene înselatoare. Din contra, începem sa întelegem ca haosul si imprevizibilul sunt mult mai puternic incluse în natura decât ne-am imaginat vreodata. Oricum, fractalii ne ofera instrumente puternice pentru modelarea si vizualizarea sistemelor neliniare. În majoritatea cazurilor, cu ajutorul fractalilor putem modela aspectul si structura lumii reale mult mai usor si mai succint decât cu formele liniare.


Capitolul 1

Ce sunt fractalii?

"În ochii mintii, un fractal este un mod de a vedea infinitul."

James Glick, "Haos", 1986

1.1.  Scurt istoric

Asa cum am mentionat mai sus, Euclid a construit o geometrie bazata pe logica  si pe niste adevaruri intuitive. El a dezvoltat astfel un set de reguli logice pentru a descrie punctul, dreapta si planul (axiome):

  1. Prin oricare doua puncte distincte trece o dreapta si numai una;
  2. Orice segment de dreapta poate fi prelungit la infinit (sub forma unei drepte);
  3. Dat fiind un segment de dreapta, se poate construi un cerc cu centrul la unul din capetele segmentului si care are segmentul drept raza;
  4. Toate unghiurile drepte sunt congruente;
  5. Printr-un punct exterior unei drepte se poate trasa o singura paralela la acea dreapta.

În geometria euclidiana, trei puncte necoliniare determina un plan si numai unul, iar patru puncte necoplanare determina un spatiu. Simplu si logic. Observatiile nu au avut nici un rol în gândirea euclidiana.

Aproape doua milenii mai târziu, în 1600, Rene Decartes a zguduit geometria euclidiana, sugerând ca spatiul fizic poate fi disecat si masurat cu ajutorul a trei axe perpendiculare, localizând astfel fiecare punct din spatiu prin trei dimensiuni liniare. Ideea ca Universul poate fi imaginat ca o multitudine de cuburi mici a format fundamentul stiintei moderne asupra lumii.

Un secol mai târziu, Gottfried Wilhelm Von Leibniz si Sir Isaac Newton au dus lucrurile mai departe, facând o presupunere periculoasa si revolutionara, pe care nu au putut-o demonstra matematic initial, si anume ca orice curba este de fapt un numar infinit de segmente de dreapta (numite tangente). Astfel, ei au inventat calculul diferential. Ideea de baza a acestuia este ca orice curba marita la infinit se aseamana din ce în ce mai mult cu o dreapta, iar limita acestui proces este tocmai linia cu care ar semana curba la infinit. Leibniz nu a putut sa îsi explice însa de ce teoria lui dadea rezultate în majoritatea cazurilor, dar uneori ducea la nepotriviri neasteptate. Desi chiar el a abandonat ideea segmentului de dreapta infinitezimal, ea a ramas în folosinta dând rezultate în majoritatea cazurilor.  Presupunerea ca, la infinit, curbele de fapt sunt similare dreptelor, ramâne în picioare, desi aparitia iminenta a unor forme imposibil de supus liniaritatii avea sa zguduie iar matematica.

Fig. 1.1. - Aproximarea curbelor cu linii tangente

Totul a început în 1875 când marele matematician german Karl Waierstrass a descris o curba continua care nu putea fi diferentiata, deci nu parea sa aiba nici o tangenta. O multime de curbe ciudate au început sa apara, denumite "Galerie de monstri".

1.2. Primii fractali faimosi

Triunghiul lui Sierpinski

Polonezul Waclav Sierpinski a pornit de la un triunghi pe care l-a divizat în patru parti egale. Apoi a divizat cele trei parti marginale în acelasi mod, continuând procesul la infinit. Figura obtinuta este numita "Triunghiul lui Sierpinski".

  

Fig. 1.2. - Triunghiul lui Sierpinski

Un alt mod de constructie a aceleiasi forme porneste de la un triunghi plin, în care "decupam" gauri identice, în loc de a trasa linii. Rezultatul este acelasi desi este numit în aceasta maniera "Sita lui Sierpinski".

The evolution of the Sierpiński triangle

Fig. 1.3. - Sita lui Sierpinski

"Covorul lui Sierpinski" este o alta forma care a nedumerit matematicienii, format la fel, prin ambele variate:

       

Fig. 1.4. - Covorul lui Sierpinski 1

                            

Fig. 1.5. - Covorul lui Sierpinski 2

Principala problema era legata de aria acestor figuri. Din moment ce ele erau alcatuite din segmente de dreapta, care, matematic, nu au nici  arie, nici latime, matematicienii au convenit ca aria figurilor este 0, mai mult însa deoarece nu puteau spune cât este aria, daca nu ar fi 0.

Matematicianul italian Giueppe Peano, "profesor extraordinar de calcul infinitezimal" la Universitatea din Torino, folosindu-se de Covorul lui Sierpinski, a demonstrat ca o curba continua, fara latime (si deci fara arie), poate umple o portiune de spatiu, deoarece la infinit, între linii nu va mai ramâne deloc spatiu gol (curba de umplere a spatiului). Curba va avea asadar aria patratului care o margineste, desi este alcatuita în continuare din segmente de dreapta.

Praful lui Cantor

Matematicianul german Georg Cantor[1], cel care a dezvoltat singur teoria seriilor, a creat în 1877 o forma denumita "Praful lui Cantor". Ea este construita din fragmentarea segmentelor de dreapta unidimensionale, continând la sfârsit doar puncte de dimensiune 0, desi este în continuare alcatuita din segmente de dreapta.

Fig. 1.6. - Praful lui Cantor

Curba lui Koch

Matematicianul suedez Helge Von Koch[2], fascinat de infinit ca toti colegii sai în timpul marii crize din matematica, a construit "curba liniei de coasta". El a pornit de la o dreapta pe care a desenat un triunghi exterior. Pe fiecare segment de dreapta al aceleiasi forme a desenat câte un triunghi, s.a.m.d. Asemanator, se poate crea Curba liniei de coasta Koch si pornind de la un patrat, sau de la un triunghi echilateral pe laturile caruia desenam triunghiuri echilaterale.   

    

Fig. 1.7. - Curba lui Koch

Fig. 1.8. - Fulgul de zapada Koch

Curba lui Koch da nastere la un paradox interesant. De fiecare data când un nou triunghi este adaugat figurii 12, lungimea liniei evident creste. Totusi, aria interioara a curbei lui Koch ramâne mai mica decât aria cercului care trece prin vârfurile triunghiului initial. O linie de lungime infinita care înconjoara o arie finita.

Lungimea curbelor este diferita, pornind de la tipul de generare. La primul nivel, lungimea curbei din figura 11  va fi de patru treimi din segmentul de dreapta, iar lungimea curbei similare generate cu un patrat va fi de cinci treimi, adica 133, respectiv 166, daca lungimea segmentului initial este de 100. Pentru a rezolva aceasta dificultate, matematicienii au inventat dimensiunea fractala, prezentata în cele ce urmeaza.

La începutul secolului al XX-lea, cercetarea în domeniul acestor curbe complexe s-a lovit de o mare piedica: calculul laborios. Matematicienii trudeau zile si chiar luni, calculând si desenând pentru a produce niste aproximatii foarte inexacte si sarace în detalii ale curbelor neliniare infinit detaliate. Din 1925 pâna în 1960, limitele calculului manual au împiedicat orice proces serios în geometria complexitatii si infinitului.

Apoi au aparut calculatoarele. La început, nimeni nu s-a gândit sa foloseasca aceste masini scumpe, construite pentru calcule contabile sau pentru utilizari militare, în cercetarea matematica. Apoi, calculatoarele au început sa atraga atentia matematicienilor, prin furnizarea sutelor de zecimale ale numerelor п, e, sau ale radacinii patrate din 2. Dar matematicienii erau înca nelinistiti de bazarea calculelor pe "aproximari". Primul care a îndraznit sa foloseasca simularea pe calculator a fost un biolog: Aristid Lindenmayer, care a introdus ideea "automatelor celulare" pentru a modela dezvoltarea organismelor vii. El era în special interesat de dezvoltarea celulei si de modele ramificate ale plantelor.

1.2.  Definitie

Fractalii sunt reprezentari ale planului complex, într-o maniera recursiva. Un obiect fractal este mai dificil de surprins în complexitatea sa, el necesita din partea observatorului un efort imaginativ, o participare mentala de natura unui proces nesfârsit, care este însasi esenta fractalilor - ei îsi pastreaza forma, indiferent cât de mult am mari o reprezentare. În termenii cei mai generali, un fractal demonstreaza o limita; obiectul fractal este chiar limita acestui proces cu numar infinit de operatii.

Fractalii pot parea foarte complicati fata de formele geometrice clasice. Liniile drepte, arcele gratioase, curbele, poligoanele, etc., au un lucru în comun: chiar daca unele nu sunt drepte, ele sunt considerate liniare, datorita diferentierii (marind la infinit frontiera lor, obtinem tangenta). În cazul formelor neliniare, marind la infinit imaginea lor, obtinem în continuare detalii complexe.

Însa, ei sunt de obicei niste procese foarte simple care produc rezultate complicate. Aceasta proprietate se transfera si asupra Teoriei Haosului. Daca ceva are rezultate complicate, nu înseamna neaparat ca a avut si un input complicat. Este posibil ca haosul sa se fi strecurat în proces, producând rezultate complicate.

Fractalii sunt forme auto-similare, aceasta însemnând ca structura întregului sistem e deseori reflectata în fiecare portiune a sa. Un sistem va arata auto-similar când forte asemanatoare  actioneaza la mai multe nivele ale scarii. Natura abunda în forme auto-similare, cum ar fi liniile de coasta, ramurile care se aseamana cu copacii, vârful muntilor care are aceeasi forma ca întregul munte, valurile si norii mici sunt o replica a celor mai mari. si astfel putem caracteriza într-un mod nou mediul înconjurator.

1.4. Dimensiunea fractala

O notiune elementara când discutam despre fractali este dimensiunea fractala. Formal, spunem ca un set este n-dimensional daca avem nevoie de n variabile pentru a descrie vecinatatea unui punct. Aceasta notiune a dimensiunii este numita dimensiunea topologica a setului.

Uneori apar confuzii cu privire la dimensiunea unei figuri. Evident, o linie are dimensiunea 1, un plan dimensiunea 2, un cub dimensiunea 3. Deseori se crede însa ca o sfera are dimensiunea 3, ea neputând exista decât în spatiu, nu si în plan. Dar sfera este bidimensionala: fiecare particica a ei arata ca o portiune din plan si într-o portiune asa mica, este nevoie doar de doua coordonate pentru a reprezenta un punct.

Într-o exprimare libera, dimensiunea fractala este o masura a cât de "complicata" este o figura auto-similara. Exista mai multe definitii si metode de a determina dimensiunea fractala a unei figuri.

În1919, matematicianul Hausdorff, a introdus o noua dimensiune, dimensiunea fractala sau dimensiunea Hausdorff. Aceasta dimensiune, masoara numarul de multimi de diametre mai mici, necesare pentru a acoperi o figura. Daca acest numar este întreg, atunci dimensiunea este topologica, altfel, dimensiunea este fractala.

Besicovitch, dezvoltând lucrarile anterioare ale lui Hausdorff, a afirmat ca formele ar putea avea întradevar dimensiuni fractionare cum ar fi 1,3 sau 2,5. Curbe precum cele ale lui Sierpinski si ale lui Koch ar putea fi explicate cu ajutorul aceste dimensiuni.

În mod concret, dimensiunea Hausdorff/Besicovitch este definita ca raportul dintre logaritmul numarului de copii si logaritmul marimii semintei corespunzatoare fiecarei copii. Pentru linia de coasta Koch triunghiulara vom gasi dimensiunea fractala log4/log3=1,2618, deoarece sunt patru copii si fiecare este o treime din marimea semintei, iar pentru linia de coasta patrata: log5/log3=1,46.

Dimensiunea fractala a prafului lui Cantor este log2/log3=0.63, deci acest obiect are dimensiunea mai mare decât punctul (0) si mai mica decât linia (1).

Dimensiunea fractala a triunghiului lui Sierpinski este log(3)/log(2) = 1.585.

Pentru a fi clasificata oficial ca fractal, o forma trebuie sa aiba dimensiunea Hausdorff-Besicovitch mai mare ca dimensiunea sa topologica traditionala.

Muntii, norii, copacii, florile au dimensiuni între 2 si 3, si putem deduce multe doar din dimensiunea unui corp. Dimensiunea fractala, asa cum a denumit-o mai târziu Mandelbrot, a devenit un instrument nou de masurare a spatiului.


Capitolul 2

Aplicatii curente ale fractalilor si haosului

"...Întotdeauna au existat zone mari ale stiintei în care metodele analitice simple puteau fi cu greu aplicate. Fenomenele naturale erau prea complexe.  În legatura cu ele, oamenii ridicau din umeri a zadarnicie si enuntau teorii calitative sau aproximatii grosolane, sau nu emiteau nici o parere. Acestea sunt domeniile în care fractalii îsi gasesc o multime de aplicatii."

D.E. Thomsen, Science News, 1987

2.1. Avantajele utilizarii fractalilor

            Fractalii prezinta anumite avantaje datorita carora sunt larg folositi în modelarea aspectului si comportamentului unor sistemelor naturale:

·        Fractalii pot reprezenta cu usurinta forte similare actionând la mai multe niveluri ale scarii, în timp ce geometria liniara nu poate.

·        Fractalii ofera deseori o metoda mai compacta de înregistrare a imaginilor si datelor complexe decât vectorii liniari.

·        Cu ajutorul fractalilor, se pot gasi curbe fractale care sa aproximeze un set de date (precum temperaturi înregistrate într-o anumita perioada de timp, preturile unei actiuni la bursa într-un interval de timp, etc.)

·        Fractalii pot fi folositi pentru a construi modele folositoare ale unor sisteme imprevizibile si haotice, unde ecuatiile liniare dau gres.

Fractalii sunt folositi în diverse discipline, precum: economie, astronomie, fizica si dinamica fluidelor, chimie, cardiologie, ornitologie, etc.

2.2. Economie

Benoit Mandelbrot si-a întemeiat geometria fractala bazându-se în principal pe simularea sa încununata de succes a tendintei preturilor bunurilor de consum, iar analiza pietei ramâne una dintre cele mai atragatoare aplicatii ale geometriei fractale.

În economie, probabil cel mai important lucru este prezicerea într-un mod cât mai sigur a ceea ce se va întâmpla pe piata dupa o perioada de timp. Pâna recent, teoria dominanta folosita în acest scop era  Teoria Portofoliului. Conform acesteia, probabilitatea schimbarilor de pe piata puteau fi modelate prin clopotul lui Gauss:

Fig. 2.1. - Probabilitatea schimbarilor de pe piata

Presupunând ca aceasta teorie este corecta, putem conchide ca schimbarile foarte mici sunt si cele mai frecvente, iar schimbari foarte mari au loc extrem de rar. Acest lucru nu este însa adevarat în practica. Pe aceasta curba, putem observa probabilitatea schimbarilor rapide apropiindu-se de 0, schimbari care pot fi vazute lunar pe piata. Recent, la 20 de ani de la descoperirea fractalilor, Benoit Mandelbrot introduce o noua teorie fractala care poate fi folosita mai eficient decât Teoria Portofoliului în analiza pietei.

Consideram un an de activitate de piata si reprezentarea grafica a pretului în fiecare luna. Vom obtine o linie frânta cu suisuri si coborâsuri. Daca luam una din aceste luni si realizam un grafic mai detaliat pe fiecare saptamâna, vom obtine o linie foarte similara, cu suisuri si coborâsuri. Daca detaliem curba din ce în ce mai mult, pe fiecare zi, ora, chiar minut sau secunda, vom obtine aceleasi, numai ca mai mici, suisuri si coborâsuri. Aceasta este auto-similaritatea Browniana.

Mandelbrot a definit o metoda de a crea fractali pe baza descrierii de mai sus. El a bazat-o pe o iteratie cu generator si a creat fractali care pot modela piata. În Februarie 1999 el a publicat în Scientific American câtiva dintre acesti fractali, alaturi de grafice ale pietei, aratând cât de asemanatori sunt.

În aceasta metoda, se porneste de la o forma, numita generator. Generatorul trebuie sa fie compus din 3 segmente de dreapta, pentru a obtine si cresterea si scaderea pretului. De exemplu, luam o linie frânta, si înlocuim fiecare segment cu linia frânta initiala, obtinând dupa un numar de pasi urmatorul grafic:

Fig. 2.2.a

Fig. 2.2.b

Fig. 2.2.c - Grafic fractal de modelare a pietei

comparativ cu un model al teoriei de portofoliu:

Fig. 2.3. - Grafic de modelare a pietei (Teoria de Portofoliu)

Una din revelatiile majore ale analizei fractale a pietei este memoria sau persistenta pe piata. Modele economice traditionale iau în considerare un consumator care traieste totdeauna în prezent, care ia decizii pe baza preturilor curente ale pietei si pe dorinta perfect rationala de a obtine profit în orice moment. Însa piata are atât memorie pe termen lung, cât si pe termen scurt si este persistenta la fiecare scara posibila, de la ore la secole. Adevaratul participant la economie îsi aduce aminte si când a obtinut profit maxim, si când si-a pierdut bunicul ferma.[3]

În domeniul pietei, ca si în alte domenii în care fractalii si haosul dau rezultate, rareori se dovedesc atât de folositori pentru prezicere, pe cât sunt pentru simulare. Simularea fractala poate modela si prezice natura general statistica a unui sistem, fara a îi prezice comportarea într-un anumit moment.

Pretul bumbacului era subiectul preferat al lui Mandelbrot, deoarece existau date disponibile de-a lungul a sute de ani de comert. El prezenta însa o constanta ciudata: aceeasi variatie într-o perioada de secole, ca si într-o perioada de zeci de ani sau de câtiva ani. El a numit acest lucru invarianta de scara. Desi valoarea variantei din scara ramâne constanta, aceasta este imposibil de prezis în orice moment si la orice marime a scarii. Simularile lui asupra pretului bumbacului in 1953 continua sa prezica cu exactitate cantitatea de variatie din pretul bumbacului, atât lunar cât si anual, dar nu pot pretinde ca indica pretul bumbacului din iulie 2008.

2.3. Astronomie

Unul dintre cei mai frumosi fractali matematici a fost inventat de un astronom. La începutul anilor 1960, Michel Henon de la observatorul din Nisa din Franta a observat o comportare tulburatoare într-un simplu model al stelelor care orbiteaza într-o galaxie. Câteva dintre orbite  erau line si stabile, în timp ce altele pareau aproape aleatoare. La început, a ignorat orbitele anormale, crezând ca ele apar datorita unor erori de calcul inexplicabile.

În cele din urma, Henon a descoperit ca acest tip de comportare haotica era o parte esentiala a dinamicii orbitelor stelare. Planetele, ca orice obiect din Univers, se supun legii gravitationale a lui Newton. Însa desi legea lui Newon pare relativ simpla, poate fi greu de pus în practica, deoarece într-un univers real, atractiile gravitationale ale altor planete si stele fac ca orbita planetei analizate sa fie mai putin previzibila. Folosind aproximatii, astronomii pot prezice care va fi traiectoria orbitelor corpilor ceresti din sistemul nostru solar saptamâna viitoare sau peste douazeci de ani; unii dintre ei cred însa ca nu putem afirma sigur unde se vor afla ele peste un milion de ani.

Trebuie specificat însa ca orbitele planetelor nu sunt fractali; ele se apropie sensibil de elipse perfecte. Daca plasam însa pozitia planetei noastre sub anumite conditii, descoperim ca se încadreaza în limitele unei curbe numite bazin de atractie. Acesta, de cele mai multe ori, este un fractal.

Henon, dupa ce a studiat modele care explicau comportarea turbulenta a fenomenelor terestre, a elaborat un model si pentru orbitele planetare. Desi în trecut nu era folosit, denumim acum acel tip de modele pe care Henon l-a folosit atractori stranii. Spre deosebire de modelele liniare clasice, care par sa prezica pentru totdeauna traiectoria fiecarui corp ceresc, ei ofera un amestec de comportari nesigure. Vechile modele îsi pastreaza capacitatea de a previziona pe termen scurt, dar cercetari recente au aratat ca, pe termen lung, modul de comportare al sistemului nostru solar este cel putin incert.

2.4 Meteorologie

Meteorologii, ca si economistii, investesc o cantitate enorma de efort, bani si energie încercând sa prezica ce se va întâmpla mâine si saptamâna urmatoare. Ambele categorii fac sute de previziuni zilnic, folosind teorii binecunoscute, bazate pe secole de calcule si cercetari, dar dau gres, previziunile economice si cele meteorologice fiind cunoscute pentru inexactitatea lor. Vremea poate fi previzionata suficient de bine pentru cel mult doua zile, dar dincolo de aceasta, predictiile sunt slabe. Fractalii nu au fost de mare ajutor în jocul previziunii meteorologice, dar au ajutat explicând de ce aceasta nu da rezultate.

Înregistrarile pe termen lung ale datelor climaterice deseori prezinta cicluri auto-reflectoare: valuri de arsita care dureaza câtiva ani, un deceniu sau chiar secole de caldura. Înregistrarile facute pe fluviul Nil dezvaluie perioade uscate de un mileniu. Viata de zi cu zi ne sugereaza ca ciclurile neregulate de temperatura au loc si în perioade de o luna, sau o saptamâna. Figura urmatoare confirma acest lucru.

Fig. 2.4. - Înregistrarile pe o perioada de 600 de zile ale temperaturilor

din Middlesex, statul Vermont

Acest tip de date este greu de caracterizat prin metodele liniare traditionale. Modelarea printr-un val sinusoidal ar pierde aparenta de cicluri îmbinate unul în altul, si acesta este tocmai aspectul cel mai interesant de modelat. Acest lucru se poate face aproximând datele cu o curba fractala, nu în scopuri anticipative, predictive, ci pentru a sugera caracterul esential al curbei.

Fig. 2.5. - Aproximare fractala a figurii 2.4

În 1961, Eduard Lorentz, meteorolog si matematician la MIT, pasionat de studiul vremii, a descoperit si a introdus în istorie, pornind de la modelarea vremii pe calculator,  "efectul fluturelui" si atractorul Lorentz, prezentate în capitolul urmator.

Graficele fractale sunt cele mai adecvate reprezentari ale formelor neregulate ciclice, prezente în seriile de date complexe, privind evolutia în timp a fenomenelor naturale si economice. Cutremurele evidentiaza de asemenea prin seismograma lor complexitate si forme auto-similare, deoarece undele de avertizare si replicile lui sunt niste cutremure în miniatura, iar cutremurul principal este o perioada de activitate intensa constituita din subperioade similare. Activitatea seismica este greu de modelat cu ajutorul curbelor traditionale.

Alte fenomene usor de modelat cu ajutorul fractalilor sunt debitele râurilor, evolutia pretului unei actiuni la bursa, cursul valutar, etc.

2.5. Dinamica fluidelor si chimia

Turbulenta în dinamica fluidelor reprezinta starea de miscare a unui fluid, caracterizata de schimbari haotice si stohastice. Aceasta include difuzii, convectii si variatii rapide ale presiunii si vitezei în timp si spatiu. Turbulenta reprezinta înca un domeniu incontrolabil de savanti, ea rezistând tuturor aproximarilor liniare si consumând foarte mult timp calculatoarelor.

Lorentz a fost unul dintre cei mai înversunati exploratori ai analizei neliniare a fluidelor, prin atractorul Lorenz, prezentat în Capitolul 3. Sistemul de ecuatii din care a derivat Atractorul Lorentz este nonlinear, tridimensional,  si deterministic. În dinamica fluidelor, atractorul Lorentz este un model realist al "climei" turbulente dintr-un cilindru mic de fluid închis, pe masura ce i se aplica o încalzire continua la partea inferioara a cilindrului. Cele trei variabile ale sistemului corespund vitezei fluidului, temperaturii si vitezei de modificare a temperaturii.

O metoda de simulare a mai multe fenomene diferite din fizica, chimie si electricitate este agregarea limitata de difuzie. La începutul simularii pe calculator, se plaseaza în centrul unui cerc o bucata mica de materie artificiala. Apoi calculatorul lanseaza aleator, una dupa alta, particule din jurul cercului care ratacesc la întâmplare, pâna ies din cerc sau adera la alta particula întâlnita. Treptat, particulele virtuale formeaza dendrite fractale orientate din centrul cercului spre circumferinta. Acestea prezinta trei proprietati de baza ale fractalilor: auto-similaritate, dimensiune fractala si lacune. Ele pierd din densitate pe masura ce cresc în dimensiune.

Fig.2.6. - Dendrite fractale formate prin agregarea limitata de difuzie[4]

Procese fizice care dau nastere la astfel de forme sunt agregarea cenusii în cosuri, depunerea zincului în celulele electrolitice, difuzia bulelor de gaz prin lichidele vâscoase si descarcarile electrice în atmosfera. Aceste sisteme sunt departe de echilibru, ele primind si disipând cantitati importante de energie. Simularea pe calculator întoarce cumva procesul real pe dos, particulele artificiale deplasându-se lent din exterior spre interior, în timp ce structura dendritica reala se formeaza rapid din interior spre exterior.

2.6. Fizica

Exista patru clase fundamentale de sisteme fizice:

-         sisteme liniare conservative (pendul fara frecari care oscileaza liber)

-         sisteme neliniare conservative (pendul fara frecari, împins)

-         sisteme liniare disipative (pendul care oscileaza liber într-o atmosfera care îi opune rezistenta)

-         sisteme neliniare disipitave (pendul împins într-o atmosfera care îi opune rezistenta).

Sistemele neliniare au fost mereu considerate ciudate si mai putin importante. Sistemele neliniare disipative sunt chiar iremediabile. Dar lumea reala este alcatuita tocmai din astfel de sisteme, iar modelarea acestora se face tocmai prin atractori fractali haotici. Fizicienii au ajuns la concluzia ca o gama larga de comportari complexe, unele de o mare regularitate, rasar acum din ceea ce înainte era doar haos. Multe sisteme fizice si chimice fluctueaza printr-o serie de schimbari majore de la ordinea liniara la complexitatea haotica si înapoi. A doua lege a termodinamicii are si o fateta surprinzatoare: multe sisteme se auto-organizeaza si creeaza spontan o ordine proprie acolo unde nu era nici un fel de ordine.

2.7. Grafica pe calculator

Domeniul cel mai larg în care sunt folositi fractalii astazi este grafica pe calculator. Multe scheme de comprimare a imaginilor folosesc algoritmi fractali pentru a comprima fisiere grafice la mai putin de un sfert din dimensiunea originala. Artisti ai graficii pe calculator folosesc forme fractale pentru a crea peisaje si modele intrinseci; productii cinematografice importante îi folosesc pentru efecte speciale.

Fig. 2.7. - Peisaj fractal

stiinta, matematica si tehnologia nu mai sunt domeniile plictisitoare, inestetice si rigide, ci capata o frumusete care face competitie artei.

Capitolul 3

Teoria haosului

"Evolutia este haos cu reactie inversa."

Joseph Ford, fizician, 1990

3.1. Notiuni introductive

stiinta a cautat mereu ordinea într-un univers haotic, dominat de fenomene imprevizibile si incontrolabile. Dorinta de a fi cu un pas înaintea timpului l-a caracterizat dintotdeauna pe om; el a dorit mereu sa poata anticipa viitorul, vremea, succesul sau esecul în comert, în evenimente sociale. Dar întotdeauna Natura a dovedit ca nu poate fi cuprinsa în întregime în legi pe baza carora sa-i fie descris si prezis comportamentul.

Un sistem haotic este caracterizat prin instabilitatea, imposibilitatea de a fi controlat si dezordinea sa, prin dependenta de conditiile initiale, care determina mari modificari în starea sistemului, ca urmare a unei mici schimbari neperiodice anterioare. Supersensibilitatea la conditiile initiale este o notiune cheie a teoriei haosului. Aceasta înseamna ca evolutia sistemului este dependenta de starea initiala.

Formele neregulate si procesele haotice abunda în natura. Astfel, fumul dintr-o anumita sursa se raspândeste formând o multime de vârtejuri, un curs de apa este învolburat din cauza obstacolelor, o nava sau un avion lasa în urma o dâra turbulenta. Instabilitate si haos întâlnim atât în societate (politica si razboaie, boli, familie si relatii sociale), cât si în fenomene complexe, precum circuite electrice, eruptii de pojar, lasere, bataile inimii, activitatea electrica a creierului, mecanica fluidelor, reactii chimice, sau în sisteme simple precum un pendul.

Teoria haosului a început ca un subdomeniu al fizicii si al matematicii, lucrând cu structuri ale turbulentei (una dintre cele mai dificile probleme din fizica) si auto-similaritatea formelor din geometria fractala. Ea a aparut la sfârsitul anilor '60, fundamentata de matematicianul James Yorke de la Universitatea din Maryland. Primul care a descoperit însa efectele haosului, pe care le-a numit "Efectul fluturelui", a fost Edward Lorentz, meteorolog la Massachusetts Institute of Technology.  De-a lungul ultimelor decenii, aceasta dependenta fata de conditiile initiale a fost cunoscuta sub diferite nume, precum "Teoria haosului", "Teoria complexitatii", "Procese stohastice", etc.

Teoria vizeaza procesele naturale exprimate sub forma formulelor matematice, calcule ce erau imposibile fara calculatoare. În calculul diferential, sistemele haotice sunt reprezentate prin ecuatii neliniare diferentiale, care se ocupa cu fenomene naturale precum turbulenta apei sau piete financiare. Spre deosebire de ecuatiile liniare care se comporta previzibil, sistemele haotice sunt reprezentate prin ecuatii neliniare diferentiale care se schimba brusc sau discontinuu. Într-o ecuatie neliniara, o mica schimbare într-o variabila poate avea un efect disproportionat, chiar catastrofal asupra celorlalte variabile.

3.2. "Efectul fluturelui" - Atractorul Lorentz

Simulând vremea pe calculator în 1961, Edward Lorentz  a vazut oportunitatea de a combina meteorologia cu matematica. Modelul lui matematic al vremii era constituit dintr-un set de 12 ecuatii diferentiale care reprezentau schimbari în temperatura, presiune, intensitatea vântului, etc. Într-o zi, vrând sa repete o secventa interesanta din model,  din dorinta de a salva timp, a reînceput procesul din mijloc. Datele din aceasta rulare ar fi trebuit sa fie identice cu cele din prima rulare, dar rezultatul a fost surprinzator: desi au pornit similar, spre final au devenit complet divergente, al doilea model pierzând orice asemanare cu primul în câteva "luni". O imagine a acestor doua rulari este prezentata mai jos:

Fig. 3.1. - Graficul obtinut de Lorentz în simularea vremii

         Lorentz a presupus ca a fost o eroare, fie când a introdus numerele, fie în derularea calculelor de catre calculator. Dupa ce a cercetat tot procesul, a descoperit sursa problemei: pentru a salva spatiu, imprimanta includea numai patru zecimale dupa virgula, în timp ce datele în memoria calculatorului era exacte pâna la a sasea zecimala. Lorentz a introdus o diferenta între prima si a doua rulare, care nu s-a dovedit a fi nesemnificativa.

El a ajuns la concluzia ca perturbatii extraordinar de mici ale datelor se îmbina cu rapiditate, ducând la o schimbare uriasa a vremii. Asadar, previzionarea vremii este pentru totdeauna "compromisa". Daca modelul lui Lorentz s-ar asemana întru totul cu realitatea, atunci o interferenta minuscula cum ar fi bataia de aripi a unui fluture în Amazon ar putea modifica radical vremea în Massachusettes. "Efectul fluturelui", cunoscut mai exact ca dependenta sensibila de conditiile initiale, este o proprietate comuna a sistemelor naturale si sociale complexe.

În concluzie, Lorentz a apreciat ca sunt imposibile previziunile precise în meteorologie datorita cunoasterii aproximative a legilor naturii si a situatiei Universului la momentul initial.

Pentru a preciza modul în care se ajunge la haos, trebuie stiut ca un regim regulat devine neregulat sau turbulent ca urmare a actiunii atractorilor stranii. Un atractor poate fi un punct, o curba, o suprafata sau mai adesea, un fractal, catre care converg traiectoriile izvorâte din toate punctele care apartin vecinatatii sale.

Lorentz a observat în reprezentarea grafica a sistemului sau de ecuatii ca rezultatul se mentinea mereu pe o curba, o spirala dubla. Erau cunoscute numai doua stari de ordine: o stare stabila, în care variabilele nu se schimbau niciodata, si comportament periodic, în care sistemul intra într-o bucla, repetându-se nedefinit. Ecuatiile lui Lorentz erau clar ordonate: urmareau mereu o spirala. Nu se opreau niciodata într-un punct stabil, dar din moment ce nu repetau mereu acelasi lucru, nu erau nici periodice. El a numit imaginea pe care a obtinut-o Atractorul Lorentz.

                           

Fig. 3.2. - Atractorul Lorentz

De ce un set de ecuatii complet deterministe au acest comportament? Raspunsul rezida în natura lor: sistemele neliniare, de altfel dificil de rezolvat, sunt supuse teoriei haosului si deseori manifesta comportamente extrem de complexe si haotice.

În 1963, Lorentz a publicat o lucrare care descria ceea ce descoperise, însa într-un jurnal meteorologic, pentru ca era meteorolog. Din aceasta cauza, descoperirile lui Lorentz nu au fost recunoscute decât ani mai târziu, când au fost redescoperite de altii. Lorentz descoperise ceva revolutionar, si acum astepta la rândul lui sa fie descoperit de altii.

3.3. Exemple de sisteme haotice

Un alt sistem în care sensibilitatea la conditiile initiale este evidenta este aruncarea unei monede. Exista doua variabile în acest experiment: cât de rapid moneda loveste pamântul, si cât de rapid se învârte. Teoretic, ar trebui sa fie controlabile aceste variabile în totalitate, precum si rezultatul aruncarii. În practica, este imposibil de controlat exact cât de sus va sari moneda si cât de repede se va roti. Se pot încadra variabilele într-un interval anume, dar este imposibil de controlat astfel încât sa se stie exact ce fata va arata moneda.     O problema similara este întâlnita în predictia populatiei biologice. Ecuatia ar fi simpla daca populatia ar creste indefinit, dar efectul calamitatilor si a resurselor de hrana limitate fac aceasta ecuatie incorecta. Cea mai simpla ecuatie care considera aceste aspecte ar arata astfel: Populatia anului viitor = r * populatia anului curent * (1 - populatia curent).

            În aceasta ecuatie, populatia este un numar între 0 si 1, unde 1 reprezinta populatia maxima posibila, iar 0 reprezinta extinctia. R este rata de crestere. Cum afecteaza acest parametru ecuatia? Evident, pentru o rata mare, populatia se va stabiliza la o valoare mare, pentru o rata mica, se va stabiliza la o valoare mica. Dar ecuatia manifesta un comportament socant, dupa cum a demonstrat biologul Robert May în 1970, schimbând rata de crestere în ecuatie. La valori mici ale ratei de crestere, populatia se va stabiliza într-adevar la o singura valoare: de exemplu, pentru o rata de 2,7, populatia va fi 0.6292. Pe masura ce creste rata, populatia finala va creste si ea. Dar când rata a devenit mai mare decât 3, linia s-a descompus în doua. În loc sa ramâna la un singur numar, populatia oscila an dupa an între doua valori. Cu fiecare crestere a ratei, linia se bifurca  în continuare, pâna când a aparut haosul. Peste o anumita valoare a ratei de crestere, devine imposibil de prezis comportamentul ecuatiei. Asadar, la început, rezultatele se înscriu pe o dreapta, iar în final manifesta o neregularitate haotica. Auto-similaritatea, faptul ca graficul are o copie exacta a sa ascunsa în structura sa, a devenit un aspect important al haosului.

Fig. 3.3. - Diagrama bifurcatiei pentru ecuatia populatiei[5]

Fractal a ajuns sa însemne orice imagine care dispune de auto-similaritate. Bifurcatia diagramei ecuatiei populatiei este un fractal. Atractorul lui Lorentz este fractal. Curba lui Koch este fractal.

Piata este de asemenea un sistem instabil si haotic, iar teoria haosului este si mai interesanta când este aplicata evenimentelor umane, precum bursa de valori. Teoreticienii haosului au combatut direct teoria neoclasica a bursei de valori, care presupunea ca asteptarile cu privire la piata sunt "rationale", adica omnisciente despre viitor.

Daca toate preturile de pe piata bunurilor sau preturile actiunilor cotate la bursa încorporeaza cunostinte exacte despre viitor, atunci orice înclinatie a bursei ar fi total accidentala, neînsemnata, adica nici un pret nu are legatura cu vreun altul, fie viitor, fie trecut. Dar un aspect crucial al istoriei umanitatii este ca toate evenimentele sunt interconectate, orice eveniment economic are efecte asupra altora, si dupa cum am aratat în Capitolul 2, piata are memorie atât pe termen scurt, cât si pe termen lung.

Sistemul liniar în care exista doar doi atractori: cererea si oferta nu este suficient pentru a modela  structura neliniara, complexa, turbulenta si volatila specifica pietei. Pentru aceasta trebuie plasat un al treilea atractor, care va induce haosul si structura fractala în sistem.

3.4. Caracteristicile sistemelor haotice în analogie cu organizatiile manageriale

James Gleick a publicat în 1987 cartea "Chaos: Making A New Science" ("Haos: creând o noua stiinta"), un best-seller care a facut din teoria haosului o metafora extrem de populara în literatura de management, fiind privita ca "noua stiinta" a administratiei.[6] Gleick nu a inventat teoria haosului, nici nu a contribuit la partea ei stiintifica, dar a scos-o din obscuritatea jurnalelor stiintifice si a adus-o în ochii publicului larg. Exista multe carti, articole, jurnale, institute, firme de consultanta care fac din teoria haosului noua "paradigma" pentru aplicarea teoriei complexitatii în managementul afacerilor.

Sensibilitatea la conditiile initiale. Ca si în cazul experimentului lui Lorentz, un sistem complex reactioneaza la diferite variabile în moduri imprevizibile. Daca sistemul este complex, chiar si folosirea acelorasi date de intrare sau a unora similare nu va duce la aceleasi rezultate.

Ireversibilitatea timpului. Într-un sistem complex, nu întâlnim niciodata acelasi context de doua ori. O analogie folosita des pentru a descrie acest lucru este: "Niciodata nu calci de doua ori în acelasi râu.", întelegând prin aceasta ca sistemul nu este niciodata acelasi. Apa râului se schimba în fiecare moment, precum în management, o strategie sau decizie nu va fi niciodata luata în acelasi context.

Atractorii stranii. Un regim regulat devine neregulat sau turbulent ca urmare a actiunii atractorilor stranii. Atractorii în teoria haosului sunt ca influenta gravitatiei, seturi de valori spre care sistemul migreaza în timp, numiti si "insule de stabilitate". Într-o formula, un atractor poate fi un singur punct fixat, o colectie de puncte, o orbita complexa sau un numar infinit de puncte.

Atractorii pot fi asimilati lacurilor care aduna toate apele iesite dintru-un bazin determinat, sau pot fi centre de prelucrare (consum) care focalizeaza curentii de marfuri dintr-o anumita zona. Denumirea de straniu se datoreaza dificultatii de prezentare a atractorilor si aspectului lor curios. De regula, atractorii sunt fractali caracterizati printr-o structura geometrica complexa, neregulata. Atractorul Lorentz este un fractal cu dimensiunea Hausdorff cuprinsa între 2 si 3.

Desi este mai neclar cum atractorii stranii pot fi reprezentati într-o organizatie sociala, este convingerea ca fiecare organizatie are "atractori" care duc la alterarea comportamentului organizatiei în timp, în functie de ce forte sociale, economice sau de alt fel conduc sistemul catre un punct dat si de interactiunea acestora.

Forme fractale. Orice parte a unui fractal, marita, reflecta exact întregul. În management, se presupune ca diferite nivele ale organizatiei se aseamana cu altele, ca un fractal în ierarhia manageriala. O forma a structurii sociale poate fi examinata în relatie cu caracteristicile întregului sistem la nivel macro si micro.

Bifurcatii. Bifurcatia reprezinta aparitia brusca a solutiilor diferite calitativ atunci când se modificam parametru dintr-un sistem neliniar. În orice organizatie, doua cai diferite pot adresa o problema diferit, complexitatea crescând. Aceasta este recomandata des ca o sursa de creativitate.

Atractia pentru teoria haosului porneste din viziunea teoreticienilor managementului si ai organizatiilor sociale ca organizatiile sunt sisteme complexe, adaptive, neliniare, dinamice, care au comportament similar cu sistemele naturale - diferite nivele de stabilitate si haos.[7] În mod similar, comportamentul acesteia este imprevizibil, fiind imposibil de prezis "uragane" în viitorul îndepartat. Mai degraba decât sa controleze un sistem, un manager ar trebui sa profite de complexitatea sa. Stacey afirma ca managerii învata cum sa faca fata anxietatii ce însoteste aparitia haosului în sistemul lor prin adoptarea unui concept "mistic" de "distrugere creativa". Stacey încheie într-o nota pozitiva, având convingerea ca desi rezultatele pe termen lung sunt imposibil de prezis, tratarea eficienta a schimbarilor si a provocarilor în fiecare moment vor duce în final la succes.

Dennard afirma în 1996: "La ce buna o stiinta a haosului daca nu ne învata cum sa înfruntam haosul si complexitatea? Nu la asta se refera managementul?" În analiza finala, aceasta este cea mai importanta întrebare. Daca un manager nu poate controla sau forta un sistem într-o forma oarecare de ordine, este managementul posibil? Este el necesar?

Cu exceptia cazurilor specifice, precum fluxurile monetare mondiale sau aritmia cardiaca care pot fi usor reprezentate numeric, este dificil de demonstrat ca sistemele sociale au aceleasi trasaturi. Totusi, ca o metafora sau analogie, teoria haosului este des folosita ca mijloc de conceptualizare a teoriei managementului si altor sisteme sociale. Asadar, managerul eficient se va pregati si va astepta schimbari constante în sistemul sau. Scopurile lui vor fi nu un set de rezultate, ci o serie de scenarii contingente la care va putea reactiona în cel mai scurt timp în viitor.


Capitolul 4

Tehnici de reprezentare a fractalilor

"Pentru imaginatie, calculatorul poate fi un prieten foarte puternic. Ca si matematicile, el nu numai ca largeste orizontul imaginatiei, dar o si disciplineaza si o controleaza."

Richard Dawkins, "Ceasornicul Orb"

În ultimii ani, interesul în teoria haosului si geometria fractala s-a intensificat, pe masura ce oamenii de stiinta au descoperit pas cu pas ca multe dintre procesele din Univers pot fi descrise utilizând aceste teorii. Industria graficii pe calculator încorporeaza rapid aceste tehnici pentru a genera imagini uimitor de frumoase, precum si structuri naturale realiste. Algoritmii variati si rezultate lor afiseaza o mare diversitate. O completa apreciere a graficii fractale pe calculator necesita în prealabil prezentarea conceptelor matematice care stau la baza geometriei fractale si o cunoastere a aplicatiilor stiintifice a acestora, aspecte prezentate în capitolele precedente.

            Formele fractale sunt aproape imposibil de trasat fara ajutorul calculatorului. Formulele care genereaza fractalii sunt de multe ori relativ simple, dar trebuie calculate repetat, fiecare iteratie utilizând rezultatul precedentei. Rezultatele cele mai precise sunt atinse cu ajutorul calculatorului. Grafica pe calculator faciliteaza de asemenea comparatiile între formele naturale si imitatiile lor computerizate.

            Majoritatea fractalilor sunt generati luând un set de date si introducându-le ca date de intrare într-o ecuatie. Rezultatul acestei ecuatii este apoi furnizat ecuatiei din nou, acest feedback repetându-se de un numar dorit de pasi sau pâna când comportamentul valorilor de intrare este determinat. Criteriile de oprire a procesului sunt diferite în functie de tipul de  fractal. 

Exista mai multe tehnici de reprezentare (atractorii stranii, pentru sisteme haotice, metoda Newton-Raphson, care se bazeaza pe gasirea solutiei unei ecuatii polinomiale, agregarea limitata de difuzie, etc.), IFS, Sisteme-L.

4.1. Sistemul functiei iterative (IFS)

Codurile IFS (Iterated Function System) sunt utilizate pentru a descrie fractalii liniari (un nume mai corect ar fi fractali afini, datorita transformarilor afine pe care le folosesc). Un fractal liniar este o imagine care poate fi definita prin copii ale ei însesi create prin transformari afine. Exista si alte tipuri de fractali care contin forme auto-similare, cum ar fi binecunoscutul set Mandelbrot.

IFS înlocuieste un poligon cu alte poligoane, pe baza unui generator. La fiecare iteratie, fiecare poligon este înlocuit cu o versiune scalata, rotita si translatata a poligonului în generator. 

Matematica din spatele fractalilor liniari este surprinzator de simpla, necesitând doar cunostinte de transformari liniare. Un astfel de sistem de functie iterativa este compus dintr-un set de transformari, care pot fi orice transformare afina normala. Singura restrictie impusa este contractia transformarii, adica transformarea aduce doua puncte mai aproape unul de altul.

            Fiecare transformare are asociata o anumita probabilitate de alegere, p; suma acestora este 1. Modul de functionare a sistemului este urmatorul: se alege un punct initial, si la fiecare iteratie este aleasa o anumita transformare pe baza probabilitatilor asignate, iar punctele rezultate sunt desenate pe foaie/ecran. 

            Practic, pentru a crea un IFS pentru o imagine dorita, procedeul este simplu. Luam imaginea unei frunze, spre exemplu, o scalam, rotim si translatam pâna când aceasta versiune micsorata a imaginii initiale este cuprinsa în interiorul imaginii mari. Aceasta va fi prima transformare a setului de transformari, w1. În pasul urmator, se va lua din nou imaginea initiala, se va scala, roti, translata astfel încât sa ocupe un spatiu din forma initiala, neacoperit de transformarea precedenta. Suprapunerea este de preferat sa fie cât mai mica. Se repeta acest procedeu pâna când toata suprafata imaginii este acoperita de copii micsorate ale ei însesi. Setul de transformari utilizate devine setul de transformari IFS pentru reprezentarea fractala a imaginii dorite. 

4.1.1. Jocul pisicii

            Dick Oliver propune în cartea sa "Fractali"[8] un joc practic bazat pe primele cercetari asupra fractalilor pentru a întelege cum functioneaza calculatorul.

            Pentru aceasta este nevoie de câteva foi de hârtie, un creion, o rigla si o mâna sigura pentru a crea un fractal aspectuos. Pasii sunt urmatorii:

1. Desenati ceva, de exemplu, o pisica, în mijlocul unei foi de hârtie.

2. Desenati trei copii cu dimensiunile jumatate din cele ale primului desen.

3. Desenati trei copii în jurul acestora, în exact acelasi aranjament.

4. Continuati.

            Pe masura ce copiile devin tot mai mici, ele devin doar puncte. Daca desenul este precis, aceste puncte formeaza binecunoscutul fractal "Triunghiul lui Sierpinski".            Jocul pisicii gaseste fractalul desenând aproximatii din ce în ce mai apropiate de el. Destul de adecvat, aceasta tehnica este denumita aproximare succesiva.

Fig. 4.1. Jocul pisicii

          4.1.2. Jocul haosului

           

            Acest joc, uneori numit algoritmul iteratiei aleatoare, este unul dintre un set de algoritmi care pot fi folositi pentru a genera fractali liniari. A fost inventat de Michael Barnsley[9] la Georgia Tech. Este deseori referit ca un generator pentru Sita lui Sierpinski, dar jocul haosului poate genera orice fractal liniar.

            Etapele jocului haosului sunt:

  1. Încercuiti trei puncte oarecare de pe o foaie de hârtie si în mijloc desenati un punct.
  2. Alegeti la întâmplare unul din punctele încercuite si desenati un punct la jumatatea distantei dintre ultimul punct pe care l-ati desenat si acest punct.
  3. Repetati pasul doi pentru foarte mult timp. Daca masurati jumatatile distantelor cu o precizie considerabila s-ar putea ca în cele din urma sa vedeti din nou Triunghiul lui Sierpinski.

Jocul haosului gaseste fractalul sarind aleator printre partile lui, scotând la iveala fractalul punct cu punct, pe masura ce jocul avanseaza. Aceasta este denumita iteratia aleatoare. Ambele tehnici folosesc relatiile geometrice dintre parti pentru a defini un fractal.

Jocul haosului este un exemplu de proces aleator care duce la un rezultat predeterminat.

Astazi, întelesul jocul haosului a fost generalizat si se refera acum la un mod de a genera atractorul, sau punctul fix, al unui sistem de functie iterativa. Începând cu un punct X0, iteratii succesive sunt formate: Xk+1=fk(Xk), unde fk este o functie din setul IFS, selectata aleator pentru fiecare iteratie. Iteratiile converg catre punctul fix din IFS. Daca X0 apartine atractorului IFS, toate iteratiile ramân în interiorul atractorului si cu probabilitate 1, formeaza un set dens în acesta.

Fig. 4.2. Jocul haosului

4.2. Sisteme Lindenmayer (L-Systems)

4.2.1. Scurt istoric

În 1968, Aristid Lindenmayer[10], biolog la Universitatea din Utrecht, Olanda, a introdus o metoda noua de modelare a dezvoltarii plantelor. Acum numita L-Sistem, metoda lui Lindenmayer este un tip de sistem recursiv, un instrument general de construire a unor obiecte complexe pornind de la un obiect simplu si înlocuind parti din acesta conform instructiunilor furnizate de un set de reguli de rescriere.

Reprezentari grafice ale Sistemelor Lindenmayer au fost publicate prima oara în 1974 de Frijters si Lindenmayer, si de Hogeweg si Hosper. Potentialul Sistemelor-L de a crea imagini realiste ale plantelor a fost demonstrat în 1978 de Smith. În 1979, Szilard si Quinton au aratat ca Sistemele Lindenmayer  pot genera curbe fractale. În 1982, Dekking a gasit dimensiunea pentru câteva curbe generate de Sisteme-L. În 1986 Prusinkiewicz a creat mai mute exemple de fractali si plante generate astfel, obtinând versiuni tridimensionale de Sisteme-L.

          4.2.2. Descrierea procesului

            În versiunea cea mai simpla, un Sistem-L consta dintr-un alfabet, un set de simboluri, o axioma, un string (sir) de simboluri din alfabet si un set de reguli de productie, care atribuie fiecarei litere a din alfabet un string P(a) de litere din alfabet. Stringul P(a) este numit succesorul lui a.

            Vom descrie procesul folosind urmatorul set de figuri. Pornim cu o linie, pe care matematicienii o numesc axioma.

      În continuare, trebuie definita o transformare, numita regula de productie de catre matematicieni. Vom ridica pe centrul liniei un patrat, cu lungimea laturilor egala cu o treime din lungimea liniei noastre initiale.

            Repetam acest proces pentru fiecare dintre cele cinci linii si obtinem urmatoarea figura:

Privind la aceasta iteratie, poate fi greu de observat care este axioma si regula de productie, dar stim din Capitolul 1 ca aceasta este Curba lui Koch dreptunghiulara. Matematicienilor le place sa exprime aceste idei folosind simboluri, caractere normale cu întelesuri speciale. Acest lucru este folositor mai ales când se ajunge la implementarea acestora pe calculator. Lucrul util în cazul sistemelor-L este ca foloseste putine simboluri pentru a descrie si axioma si regulile de productie. Un exemplu de alfabet poate fi:

Simbol

Înteles

F

Deseneaza o linie

+

Spre dreapta cu un anumit unghi

-

Spre stânga cu un anumit unghi

f

Mergi mai departe fara a desena o linie

Fig. 4.3. - Alfabet L-Sistem

      Pentru a descrie Curba lui Koch printr-un L-Sistem trebuie sa stabilim conditiile initiale, axioma si regula de productie.

                                                     

Componenta

Descriere textuala

Descriere matematica

Conditii initiale

1) lungimea liniei 1 inch
2) unghiul de 90 de grade
3) directia initiala dreapta

1) L = 1
2) A = 90
o
3) AI = 0
o

Axioma

Deseneaza o linie.

F

Regula de productie

Înlocuieste fiecare linie cu o linie cu un patrat ridicat in centru, latura lui fiind de o treime din lungimea liniei.

New L = L/3
F -> F-F+F+F-F

Fig. 4.4. - L-Sistem pentru Curba lui Koch

Regula spune sa înlocuim fiecare linie (sau fiecare F) cu urmatoarea secventa de simboluri: F-F+F+F-F. Sa aratam matematic cum creste fractalul lui Koch:

Iteratie

Imaginea fractala

sirul descriptor

Axioma

F

Prima iteratie

F-F+F+F-F

A doua iteratie

F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F

A treia iteratie

F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F

A patra iteratie

F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F

Fig. 4.5.- Desfasurarea procesului L-Sistem pentru Curba lui Koch


Capitolul 5

Realizarea aplicatiei

"În plus fata de utilitatea ei în descrierea complexitatii lucrurilor naturale, geometria fractala ofera o binevenita ocazie pentru revitalizarea educatiei matematice. Conceptele geometriei fractale sunt vizuale si intuitive. Formele implicate au o atractivitate estetica mare si o mare diversitate a aplicatiilor. De aceea, geometria fractala ne poate ajuta sa ne opunem impresiei ca matematica este arida si inaccesibila si îi poate motiva pe studenti sa învete despre acest uimitor si captivant domeniu de studiu."

Hartmut Jurgens, H.O. Peitgen si Dietmar Saupe, "Limbajul Fractalilor", Scientific American, 1990

5.1 Scopul aplicatiei

Subiectul acestei lucrari îl reprezinta fractalii si aplicatiile lor curente si practice în domenii specifice ale stiintei, aspecte detaliate în capitolele precedente. Scopul aplicatiei curente este de a implementa si prezenta vizual unii dintre fractalii descrisi în partea de teorie, în limbajul de programare C#, Visual Studio .Net 2005.

            Unii dintre fractalii implementati sunt prezentati în Capitolul 1, în cadrul primilor fractali faimosi. Lor li se adauga tipuri de plante fractale, modelate prin IFS.

5.2. Descrierea interfetei

           

            Interfata cu utilizatorul are doua componente: panelul din stânga realizeaza dialogul cu acesta (variante de fractal, desenare, optiuni de desenare), iar panelul din dreapta reprezinta suprafata pe care va fi desenat fractalul. Alegerea acestuia se face din meniul Fractal. Meniul "About" furnizeaza informatii teoretice despre fractali, precum si instructiuni de utilizare a aplicatiei. La lansarea în executie, toate controalele panelului 1 sunt dezactivate pâna când este selectat un fractal din meniu; în acel moment, devin vizibile si active controalele necesare acelui fractal.

            Primul groupBox contine butoane radio prin care este aleasa varianta dorita a fractalului, al doilea contine butoanele comanda pentru desenarea pas cu pas sau automata a fractalului (Start, Înainte, Înapoi, Auto), iar al treilea contine optiuni de colorare (doua colorDialog prin care se poate selecta culoarea creionului si a fundalului, si optiune de colorare interior, acolo unde este cazul).

            Panelul 2 este spatiul de desenare. Toate punctele si segmentele fractalilor sunt considerate în functie de conturul panelului 2. Odata generat desenul, acesta poate fi printat apelând din meniul Printare: "Printare imagine". Tot aici, utilizatorul poate face setarile dorite pentru pagina si imprimanta.   

Formularul principal contine o variabila întreaga, tip, care, în functie de meniul si varianta de fractal selectata, capata o anumita valoare întreaga, cod. La apasarea butoanelor de comanda (Start, Înainte, Înapoi, Auto), programul va verifica mai întâi valoarea variabilei tip, si în functie de aceasta, va executa codul aferent si tot în functie de acest cod, panelul se va redesena prin apelarea functiei Invalidate(). Desenarea automata se face pe baza unui timer, care are asociat evenimentului de click un handler OnTick().

Fig. 5.1. Interfata aplicatiei

            5.3. Structura aplicatiei

Aplicatia se prezinta sub forma unui proiect Visual Studio .Net 2005, constituit din doua proiecte: un proiect de tip Class Library, numit Fractal, în care sunt stocate clasele ce implementeaza fractalii, si un proiect de tip Windows Application, numit Aplicatie Licenta, în care se afla fereastra/forma principala (mainform) care apeleaza obiecte de tipul claselor din Fractal. Asadar, proiectul Class Library fractal trebuie inclus ca referinta în proiectul Windows.

Deoarece aplicatia în sine are scopul de a genera si desena fractali, ambele proiecte au nevoie de componenta Drawing a sistemului, si de Collections.Generic, care stocheaza liniile sau poligoanele care formeaza fractalul de desenat. Directivele utilizate de proiectul Fractal sunt: System, System.Collections.Generic, System.ComponentModel, System.Data, System.Drawing, System.Text, acestora adaugându-se în cazul proiectului Windows Application: System.Windows.Forms si Fractal.

5.3.1. Clasa Fractal

Fiecare clasa ce implemeanteza un fractal este derivata din clasa publica, abstracta, Fractal, care contine doua atribute (suprafata de tip Rectangle pe care va fi desenat fractalul si un obiect de tip Pen, cu care va fi desenat acesta) si trei metode abstracte (Start(), Înainte() si Înapoi()).

Clasele derivate din aceasta initializeaza prin constructorii lor atributele comune contur si segPen cu datele primite ca parametri, precum si cele proprii, si implementeaza metodele abstracte ale clase parinte Fractal. Fiecare clasa are o colectie proprie, publica, de segmente sau figuri geometrice care formeaza fractalul. Structura generala a fiecarei clase este urmatoarea:

Public class unfractal : Fractal

public override void Start()

public override void Inainte()

public override Inapoi()

}

            Generarea fractalului se face prin instantierea unui obiect de tip clasei respective, apelarea metodei Start() si apeluri repetate ale metodei Înainte(). Procesul trebuie însa oprit la un moment dat,  în functie de capacitatile procesorului, deoarece dupa un numar de pasi generarea va consuma toate memoria calculatorului.

           

            5.3.2. Curba dragonului

            Deoarece fractalii Koch, Sierpinski, Cantor au fost prezentati în capitolul 1, în continuare vor fi explicate tehnicile folosite pe alti doi fractali: curba dragonului si copacul fractal.

            Aceasta curba faimoasa (cunoscuta si sub numele de dragonul Harter-Heighway sau Jurassic Park) a fost investiga prima oara de fizicienii de la NASA, John Heighway, Bruce Banks si William Harter. A fost descrisa de Martin Gardner în coloana lui din Scientific American: "Jocuri matematice" în 1967. Multe din proprietatile aceste curbe au fost prima oara publicate de Chandler Davis si Donald Knuth. A aparut pe sectiunea paginilor de titlu ale romanului "Jurassic Park", al lui Michael Crichton.

            Într-o reprezentare L-Sistem, curba dragonului ar putea fi realizata astfel:

variabile : X Y F

constante : + −

start  : FX

reguli  : (X → X+YF+),(Y → -FX-Y)

unghi  : 90°,

unde F înseamna "deseneaza", "-" întoarce spre stânga cu 90 de grade, "+"întoarce spre dreapta cu 90 de grade. X si Y nu corespund unei instructiuni de desenare, au doar rolul de a controla evolutia curbei.

Acest lucru poate fi descris astfel: pornind de la un segment de baza, înlocuim fiecare segment cu doua segmente care formeaza un unghi drept între ele si cu o rotatie de 45 de grade alternativ spre stânga si spre dreapta. Altfel spus, la fiecare pas/iteratie, înlocuim fiecare segment cu catetele cu care el ar forma un triunghi dreptunghic isoscel, orientate alternativ.

Fig. 5.2. - Curba dragonului pas cu pas

            În aplicatia de fata, acest lucru a fost realizat astfel: pentru fiecare segment din colectia de segmente a clasei Dragon, se calculeaza panta=a; calculam coordonatele vârfului triunghiului dreptunghic isoscel, folosind functii trigonometrice si unghiul (a+rangle), daca indicele segmentului în colectie este par, sau (a-rangle), daca indicele segmentului în colectie este impar. Colectia devine multimea acestor catete noi.

Functia înainteaza pâna la pasul 14, când colectie contine 15625 de segmente. Desi în teorie nu exista limite ale calculatorului, limita devine memoria disponibila si procesorul. Chiar daca acesta este unul dintre  fractalii care se genereaza cel mai lent, cel mai probabil nu putem depasi iteratia 15. Codul pentru aceasta clasa este inclus în Anexa 2.

Fig. 5.3. - Curba Dragonului

            5.3.3. Copac fractal

            Acest fractal foloseste clasa Samânta, gestionând o colectie de astfel de obiecte. Colectia este initializata cu un element, si la fiecare pas, pentru fiecare obiect samânta din colectie se aplica un set de transformari. Fiecare samânta are 9 puncte si 8 segmente. Transformarea consta în înlocuirea fiecarui segment al semintei cu o alta samânta, scala fiind de ˝ din dimensiunea segmentului initial, pastrând unghiurile tipice semintei si panta  segmentului. Codul pentru aceasta clasa este inclus în Anexele 3 si 4. Dupa patru pasi, vom obtine:

Fig. 5.4. - Copac fractal

            5.3.4. Setul Mandelbrot

 "cel mai complicat obiect din matematica..."  (John Hubbard, 1985)

Cel mai faimos fractal apartine celui care a fundamentat geometria fractala, Benoit Mandelbrot, desi el a mai fost observat cu multi ani înainte de alti doi matematicieni.

Acest set este creat pe planul complex, fiecare punct din plan fiind inclus sau nu în set. În ciuda complexitatii vizuale, setul este determinat de o formula recursiva simpla: Z2 + C. (Z si C sunt ambele numere complexe).

Fiecare punct din planul complex, este luat si introdus în formula: Z1 = Z02 +Z0. Apoi repetam procedeul, folosind Z1 în formula: Z2 = Z12 +Z0. Prima parte a formulei este mereu rezultatul anterior, iar a doua parte este acelasi numar complex initial Z0.  General, putem exprima acest lucru prin formula recursiva: Zn+1 = Zn2 +Z0.

Iterând acest proces, rezultatele obtinute fie vor tinde catre infinit, fie vor ramâne finite. Daca rezultatul ramâne finit, punctul original apartine setului Mandelbrot. Daca rezultatul tinde spre infinit, atunci puntul nu apartine setului.  Efectuând aceasta iteratie pentru fiecare punct din planul complex, colorând punctele din set cu negru si cele din afara setului cu alte culori (pe baza numarului de iteratii efectuate pâna la stabilirea daca punctul apartine sau nu setului), vom obtine o figura impresionanta, numita Fractalul Mandelbrot.

Înainte de prezentarea algoritmului, este necesar a lamuri câteva aspecte: pe ce baza spunem ca un punct apartine sau nu setului, care parte din planul complex este vizata si care este numarul de iteratii necesar.

Pentru a stabili daca un punct tinde la infinit sau nu, s-a dovedit ca daca modulul rezultatului este mai mare ca 2, atunci punctul iese din set; daca modulul este mai mic ca 2, punctul apartine setului. Asadar, aplicatia verifica acest lucru, facând însa un artificiu pentru a usura calculul: verifica daca patratul modulului este mai mare decât 4 sau nu, stabilind astfel apartenenta la set.

Nu putem genera setul pentru tot planul complex. Se cunoaste faptul ca setul Mandelbrot se afla cuprins între valorile reale -2.1 si 1, si între valorile imaginare -1.2 si 1.2, deci acestia sunt parametrii cu care putem începe generarea întregului set. Micsorând aceste intervale, obtinem regiuni detaliate ale setului.

Un numar de iteratii foarte mare va încetini evident programul la rulare, dar 50-100 de iteratii vor da o acuratete decenta a imaginii.

Partea stânga a ferestrei solicita utilizatorului coordonatele celor 2 puncte care determina planul complex folosit (denumite în codul programului TopLeft si BottomRight. Fiind numere complexe, ele vor avea o parte reala si una imaginara). De asemenea, utilizatorul trebuie sa furnizeze numarul de iteratii si daca doreste sau nu sa îsi coloreze fractalul. Acesta va fi desenat în partea dreapta a ferestrei, într-un control PictureBox. PictureBox-ul are asociate 2 imagini: pictureBox1.BackgroundImage, pe care este generat fractalul, si pictureBox1.Image, pe care vor fi desenate dreptunghiurile selectate cu mouse-ul.

Programul functioneaza pe fire de executie. Pentru a porni desenarea fractalului, trebuie selectat din meniul Fractal submeniul "Start". Tot aici desenarea poate fi oprita prin "Stop", suspendata temporar prin "Pause" si reluata iar prin "Reluare". Generarea completa a setului va dura câteva secunde, în functie mai ales de viteza procesorului, de numarul de iteratii, de modul de generare a imaginii. În proiectul de fata, imaginea este desenata pixel cu pixel, ceea ce ofera feed-back constant utilizatorului, desi nu este cea mai rapida. Setul ar putea fi generat si pe coloane de pixeli, actualizând imaginea pe masura ce noi coloane sunt generate. Generarea pe un grafic bitmap în spate si afisarea direct a imaginii complete ar lasa impresia de program suspendat, si nu i-ar oferi utilizatorului acest feed-back.

Odata generat fractalul, programul ofera posibilitatea celui ce îl foloseste de a "se juca" cu imaginea rezultata. Detaliind figura, vom obtine forme din ce în ce mai spectaculoase, si vom observa ca partea reprezinta o copie a întregului, dovedind proprietatea de auto-similaritate a fractalilor. Putem mari imaginea prin butonul ZoomIn, si reveni la dimensiunile initiale prin butonul ZoomOut. ZoomIn, facând o marire centrata, nu poate fi folosit decât o data (Zoom 2x), pentru observarea unei anumite regiuni putând selecta cu mouse-ul un dreptunghi care va reprezentat pe tot controlul Picturebox.

Fig. 5.5. Setul Mandelbrot

Fig. 5.6. Setul Mandelbrot colorat

Meniul Fisier ofera posibilitatea de salvare a imaginii, a parametrilor care au generat-o, precum si încarcarea din fisier a unor parametri  doriti de utilizator, salvati eventual anterior.

Submeniul Start apeleaza functia Initializare(), în care se preiau datele din textbox-uri, apoi porneste firul de executie fir = new Thread(new ThreadStart(Deseneaza)). Functia Deseneaza() este cea care genereaza fractalul.

Conform explicatiilor date mai sus, algoritmul de generare a acestui fractal este urmatorul:

1.      citeste numarul de iteratii, x0,y0,x1,y1

2.      calculeaza schimbarea in x si y a pixelilor de pe ecran: dx=(x1-x0)/xpixeli si dy=(y1-y0)/ypixeli, unde xpixeli=pictureBox1.width si ypixeli=pictureBox1.Height

3.      c0=TopLeft (punctul initial)

4.      de la 0 la xpixeli-1

5.      de la 0 la ypixeli-1

6.            inset = adevarat

7.            c=c0

8.            de la 1 la nr. iteratii

9.                  c1=c*c

10.              c2=c1+c;

11.              daca |c2|*|c2|>4

a.                   inset=fals;

b.                  stabileste culoarea pe baza iteratiei

c.                   break for

12.  c=c2;

13.  daca apartine setului, coloreaza negru

14.  daca nu apartine setului, coloreaza altfel

15.  c0.imaginar-=dy;

16.  c0.imaginar=TopLeft.imaginar

17.                        c0.real+=dx;

Fig. 5.7 - Parte marita a setului


Concluzii

"Geometria fractala va va face sa vedeti totul diferit. Riscati sa pierdeti imaginea din copilarie a norilor, padurilor, galaxiilor, frunzelor, pietrelor, torentelor, covoarelor, caramizilor si a multor alte lucruri."

Michael Barnsley, "Fractali pretutindeni", 1988

Geometria fractala este fara îndoiala "una dintre marile evolutii a matematicii secolului al 20-lea."[11] Ea ofera oamenilor de stiinta un model matematic care îmbratiseaza neregularitatile din natura. Numarul mare al fractalilor din natura este suficient pentru a justifica studiul fractalilor. Recunoasterea unui obiect ca fractal poate ajuta întelegerii comportamentului sau.[12] Multe fenomene naturale pot fi descrise prin conceptele geometriei fractale. Prin urmare, fractalii au devenit din ce în ce mai importanti. Ceea ce a început ca un pur concept matematic are acum numeroase aplicatii în stiinta.

Fractalii au o larga plaja de modele vizuale fascinante, dintre care multe au aplicatii stiintifice practice.[13] Unele sunt referite drept "curbe ale dragonului", în timp ce altele imita exact lanturi de munti. Fractalii pot imita suisurile si coborâsurile pietei bunurilor si serviciilor si bursei de valori, miscarile neregulate ale particulelor moleculare, activitatile seismice, traiectoriile corpilor ceresti, temperaturile pe o perioada îndelungata de timp, sau cresterea plantelor. si-au gasit aplicabilitatea în domenii diverse, precum fizica, biologie, sociologie, meteorologie, astronomie, teoria haosului si mai ales, economie. Mandelbrot a folosit geometria fractala chiar în studiul transmisiei acustice a zgomotelor si a grupurilor galactice.

Multe dintre tehnicile matematice au gasit un teren solid în industria graficii computerizate pentru crearea unor imagini uimitoare, precum si a unor structuri care imita fidel realitatea. Din anii 1990 fractalii sunt larg folositi, si cel mai mult în stiinta informaticii. Productii cinematografice importante îi folosesc pentru efecte speciale, sistemele de redare grafica pe calculator îi folosesc pentru a crea structuri naturale, oamenilor de stiinta si matematicienilor le sunt indispensabili.

Interesul crescând în grafica fractala a fost de asemenea influentat de proliferarea microcalculatoarelor puternice. Numeroase articole despre fractali au aparut în publicatii tehnologice. Parte din acest interes porneste din natura imprevizibila a anumitor fractali; un pasionat poate petrece ore în sir explorând varietatea formelor pe care le poate crea un singur program.[14]

stiinta, matematica si tehnologia nu mai sunt domeniile plictisitoare, inestetice si rigide, ci capata o frumusete care face competitie artei.


Anexe

Anexa 1. Lista figurilor

            Capitolul 1

Figura 1.1.

Aproximarea curbelor cu linii tangente

Figura 1.2.

Triunghiul lui Sierpinski

Figura 1.3.

Sita lui Sierpinski

Figura 1.4.

Covorul lui Sierpinski 1

Figura 1.5.

Covorul lui Sierpinski 2

Figura 1.6.

Praful lui Cantor

Figura 1.7.

Curba lui Koch

Figura 1.8.

Fulgul de zapada Koch

            Capitolul 2

Figura 2.1.

Probabilitatea schimbarilor de pe piata

Figura 2.2.

Grafic fractal de modelare a pietei

Figura 2.3.

Grafic de modelare a pietei (Teoria de Portofoliu)

Figura 2.4.

Înregistrarile pe o perioada de 600 de zile ale temperaturilor din Middlesex, statul Vermont

Figura 2.5.

Aproximare fractala a figurii 2.4.

Figura 2.6.

Dendrite fractale formate prin agregarea limitata de difuzie

Figura 2.7.

Peisaj fractal

            Capitolul 3

Figura 3.1.

Graficul obtinut de Lorentz în simularea vremii

Figura 3.2.

Atractorul Lorentz

Figura 3.3.

Diagrama bifurcatiei pentru ecuatia populatiei

Capitolul 4

Figura 4.1.

Jocul pisicii

Figura 4.2.

Jocul haosului

Figura 4.3.

Alfabet L-Sistem

Figura 4.4.

L-Sistem pentru curba Koch

Figura 4.5.

Desfasurarea procesului L-Sistem pentru Curba lui Koch

Capitolul 5

Figura 5.1.

Interfata aplicatiei

Figura 5.2.

Curba Dragonului pas cu pas

Figura 5.3.

Curba Dragonului

Figura 5.4.

Copac fractal

Figura 5.5.

Setul Mandelbrot

Figura 5.6.

Setul Mandelbrot colorat

Figura 5.7.

Parte marita a setului

Anexa 2. Listare de cod sursa

            În paginile care urmeaza sunt prezentate câteva dintre secventele de cod utilizate în aplicatie:

# -1-

# Clasa Segment

public class Segment

   

            set

        }

        public Point P2

       

            set

        }

        public int Height

       

        }

        public int Width

       

        }

        public double Length

       

        }

        public Segment(int x1, int y1, int x2, int y2)

       

        public void Desenare(Graphics gr, Pen pen)

       

    }

# -2-

# Clasa Dragon

public class Dragon : Fractal

   

        public override void Start()

       

        public override void Inainte()

       

                    else

                   

                }

                segmente = noi;

            }

        }

        public override void Inapoi()

       

    }

# -3-

# Clasa Samânta

public class Samanta

       

            public Samanta(List<Segment> s)

           

            public void Desenare(Graphics g, Pen pen)

           

        }

# -4-

# Start(), Înainte(), Înapoi() pentru copac

  public override void Start()

       

        }

public override void Inainte()

       

                    }

                    foreach (Samanta sem in noi)

                        seminte.Add(sem);

                    k++;

                }

            }

        }

public override void Inapoi()

       

                 

            }

        }

# -5-

# Mandelbrot

private void Deseneaza()

        

                        c = c2;

                    }

                    if (InSet)

                   

                    else

                        if (useColor)

                        

                    currentPoint.b -= yDelta;

                }

                currentPoint.b = TopLeft.b;

                currentPoint.a += xDelta;

            }

            this.FormBorderStyle = FormBorderStyle.Sizable;

            running = false;

            this.Text = "Mandelbrot";

            buttonZoomIn.Enabled = true;

            buttonZoomOut.Enabled = true;

        }


Bibliografie

Carti/Manuale

Dick Oliver - "Fractali", editura Teora, 1996

Benoit Mandelbrot - "Frumusetea fractalilor", 1986

Niculae Visinoiu - "Statistica formelor economice. Teoria catastrofelor, fractalilor si haosului", editura Lumina Lex, 2001  

James Gleick - "Chaos: Making A New Science", 1987

Articole

Dave Snyder - "Benoit Mandelbrot, Fractals and Astronomy ", publicat  în "Reflections",  noiembrie, 1998. (http://www.umich.edu/~lowbrows/reflections/1998/dsnyder.3.html)

Murray N. Rothbard  - "Chaos Theory -  Destroying Mathematical Economics from Within?", publicat în "The Free Market", Volumul VI, Numarul 3, Martie 1988.

(http://mises.org/freemarket_detail.aspx?control=296)

Paul Bourke - "Fractals and Computer Graphics", publicat în Interface Magazine, Decembrie 1990

(http://ozviz.wasp.uwa.edu.au/~pbourke/fractals/interface/)

Adrese Internet

"Introduction to Fractal Theory"

 http://pages.cs.wisc.edu/~ergreen/honors_thesis/fractal.html

"Dimensiunea fractala"

http://www.math.sunysb.edu/~scott/Book331/Fractal_Dimension.html

Peter Alan - "The Mandelbrot Set"

http://www.informit.com/articles/article.aspx?p=598986&seqNum=2

"Fractali în C#"

http://www.componentsnotebook.com/notebooks/csharp/fractals.aspx

"Introducere în Geometria Fractala",  Florin Munteanu

http://www.csc.matco.ro/1fract.html               

"Aplicatii ale fractalilor. Economie"

http://library.thinkquest.org/26242/full/ap/ap7.html

 

"Teoria haosului si fractalii", Jonathan Mendelson, Elana Blumenthal

http://www.tnellen.com/alt/chaos.html

 

"Teoria Haosului: O scurta introducere"

http://imho.com/grae/chaos/chaos.html

 

"Ce este teoria haosului?"

http://iit.ches.ua.edu/systems/chaos.html

Jocul haosului

http://en.wikipedia.org/wiki/Chaos_game

 

Sisteme Lindenmayer

http://classes.yale.edu/fractals/IntroToFrac/InitGen/LSystems/LSystems.html

 

"Fractali bazati pe Sisteme-L"

http://ejad.best.vwh.net/java/fractals/lsystems.shtml

 

Imaginile cu fractali folosite:

http://local.wasp.uwa.edu.au/~pbourke/fractals/gasket/

http://www.fractal.org/Bewustzijns-Besturings-Model/Fractals-Useful-Beauty.htm

 

 



[1] 1845-1918

[2] 1870-1924

[3] Dick Oliver, "Fractali"

[4] Imagine preluate din cartea "Fractali", Dick Oliver

[5] James Gleick, Chaos - Making a New Science, pg. 71

[6] Overman, 1996;  Evans, 1996; Morcol, 1996

[7] Stacey, 1996

[8] "Fractali", Dick Oliver, Editura Teora, 1996)

[9] Barnsley, M., Fractals Everywhere, Academic Press Inc., ISBN 0-12-079062-9, 1988

[10] Aristid Lindenmayer, botanist and biolog de nationalitate maghiara, 1925-1989

[11] Donald J. Albers and G. L. Alexanderson, eds., Mathematical People: Profiles and Interviews (Boston: Birkhauser, 1985), 207.

[12] H. Eugene Stanley and Nicole Ostrowsky, eds., On Growth and Form: Fractal and Non-Fractal Patterns in Physics, Nato Advanced Science Institute Series E: Applied Sciences, no. 100 (Dordrecht: Martinus Nijhoff, 1986), 25.

[13] Nicholas J. Rose, ed., 1987 Mathematical Sciences Calendar (Raleigh: Rome Press, 1986), 24.

[14] Steve Estvanik: "From Fractals to Graftals," Computer Language, Mar. 1985: 45.


Document Info


Accesari: 22424
Apreciat:

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site

Copiaza codul
in pagina web a site-ului tau.

 


Copyright © Contact (SCRIGROUP Int. 2014 )