33
faculteit wetenschappen en bio-ingenieurswetenschappen Vakgroep Wiskunde Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof. Eva Colebunders Dank aan dr. Didier Deses voor de hints inzake gebruik van Matlab. academiejaar 2014-2015

Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

faculteit wetenschappen

en bio-ingenieurswetenschappen

Vakgroep Wiskunde

Bachelorproef I

Inleiding tot fractalen

Jeroen Ooge

3de Bachelor wiskunde

Promotor: prof. Eva Colebunders

Dank aan dr. Didier Deses voor

de hints inzake gebruik van Matlab.

academiejaar 2014-2015

Page 2: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Inhoudsopgave

Inleiding 1

1 Constructie van de metrische ruimte der fractalen 2

2 Volledigheid van de ruimte der fractalen 5

3 Contracties op de ruimte der fractalen 10

4 Continue afhankelijkheid van parameters 15

5 Het inverse probleem 18

6 Fractale dimensie 20

Conclusie 25

Referenties

Appendix

Page 3: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Inleiding

De wereld rondom ons bevat een ongelooflijke rijkdom aan interessante patronen: veren,

wolken, bergen, varenbladen, bladnerven, kustlijnen, bliksemschichten, groenten zoals

bloemkool en broccoli romanesco... Hun grillige vormen lijken het resultaat van een

willekeurig procede, maar bij nauwkeuriger onderzoek blijkt dat ze op iedere schaal hun

algemene ‘structuur’ behouden.

De wiskundige analoga van deze natuurlijke figuren passen niet in de klassieke Euclidische

meetkunde. De Poolse wiskundige Benoıt Mandelbrot (1924-2010) doopte ze daarom in

1975 fractalen, naar het Latijnse ‘fractus’, wat ‘gebroken’ en ‘onregelmatig’ betekent. Zo

ontstond al snel een geheel nieuwe, boeiende tak van wiskunde: fractale meetkunde.

Met dit instrument kunnen we schijnbare onregelmatigheden in de

natuur verklaren en wiskundig modelleren. Het onderwerp is bij

het ruime publiek gekend door prachtige, computergegenereerde

afbeeldingen, zoals de klassieke varen hiernaast, maar achter deze

illustraties gaat een uitgebreide wiskundige theorie schuil. Om

fractaal-zijn uberhaupt formeel te kunnen definieren, hebben we

een heleboel voorbereidend werk nodig. In deze paper wordt de

fractale geometrie stapsgewijs opgebouwd in een metrisch kader.

In hoofdstuk 1 construeren we de metrische ruimte waarin fractalen

leven, gebruik makend van het werk van de Duitser Felix Hausdorff

(1868-1942) uit 1915. In het volgende gedeelte tonen we aan dat

de ruimte der fractalen volledig is. Dit laat ons toe in hoofdstuk 3

een fundamenteel resultaat van de Pool Stefan Banach (1892-1945) uit 1920 toe te passen.

We voeren daar ook het ietwat modernere concept ‘IFS’ in en illustreren hoe de elegante

theorie daarrond ons toelaat attractoren te tekenen. Het subtiele verschil tussen fractalen

en attractoren kan pas in het laatste hoofdstuk verduidelijkt worden. In de laatste secties

belichten we ten slotte continue afhankelijkheid van parameters en fractale dimensie.

1

Page 4: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

1. Constructie van de metrische ruimte der fractalen

In dit hoofdstuk construeren we de metrische ruimte waarin we in deze paper zullen werken:

de ruimte der fractalen. We maken gebruik van de voorkennis over metrische ruimten die

vergaard werd in [5] en [6] en volgen de algemene opbouw van [2] (p. 6-35) en [8] (p. 65-68).

In de hele paper werken we in een volledige metrische ruimte (X, d). Dat wil zeggen dat de

afbeelding d : X ×X → R+ voldoet aan de onderstaande drie voorwaarden en dat iedere

Cauchyrij in X convergent is.

∀x ∈ X : d(x, x) = 0 (reflexiviteit)

∀x, y ∈ X : d(x, y) = d(y, x) (symmetrie)

∀x, y, z ∈ X : d(x, y) ≤ d(x, z) + d(z, y) (driehoeksongelijkheid)

We willen over X een nieuwe metrische ruimte construeren.

Definitie 1.1. H(X) is de ruimte bestaande uit alle niet-lege, compacte delen van X.

We zoeken nu een metriek h op H(X). Daarvoor hebben we eerst twee definities nodig.

Definitie 1.2. We definieren de afstand tussen elke x ∈ X en A ∈ H(X) als volgt:

d(x,A) = min{ d(x, a) | a ∈ A }.

Is deze definitie zinvol? Bestaat er altijd een dergelijk minimum? Aangezien d continu is,

weten we dat ook de afbeelding

d(x, ·) : A→ R : a 7→ d(x, a)

continu is. Omdat A compact is, kunnen we door de stelling van Weierstrass (eigen-

schap 1.4.24 in [6]) besluiten dat d(x, ·) een minimum heeft.

Definitie 1.3. We definieren de afstand tussen elke A en B in H(X) als volgt:

d(A,B) = max{ d(a,B) | a ∈ A }.

Indien de afbeelding

d(·, B) : A→ R : a 7→ d(a,B)

continu is, kunnen we, opnieuw door toepassing van de stelling van Weierstrass op de

compacte verzameling A, besluiten dat het maximum goed gedefinieerd is. Aangezien

2

Page 5: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Lipschitz-zijn (de betekenis van dit concept wordt later in definitie 3.1 herhaald) continuıteit

impliceert, is het voldoende aan te tonen dat

∀ a1, a2 ∈ A : |d(a1, B)− d(a2, B)| ≤ d(a1, a2).

Kies hiertoe een willekeurige b ∈ B. Dan geldt er voor alle a1, a2 ∈ A zeker:

d(a1, B) ≤ d(a1, b) ≤ d(a1, a2) + d(a2, b).

In het bijzonder verkrijgen we dat d(a1, B)− d(a2, B) ≤ d(a1, a2). Door omkering van de

rollen van a1 en a2, volgt ook dat d(a2, B) − d(a1, B) ≤ d(a1, a2), wat het te verkrijgen

resultaat impliceert.

Is de afbeelding d uit definitie 1.3 de metriek h op H(X) die we zoeken? Het is duidelijk

dat voor iedere A ∈ H(X) geldt dat d(A,A) = 0, want door de reflexiviteit van d is

min{ d(a, b) | a, b ∈ A } = 0.

Hoe zit het met de symmetrie van d in H(X)? Beschouw de onderstaande opstelling in het

reele vlak, uitgerust met de Euclidische metriek, waarbij A en B gesloten vierkanten zijn.

A

a1

a2

B

b1

b2

De figuur illustreert duidelijk dat d(a1, b1) = d(A,B) 6= d(B,A) = d(a2, b2). Bijgevolg is

dit een tegenvoorbeeld voor de symmetrie en dus ook van het metriek-zijn van d in H(X).

Voordat we verder gaan, bewijzen we dat ook de driehoeksongelijkheid geldt voor d inH(X).

Eigenschap 1.4. ∀A,B,C ∈ H(X) : d(A,B) ≤ d(A,C) + d(C,B).

Bewijs. We merken op dat voor iedere a ∈ A geldt:

d(a,B) = min{ d(a, b) | b ∈ B }≤ min{ d(a, c) + d(c, b) | b ∈ B }, ∀ c ∈ C= d(a, c) + min{ d(c, b) | b ∈ B }, ∀ c ∈ C= d(a, c) + d(c, B), ∀ c ∈ C.

Specifiek hebben we dus ook:

d(a,B) ≤ min{ d(a, c) | c ∈ C }+ min{ d(c, B) | c ∈ C }≤ d(a, C) + max{ d(c, B) | c ∈ C }= d(a, C) + d(C,B).

3

Page 6: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Hieruit volgt ten slotte dat

d(A,B) = max{ d(a,B) | a ∈ A }≤ max{ d(a, C) | a ∈ A }+ d(C,B)

= d(A,C) + d(C,B).

Aangezien de afbeelding d alleen symmetrie mist om een metriek te zijn (we spreken dan

over een quasimetriek), kon Hausdorff de gezochte metriek h construeren als volgt:

Definitie 1.5. De Hausdorff-afstand h tussen A,B ∈ H(X) is gedefinieerd als volgt:

h(A,B) = d(A,B) ∨ d(B,A).

Deze aanpak werkt in het algemeen, maar we gaan hier toch na dat h voldoet aan alle

voorwaarden. De afbeelding h is per definitie symmetrisch en voldoet aan reflexiviteit,

omdat d reflexief is. We moeten dus alleen controleren of de driehoeksongelijkheid nog

steeds van toepassing is voor alle A,B,C ∈ H(X). Dat is inderdaad zo:

h(A,B) = d(A,B) ∨ d(B,A)

≤(d(A,C) + d(C,B)

)∨(d(B,C) + d(C,A)

)(eigenschap 1.4)

≤(d(A,C) ∨ d(C,A)

)+(d(B,C) ∨ d(C,B)

)= h(A,C) + h(C,B).

Dit toont aan dat(H(X), h

)een metrische ruimte is.

4

Page 7: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

2. Volledigheid van de ruimte der fractalen

In dit deel bewijzen we dat(H(X), h

)een volledige ruimte is op basis van [2] (p. 35-41).

We tonen eerst een handige stelling aan, die ons in staat stelt gemakkelijker met de

Hausdorff-metriek te werken.

Afspraak. We noteren voor iedere A ∈ H(X) en elk willekeurig positief reeel getal ε:

A+ ε := {x ∈ X | ∃ a ∈ A : d(a, x) ≤ ε }.

Stelling 2.1. ∀A,B ∈ H(X), ∀ ε ≥ 0: h(A,B) ≤ ε⇔ A ⊆ B + ε en B ⊆ A+ ε.

Bewijs. Het gevraagde volgt meteen uit de definities:

d(A,B) ≤ ε⇔ max{ d(a,B) | a ∈ A } ≤ ε

⇔ ∀ a ∈ A : d(a,B) = min{ d(a, b) | b ∈ B } ≤ ε

⇔ ∀ a ∈ A, ∃ b ∈ B : d(a, b) ≤ ε

⇔ A ⊆ B + ε.

Door het verwisselen van A en B, verkrijgen we tevens dat

d(B,A) ≤ ε⇔ B ⊆ A+ ε.

We besluiten dat

h(A,B) = d(A,B) ∨ d(B,A) ≤ ε⇔ d(A,B) ≤ ε en d(B,A) ≤ ε

⇔ A ⊆ B + ε en B ⊆ A+ ε.

Voordat we de volledigheid van(H(X), h

)kunnen aantonen, hebben we een belangrijk

lemma nodig.

Lemma 2.2 (Uitbreidingslemma). Zij (An)n een Cauchyrij in H(X) en (nk)k een

strikt stijgende rij natuurlijke getallen. Stel dat (ank)k, met ank ∈ Ank voor elke k, een

Cauchyrij is in (X, d). Dan bestaat er een Cauchyrij (an)n waarbij

(1) an ∈ An voor elke n;

(2) ank = ank voor elke k.

5

Page 8: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Bewijs. We contrueren de rij (an)n volgens het onderstaande procede (k ≥ 2).

1 ≤ n ≤ n1.

Kies an willekeurig uit de verzameling { a ∈ An | d(a, an1) = d(an1 , An) }. Dat wil zeggen

dat an een van de punten is die het dichtst bij An liggen. Merk op dat een dergelijk punt

bestaat door de welgedefinieerdheid van d(·, An).

nk + 1 ≤ n ≤ nk+1.

an is een punt uit de verzameling { a ∈ An | d(a, ank) = d(ank , An) }.

We tonen nu aan dat de aldus gedefinieerde rij (an)n voldoet aan de gestelde voorwaarden.

(1) Per definitie is an ∈ An voor elke n.

(2) Kies een willekeurige k. Er geldt:

d(ank , ank) = d(ank , Ank) = 0,

waarbij de laatste gelijkheid van kracht is, omdat ank ∈ Ank . Door de reflexiviteit

van d is dan ank = ank .

We moeten nu alleen nog nagaan dat (an)n een Cauchyrij is. Kies daartoe een willekeurige

ε > 0. Bestaat er een rangnummer N > 0, zodat

∀ p, q ≥ N : d(ap, aq) ≤ ε?

Om deze afschatting maken, beschikken we over de volgende informatie:

� (An)n is Cauchy in(H(X), h

)⇔ ∀ ε > 0, ∃N1 > 0, ∀ p1, q1 ≥ N1 : h(Ap1 , Aq1) ≤ ε

3;

� (ank)k is Cauchy in (X, d)⇔ ∀ ε > 0, ∃N2 > 0, ∀ p2, q2 ≥ N2 : d(anp2 , anq2 ) ≤ ε3.

Stel N = max{N1, N2}. Voor elke p, q ≥ N volgt er dan:

d(ap, aq) ≤ d(ap, anp) + d(anp , anq) + d(anq , aq)

≤ d(ap, anp) +ε

3+ d(anq , aq),

waarbij p ∈ {np−1 + 1, . . . , np} en q ∈ {nq−1 + 1, . . . , nq}. Aangezien h(Ap, Anp) ≤ ε3,

volgt uit stelling 2.1 dat Ap ⊆ Anp + ε3

en dus is d(ap, anp) ≤ ε3

op voorwaarde dat we anpgoed kozen. Volgens dezelfde redenering volgt dat d(anq , aq) ≤ ε

3. We concluderen zoals

gewenst dat d(ap, aq) ≤ ε.

Stelling 2.3 (Volledigheidsstelling). De ruimte(H(X), h

)is volledig en voor elke

Cauchyrij (An)n wordt de limiet A gekarakteriseerd door

A = {x ∈ X | ∀n, ∃Cauchyrij (an)n → x met an ∈ An }.

6

Page 9: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Bewijs. We breken het bewijs voor de duidelijkheid op in vijf delen.

Deel 1. A 6= ∅.

Het is voldoende aan te tonen dat er een Cauchyrij (an)n bestaat met an ∈ An voor elke

n, want door de volledigheid van X is deze convergent. Aangezien (An)n een Cauchyrij is

in H(X), kunnen we voor iedere k ∈ N een bijbehorende Nk vinden, zodat

∀ p, q ≥ Nk : h(Ap, Aq) ≤1

2k.

We bekomen aldus een strikt stijgende rij van rangnummers N1 < N2 < . . . . We bewijzen

nu per inductie op k dat we een Cauchyrij (xNk)k kunnen construeren met xNk ∈ ANk voor

elke k . Kies een xN1 ∈ AN1 willekeurig.

Basisstap. Aangezien h(AN1 , AN2) ≤ 12, kunnen we door stelling 2.1 een xN2 ∈ AN2 vinden,

zodat d(xN1 , xN2) ≤ 12.

Inductiehypothese. Veronderstel dat we voor elke k ∈ {2, . . . , n − 1} een xNk hebben

gevonden, zodat d(xNk−1, xNk) ≤ 1

2k−1 .

Inductiestap. Omdat h(ANn−1 , ANn) ≤ 12n−1 , kunnen we opnieuw een xNn ∈ ANn bepalen,

zodat d(xNn−1 , xNn) ≤ 12n−1 .

Om te controleren dat (xNk)k een Cauchyrij is, kiezen we een willekeurige ε > 0 en een

N > 0, zodat∑∞

i=N12i≤ ε. Dit is mogelijk, omdat de partieelsommen kleiner worden

naarmate i toeneemt. Door het meermaals toepassen van de driehoeksongelijkheid geldt:

∀ p, q ≥ N : d(xNp , xNq) ≤ d(xNp , xNp+1) + . . . + d(xNq−1 , xNq) <∞∑i=N

1

2i≤ ε.

Ten slotte weten we door het uitbreidingslemma 2.2 dat er een Cauchyrij (an)n bestaat

met an ∈ An voor elke n en aNk = xNk voor iedere k.

Deel 2. A is gesloten.

Veronderstel dat (xn)n → x een rij in A is. We moeten nu aantonen dat x ∈ A. Er zou

met andere woorden voor elke n een rij (yn)n → x met yn ∈ An moeten bestaan.

Aangezien (xn)n → x, bestaat er een strikt stijgende rij van rangnummers (Nn)n, zodat

∀n : d(xNn , x) ≤ 12n

. We weten tevens per definitie van A dat er voor iedere xk een rij

(akn)n → xk met akn ∈ An bestaat. In het bijzonder geldt dus: (aNnn )n → xNn . We kunnen

hierdoor een rij van rangnummers (Mn)n vinden, zodat ∀n : d(aNnMn, xNn) ≤ 1

2n. Bijgevolg:

∀n : d(aNnMn, x) ≤ d(aNnMn

, xNn) + d(xNn , x) ≤ 1

n.

Dit betekent dat (aNnMn)n → x met aNnMn

∈ AMn voor elke n. Door toepassing van lemma 2.2,

kunnen we (aNnMn)n uiteindelijk uitbreiden tot een rij (yn)n → x met yn ∈ An voor iedere n.

7

Page 10: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Opmerking. Aangezien A gesloten is en X volledig is, is A ook volledig.

Deel 3. ∀ ε > 0, ∃N > 0, ∀n ≥ N : A ⊆ An + ε.

Kies een willekeurige ε > 0. Door het Cauchy-zijn van de rij (An)n in H(X) hebben we:

∃N1 > 0, ∀ p, q ≥ N1 : Ap ⊆ Aq + ε en Aq ⊆ Ap + ε.

Neem nu een a ∈ A. Er bestaat dan een (an)n → a met an ∈ An voor elke n. Dat betekent:

∃N2 > 0, ∀n ≥ N2 : d(an, a) ≤ ε.

Stel N = max{N1, N2}. Kies q ≥ N vast en veronderstel dat p ≥ q. Dan kunnen we

besluiten dat ap ∈ Aq + ε en dus ook a ∈ Aq + ε op voorwaarde dat Aq + ε gesloten is.

Om dit laatste aan te tonen, beschouwen we een rij (xq)q → x in Aq + ε. We moeten

bewijzen dat x ∈ Aq + ε. Indien die uitspraak vals is, zou er voor elke aq ∈ Aq gelden dat

d(aq, x) > ε. We weten dat er voor elke xn ∈ (xq)q een an ∈ Aq bestaat, zodat d(an, xn) ≤ ε.

Voor deze specifieke an’en geldt echter ook dat d(an, x) > ε. We verkrijgen dan:

ε < d(an, x) ≤ d(an, xn) + d(xn, x) ≤ ε+ d(xn, x)→ ε.

Aangezien dit een contradictie is, moet er wel degelijk een element in Aq bestaan, zodat

de afstand van dit punt tot x kleiner is dan ε en dus is Aq gesloten.

Deel 4: A is totaal begrensd.

Indien A eindig is, is de verzameling meteen totaal begrensd. Veronderstel daarom dat A

oneindig groot, maar niet totaal begrensd is. Dat wil zeggen dat er een ε > 0 is, waarvoor

er geen eindige verzameling Y ⊆ A bestaat, waarvan de elementen een overdekking vormen.

Er bestaat dan een rij (xn)n in A, zodat d(xk, xl) ≥ ε als k 6= l.

Uit het vorige deel weten we dat er een rangnummer bestaat, zodat A ⊆ An+ ε3. Dus geldt:

∀xn ∈ A, ∃ yn ∈ An : d(xn, yn) ≤ ε

3.

Aangezien An compact is, bestaat er een convergente deelrij (ynk)k van (yn)n. We kunnen

steeds een ynk en ynl vinden, zodat d(ynk , ynl) <ε3. Dit leidt tot de volgende contradictie:

ε ≤ d(xnk , xnl) ≤ d(xnk , ynk) + d(ynk , ynl) + d(ynl , xnl) < ε.

A moet dus totaal begrensd zijn.

Opmerking. Door deel 2 van het bewijs kunnen we besluiten dat A compact is.

8

Page 11: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Deel 5: (An)n → A.

Aangezien A ∈ H(X), is het voldoende aan te tonen dat er een rangnummer N is, zodat

∀n ≥ N : h(An, A) ≤ ε.

We bewezen reeds in deel 2 dat A ⊆ An + ε, dus we moeten alleen nog nagaan dat

An ⊆ A+ ε. Neem een vaste ε > 0. Dan geldt er:

∃N > 0, ∀ p, q ≥ N : Ap ⊆ Aq +ε

2.

Kies voor N0 ≥ N een a ∈ AN0 . Het is voldoende een element x ∈ A te vinden, zodat

d(a, x) ≤ ε. We kunnen nu net zoals in deel 1 een strikt stijgende rij van rangnummers

N0 < N1 < N2 < . . . vinden, waarbij voor iedere i geldt dat

∀ p, q ≥ Ni : Ap ⊆ Aq +ε

2i+1, (I)

en elementen xNi ∈ ANi bepalen, zodat (xNi)i een Cauchyrij is. Omdat X volledig is, zal

(xNi)i → x. Vanwege het uitbreidingslemma is x dan een element van A. Uit (I) volgt in

het bijzonder dat

∀ i : ANi ⊆ ANi+1+

ε

2i+1

en dus

∀ i : d(a, xNi) ≤ d(a, xN1) + d(xN1 , xN2) + . . . + d(xNi−1, xNi) ≤

ε

2+

ε

22+ . . . +

ε

2i< ε.

Ten slotte kunnen we concluderen dat d(a, x) ≤ ε. Dit rondt het bewijs van de volledigheid

van H(X) af.

9

Page 12: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

3. Contracties op de ruimte der fractalen

Zoals in [2] (p. 43-55, 73, 80-93) en [8] (p. 105-109), tonen we in dit deel dat we contracties

op X kunnen uitbreiden naar H(X) en zo het begrip ‘IFS’ kunnen invoeren. Vervolgens

geven we enkele voorbeelden van attractoren, die getekend werden met een zelfgeschreven

programma in Matlab. De code hiervan is terug te vinden in de appendix.

Definitie 3.1. Een transformatie op een metrische ruimte (X, d) is een functie

f : X → X. We noemen xf ∈ X een fixpunt van de transformatie f indien f(xf ) = xf .

De transformatie f is α-Lipschitz als er een α ≥ 0 bestaat, zodat

∀x, y ∈ X : d(f(x), f(y)

)≤ α d(x, y).

We noemen f een contractie met contractiecoefficient α als f α-Lipschitz is en α < 1.

Uit deze definitie volgt meteen dat de samenstelling van contracties opnieuw een contractie

is. We gaan nu aantonen dat we in(H(X), h

)op niet-triviale wijze een contractie kunnen

construeren, uitgaande van een eindige familie contracties op X. Daarvoor hebben we

eerst een extra eigenschap van de Hausdorff-metriek nodig.

Eigenschap 3.2. ∀A,B,C,D ∈ H(X) : h(A ∪B,C ∪D) ≤ h(A,C) ∨ h(B,D).

Bewijs. Stel ε = h(A,C) ∨ h(B,D). We moeten nu aantonen dat h(A ∪ B,C ∪D) ≤ ε,

wat wegens stelling 2.1 equivalent is met A ∪B ⊆ (C ∪D) + ε en C ∪D ⊆ (A ∪B) + ε.

We weten dat h(A,C) ≤ ε en h(B,D) ≤ ε. Door stelling 2.1 gelden dus de volgende

inclusies: A ⊆ C + ε, C ⊆ A+ ε, B ⊆ D + ε en D ⊆ B + ε. Hieruit kunnen we besluiten:

A ∪B ⊆ (C + ε) ∪ (D + ε)

= {x ∈ X | ∃ c ∈ C : d(x, c) ≤ ε } ∪ { x ∈ X | ∃ d ∈ D : d(x, d) ≤ ε }= {x ∈ X | ∃ y ∈ C ∪D : d(x, y) ≤ ε }= (C ∪D) + ε.

Door het omwisselen van de rollen van A, B, C en D door respectievelijk C, D, A en B,

verkrijgen we ook dat C ∪D ⊆ (A ∪B) + ε.

Lemma 3.3. Als f : X → X een contractie is met contractiecoefficient α, dan is

f : H(X)→ H(X) : A 7→ f(A) := { f(a) | a ∈ A }

een contractie met contractiecoefficient α op(H(X), h

).

10

Page 13: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Bewijs. Aangezien contracties continu zijn, beeldt f compacte delen van X opnieuw af

op compacte delen (eigenschap 1.4.23 in [6]). De transformatie f : H(X)→ H(X) is dus

goed gedefinieerd. We tonen nu dat deze afbeelding een contractie is. Zij A,B ∈ H(X),

dan geldt:

d(f(A), f(B)

)= max

a∈A

{minb∈B

{d(f(a), f(b)

)}}≤ max

a∈A

{minb∈B

{α d(a, b)

}}= α max

a∈A

{minb∈B

{d(a, b)

}}= α d(A,B).

We verkrijgen natuurlijk ook dat d(f(B), f(A)

)≤ α d(B,A) door het omwisselen van de

rollen van A en B en dus kunnen we concluderen dat

h(f(A), f(B)

)= d(f(A), f(B)

)∨ d(f(B), f(A)

)≤ α d(A,B) ∨ α d(B,A)

= α h(A,B).

In de volgende stelling definieren we de gezochte contractie op H(X). Deze afbeelding is

goed gedefinieerd dankzij lemma 3.3 en het gegeven dat eindige unies van compacte delen

compact zijn.

Stelling 3.4. Veronderstel dat f1, . . . , fn een eindig aantal contracties op X is met

overeenkomstige contractiecoefficienten α1, . . . , αn. Dan is

f : H(X)→ H(X) : A 7→n⋃i=1

fi(A)

een contractie met contractiecoefficient α := max{αi | 1 ≤ i ≤ n }.

Bewijs. We passen inductie toe op n en kiezen telkens A,B ∈ H(X) willekeurig.

Basisstap. Als n = 2, geldt er:

h(f(A), f(B)

)= h

(f1(A) ∪ f2(A), f1(B) ∪ f2(B)

)≤ h

(f1(A), f1(B)

)∨ h(f2(A), f2(B)

)(eigenschap 3.2)

≤ α1 h(A,B) ∨ α2 h(A,B)

= α h(A,B).

11

Page 14: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Inductiehypothese. Veronderstel dat ∀ k ∈ {2, . . . , n−1} : h(f(A), f(B)

)≤ α h(A,B) met

f(A) =k⋃i=1

fi(A) en f(B) =k⋃i=1

fi(B).

Inductiestap. We kunnen gemakkelijk controleren dat de ongelijkheid nog steeds geldig is.

h(f(A), f(B)

)= h

( n−1⋃i=1

fi(A) ∪ fn(A),n−1⋃i=1

fi(B) ∪ fn(B)

)

≤ h

( n−1⋃i=1

fi(A),n−1⋃i=1

fi(B)

)∨ h(fn(A), fn(B)

)(eigenschap 3.2)

≤ α h(A,B) ∨ αn h(A,B) (inductiehypothese)

= α h(A,B)

We voeren een definitie in om dit resultaat in een nieuw formalisme te gieten.

Definitie 3.5. Zij (X, d) een volledige metrische ruimte en F een eindige verzameling

van contracties { fi : X → X | 1 ≤ i ≤ n } met contractiecoefficienten αi. Het koppel

(X,F ) heet een geıtereerd functiesysteem (IFS) met contractiecoefficient

α := max{αi | 1 ≤ i ≤ n }.

Afspraak. Voor elke x ∈ X noteren we f 0(x) := f(x) en fn(x) := f(fn−1(x)

). We noemen

de transformaties fn : X → X een iteratie van f .

Waarom spreken we precies over geıtereerde functiesystemen? Dat kunnen we verklaren

door een fundamenteel resultaat van Banach uit 1920 (eigenschap 1.4.9 in [6]).

Stelling 3.6 (Banach-fixpuntstelling). Zij (X, d) een volledige metrische ruimte. Iedere

contractie f : X → X met contractiecoefficient α heeft een uniek fixpunt xf ∈ X, dat

bepaald kan worden door f te itereren over een willekeurige x ∈ X:

xf = limn→∞

fn(x), ∀x ∈ X.

Na iedere iteratie kunnen we tevens meten hoe ver we van het fixpunt verwijderd zijn:

d(xf , f

n(x))≤ αn

1− αd(x, f(x)

), ∀x ∈ X.

We vertalen deze stelling naar ons IFS-formalisme en bundelen dit samen met alles wat

we tot nu toe weten over geıtereerde functiesystemen.

12

Page 15: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Stelling 3.7. Zij(X, { fi : X → X | 1 ≤ i ≤ n }

)een IFS met contractiecoefficient α.

De transformatie

f : H(X)→ H(X) : A 7→n⋃i=1

fi(A)

is een contractie met contractiecoefficient α en heeft een uniek fixpunt Af ∈ H(X),

waarvoor geldt:

Af = limn→∞

fn(A), ∀A ∈ H(X).

Bovendien is de volgende afschatting voor iedere n ∈ N van kracht:

h(Af , f

n(A))≤ αn

1− αh(A, f(A)

), ∀A ∈ H(X).

Definitie 3.8. Het fixpunt van een IFS noemen we een attractor.

De fixpuntstelling van Banach laat toe de attractor van een IFS te vinden door de afbeelding

f uit stelling 3.7 te itereren over een willekeurig compact deel. In het bijzonder kunnen

we dus steeds vertrekken van een singleton in X.

Laten we dit principe eens toepassen op enkele voorbeelden. Voor de eenvoud beperken we

ons tot IFS’en over R2, waarbij de contracties fi affiene transformaties (rotaties, translaties

en herschalingen) zijn. In het algemeen zien deze afbeeldingen er uit als volgt:

fi

([xy

])=

1

βi

[cos θi − sin θi

sin θi cos θi

][x− uiy − vi

]+

[ui

vi

],

waarbij 1βi< 1 de contractiecoefficient is en θi de rotatiehoek is van de rotatie rond (ui, vi).

We kunnen deze vergelijking door matrixvermenigvuldiging herschrijven tot

fi

([xy

])=

[ai11 ai12ai21 ai22

][x

y

]+

[bi1bi2

]

en noteren voor de leesbaarheid de waarden a11, a12, a21, a22, b1 en b2 in tabelvorm:

f a11 a12 a21 a22 b1 b2

1 a111 a112 a121 a122 b11 b12

......

......

......

...

n an11 an12 an21 an22 bn1 bn2

13

Page 16: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

f a11 a12 a21 a22 b1 b2

1 0, 5 0 0 0, 5 0 0

2 0, 5 0 0 0, 5 1 0

3 0, 5 0 0 0, 5 1 1

Beschouw nu het nevenstaande, concrete IFS. We

gaan op zoek naar de attractor van dit systeem. In de

eerste stap berekenen we de beelden van de oorsprong

onder f1, f2 en f3.

We tekenen deze drie punten in het reele vlak en

laten het assenstelsel voor de duidelijkheid weg in de

afbeelding. De oorsprong is het onderste punt.

Wanneer we op deze drie beeldpunten opnieuw alle contracties toepassen en dit proces

blijven herhalen, verkrijgen we de volgende figuren.

(2) (4) (6) (15)

Figuur 1: De cijfers onderaan de afbeeldingen zijn het aantal uitgevoerde iteratiestappen.

Dit IFS convergeert naar de beroemde Sierpinski-driehoek. In de appendix, [8] (p. 1-36)

en [11] (p. 25-80) zijn meer voorbeelden met mooie attractoren te vinden.

Het is bewonderenswaardig dat we met enkele eenvoudige transformaties zulke ingewikkelde

figuren kunnen construeren. In ons enthousiasme kan algauw de volgende vraag rijzen: in

de definitie van een IFS spraken we over een eindig aantal contracties; is het mogelijk met

slechts een contractie een interessante attractor te maken? Het antwoord is helaas neen.

Veronderstel namelijk dat we een contractie g op X hebben. Door lemma 3.4 weten we dat

g ook een contractie is op H(X). De Banach-fixpuntstelling garandeert dat g fixpunten xg

en Ag in respectievelijk X en H(X) heeft. We weten dat Ag = limn→∞ gn(A), ∀A ∈ H(X).

In het bijzonder geldt voor A = {x} met x ∈ X willekeurig gekozen dat

Ag = limn→∞

gn({x})

={

limn→∞

gn(x)}

= {xg}

en dus is de attractor van het IFS(X, {g}

)een singleton. Een contractie kan met andere

woorden niet volstaan om pakweg de Sierpinski-driehoek te maken.

14

Page 17: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

4. Continue afhankelijkheid van parameters

Veronderstel dat de contracties van een IFS afhangen van een bepaalde parameter. Wat is de

invloed van een continue verandering van deze parameter op de overeenkomstige attractoren

van het IFS? Om dit te onderzoeken, bewijzen we eerst een lemma, dat een uitspraak

doet over het probleem voor een volledige metrische ruimte (X, d). Nadien breiden we dit

resultaat uit tot(H(X), h

). Voor de bewijsvoering in dit hoofdstuk werd er gedeeltelijk

afgeweken van [2] (p. 111-113), omdat Jachymski in [9] aantoonde dat Barnsleys werk een

fout bevat. Die vergissing werd rechtgezet in [3].

Definitie 4.1. We noemen in dit hoofdstuk een metrische ruimte (P, dP ) de parameter-

ruimte. Beschouw de functie f : P ×X → X met (X, d) een volledige metrische ruimte.

We noteren voor p ∈ P het fixpunt van f(p, ·) als xf(p). We zeggen dat het fixpunt

continu afhankelijk is van een parameter p ∈ P als xf : P → X : p 7→ xf (p) continu is.

Lemma 4.2. Zij (X, d) een volledige metrische ruimte en f : P ×X → X een familie

van contracties op X met contractiecoefficient α. Dit betekent dat f(p, ·) voor iedere

p ∈ P een contractie is op X. Er geldt dat als f(·, x) voor elke x ∈ X continu is op P ,

het fixpunt xf (p) continu afhankelijk is van p.

Bewijs. We moeten aantonen dat de afbeelding xf uit definitie 4.1 continu is. Kies hiertoe

een willekeurige ε > 0 en een vaste p ∈ P . Er moet nu een δ > 0 bestaan, zodat

∀ q ∈ P : dP (p, q) < δ ⇒ d(xf (p), xf (q)

)< ε.

Aangezien f(·, x) continu is ∀x ∈ X, weten we in het bijzonder dat f(·, xf (p)

)continu is:

∃ δ1 > 0, ∀ q ∈ P : dP (p, q) < δ1 ⇒ d(f(p, xf (p)

), f(q, xf (p)

))< ε (1− α).

Als we δ = δ1 stellen, kunnen we de gezochte afschatting maken:

d(xf (p), xf (q)

)= d(f(p, xf (p)

), f(q, xf (q)

))(xf (p) en xf (q) zijn fixpunten)

≤ d(f(p, xf (p)

), f(q, xf (p)

))+ d(f(q, xf (p)

), f(q, xf (q)

))< ε (1− α) + α d

(xf (p), xf (q)

). (f(q, ·) is een contractie)

Door de tweede term in het rechterlid naar het linkerlid over te brengen, krijgen we dat

(1− α) d(xf (p), xf (q)

)< ε (1− α).

Hieruit volgt ten slotte dat d(xf (p), xf (q)

)< ε, omdat 0 ≤ α < 1.

15

Page 18: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Intuıtief gezien betekent lemma 4.2 dat een continue verandering van de parameter zorgt

voor een continue verandering van het fixpunt. We willen nu hetzelfde resultaat bekomen

in de ruimte(H(X), h

). Stel dus dat we een functie f : P ×H(X)→ H(X) hebben. Om

te voldoen aan de eerste voorwaarde in lemma 4.2, zou f(·, A) voor iedere A ∈ H(X)

continu moeten zijn. Hoe kunnen we dit goed definieren?

Een eerste poging is te eisen dat f(·, a) voor elke a ∈ A continu moet zijn. Dit betekent:

∀ p ∈ P, ∀ ε > 0,∃ δa > 0, ∀ q ∈ P : dP (p, q) < δa ⇒ d(f(p, a), f(q, a)

)< ε.

Het is cruciaal vast te stellen dat δa steeds afhangt van a. Indien de verzameling A ∈ H(X)

oneindig veel punten bevat, bestaat er dus geen δ = min{ δa | a ∈ A }, die geschikt is

voor heel A. We zijn daarom genoodzaakt een bijkomende voorwaarde op f te leggen. Er

bestaan verscheidene beperkingen die het probleem oplossen (in [9] wordt er bijvoorbeeld

met equicontinuıteit gewerkt), maar aangezien we weten dat Lipschitz-zijn sterker is dan

continuıteit, zullen we proberen met deze eigenschap te werken. De volgende stelling toont

aan dat dit mogelijk is.

Stelling 4.3. Zij(X, {f1(p, ·), . . . , fn(p, ·)}

)een IFS met contractiecoefficient α voor

iedere p ∈ P en fi(·, x) β-Lipschitz met β onafhankelijk van i voor elke x ∈ X en

i ∈ {1, . . . , n}. Dan is de attractor Af ∈ H(X) continu afhankelijk van p.

Bewijs. De afbeelding f is gedefinieerd zoals voorheen:

f : P ×H(X)→ H(X) : (p,A) 7→n⋃i=1

fi(p,A) met fi(p,A) = { fi(p, a) | a ∈ A }.

We zullen aantonen dat de gestelde voorwaarde op f1(·, x), . . . , fn(·, x) impliceert dat

f(·, A) β-Lipschitz en dus continu is voor alle A ∈ H(X). We kunnen dan lemma 4.2

toepassen, zodat het resultaat volgt.

Veronderstel in de rest van het bewijs dat i ∈ {1, . . . , n}, A ∈ H(X) en p, q ∈ P . Indien

fi(·, A) β-Lipschitz is, dat wil zeggen

h(fi(p,A), fi(q, A)

)≤ β dP (p, q), (II)

dan volgt

h(f(p,A), f(q, A)

)= h

( n⋃i=1

fi(p,A),n⋃i=1

fi(q, A)

)≤ max

{h(fi(p,A), fi(q, A)

)}(via inductie op 3.2)

≤ β dP (p, q)

16

Page 19: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

en is het gevraagde bewezen. We moeten dus enkel nog (II) aantonen. We weten dat

d(fi(p,A), fi(q, A)

)= max

x∈fi(p,A)

{min

y∈fi(q,A)

{d(x, y)

}}.

Voor elke x ∈ fi(p,A) bestaat er een x ∈ A, zodat x = fi(p, x). Aangezien fi(·, x)

β-Lipschitz is, geldt er:

miny∈fi(q,A)

{d(x, y)}≤ d(x, fi(q, x)

)= d(fi(p, x), fi(q, x)

)≤ β dP (p, q).

Deze afschatting is waar voor iedere x ∈ fi(p,A) en daarom ook voor

maxx∈fi(p,A)

{min

y∈fi(q,A)

{d(x, y)

}}.

We verkrijgen bijgevolg dat d(fi(p,A), fi(q, A)

)≤ β dP (p, q) en door omkering van de

rollen van p en q eveneens dat d(fi(q, A), fi(p,A)

)≤ β dP (p, q). We concluderen dat

h(fi(p,A), fi(q, A)

)= d(fi(p,A), fi(q, A)

)∨ d(fi(q, A), fi(p,A)

)≤ β dP (p, q).

Deze belangrijke stelling houdt in dat kleine veranderingen in de parameters van een

IFS leiden tot kleine veranderingen in de attractor, op voorwaarde dat het systeem een

IFS blijft. Dat betekent dat we attractoren continu kunnen controleren door parameters

in de contracties aan te passen. Dit resultaat speelt bijvoorbeeld een cruciale rol in

beeldcompressie (zie hoofdstuk 5) en computeranimaties.

Voorbeeld 1. De appendix bevat een stukje code dat een filmpje (in gif-formaat) maakt

van de continue verandering van een rotatiehoek θ in een eenvoudig IFS-systeem. Hier

zijn enkele stilstaande beelden:

θ = 0, 30 θ = 0, 35 θ = 0, 40 θ = 0, 45

17

Page 20: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

5. Het inverse probleem

In hoofdstuk 3 slaagden we er in complexe afbeeldingen te generen op basis van een eindig

aantal contracties. Kunnen we nu ook omgekeerd te werk gaan? Kunnen we met andere

woorden altijd een IFS opstellen, zodat een gegeven verzameling daarvan de attractor is? Dit

heet het inverse probleem. We gebruiken [2] (p. 96-105), [4] (p. 28-40) en [7] als leidraad.

In onze gedigitaliseerde wereld is het belangrijk dat afbeeldingen zo efficient mogelijk

worden doorgegeven. Daarom streven we naar een minimale behoefte aan data bij het

uitwisselen van beelden. Door bij de beeldverwerking structurele verbanden te herkennen,

wordt overbodige informatie weggewerkt en vermindert het aantal nodige bits. Dit heet

beeldcompressie.

Het zou ideaal zijn als we in plaats van alle pixels van een afbeelding A slechts een IFS

moeten doorgeven, dat A als attractor heeft. Dat principe is helaas een utopie, want het

inverse probleem heeft in het algemeen geen oplossing. Ten eerste is het mogelijk dat de

opgegeven A niet compact is; een noodzakelijke eigenschap bij het werken met IFS’en.

Ten tweede speelt zelfgelijkenis een centrale rol bij een IFS: attractoren zijn opgebouwd

uit transformaties van zichzelf en vertonen daarom op iedere schaal gelijkaardige patronen.

Als A niet zelfgelijkend is, werkt de voorgestelde aanpak dus niet.

Gelukkig kunnen computerschermen slechts tot op een zeker niveau details weergeven,

omdat ze over een eindig aantal pixels beschikken. Daarom is het in de praktijk voldoende

een oplossing te vinden voor een afgezwakte versie van het inverse probleem: kunnen we

een IFS vinden, zodat de attractor ervan A met vooropgestelde nauwkeurigheid ε benadert?

De vereiste nauwkeurigheidsgraad is natuurlijk afhankelijk van een heleboel factoren, zoals

de schermresolutie, de mate waarin het menselijke oog dingen kan onderscheiden...

De oplossing voor het probleem in de vorige paragraaf wordt aangereikt door de Banach-

fixpuntstelling (stelling 3.6). Met notaties zoals in stelling 3.7: we moeten contracties

f1, . . . , fn vinden, zodat

h(A, f(A)

)≤ ε (1− α),

waarbij α de contractiecoefficient van f is. Voor n = 0 geldt er dan namelijk:

h(Af , A) = h(Af , f

0(A))≤ α0

1− αh(A, f(A)

)=

1

1− αh(A, f(A)

)≤ ε.

We illustreren het belang van IFS’en voor beeldcompressie met een voorbeeld.

18

Page 21: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Voorbeeld 2. Beschouw A = [0, 1] in R, uitgerust met de Euclidische metriek. Definieer twee

contracties f1 en f2 als volgt: f1(x) = x2

en f2(x) = x2

+ 12. Dan geldt er dat f1(A) = [0, 1

2]

en f2(A) = [12, 1]. Bijgevolg is

f(A) = f1(A) ∪ f2(A) = [0, 12] ∪ [1

2, 1] = A.

Hieruit kunnen we concluderen dat

h(Af , A) ≤ 1

1− αh(A, f(A)

)= 0

en dus is A zoals gewenst de attractor van f . Om een afbeelding van het lijnstuk [0, 1] te

maken, is het dus voldoende f1 en f2 te kennen.

In het vorige eenvoudige voorbeeld zagen we hoe het eenheidsinterval opgebouwd kan

worden uit twee kleinere ‘kopieen’ van zichzelf. In de literatuur wordt vaak gesproken over

een collage, naar [1] (p. 96-97). Uiteraard is het vinden van een collage in realiteit veel

ingewikkelder. Zo zijn er vier complexe contracties nodig om het onderstaande blad te

construeren.

Collage Attractor

Figuur 3: Het blad in volle lijn wordt afgebeeld op de vier kleinere bladeren in stippellijn.

Het bepalen van deze contracties gebeurt niet lukraak: in de daartoe ontwikkelde algoritmen

speelt de continue afhankelijkheid van parameters, die we in hoofdstuk 4 bespraken, een

grote rol. Deze methodes en andere compressietechnieken vallen echter buiten het bestek

van deze paper. Interessante referenties voor een verdere studie hieromtrent zijn [1],

[4] (p. 28-78), [10] en [12].

19

Page 22: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

6. Fractale dimensie

In dit hoofdstuk zullen we eindelijk een definitie voor fractalen geven. Dat doen we door

het verschil in ‘kronkeligheid’ tussen bijvoorbeeld een vierkant en de Sierpinski-driehoek

numeriek uit te drukken: de fractale dimensie. Op die manier kunnen we attractoren met

elkaar vergelijken. We bouwen dit concept nu wiskundig op met behulp van [2] (p. 172-179)

en [8] (p. 184-187).

Definitie 6.1. We schrijven N (A, ε) voor het minimum aantal gesloten bollen met

straal ε > 0 dat nodig is om A ∈ H(X) te overdekken.

Is N (A, ε) goed gedefinieerd? Wanneer we rond iedere a ∈ A een bol met straal ε tekenen,

hebben we A natuurlijk open overdekt. Door de compactheid van A bestaat er een eindige

deeloverdekking met middelpunten a1, . . . , an. We kunnen zonder problemen iedere bol

hiervan sluiten. Noteer nu O voor de verzameling van overdekkingen van A met maximaal

n gesloten bollen met straal ε. Als we iedere o ∈ O afbeelden op het aantal bollen dat o

bevat, vormen deze getallen een eindige verzameling, die ten minste het getal n bevat. De

verzameling heeft dus zeker een minimum N (A, ε).

Om het concept ‘fractale dimensie’ formeel in te voeren, inspireren we ons op een gesloten

interval van lengte 1, een vierkant met zijde 1 en een kubus met zijde 1. Natuurlijk willen

we deze totaal begrensde figuren respectievelijk dimensie 1, 2 en 3 toekennen.

In de bovenstaande afbeelding zien we hoe het gesloten interval, het vierkant en de kubus

worden overdekt door bollen met straal ε ∈ {1, 12, 13} onder de Manhattan-metriek. We

zien meteen dat we telkens respectievelijk ε−1, ε−2 en ε−3 bollen nodig hebben. Merk op

dat de dimensie steeds in de exponent staat. Daarom is het aannemelijk dat we gebruik

zullen maken van een logaritme en dat we de fractale dimensie definieren als volgt:

Definitie 6.2. We noteren de fractale dimensie van A ∈ H(X) met dim(A) en stellen

ze gelijk aan de volgende limiet (indien die bestaat):

dim(A) = limε→0

ln(N (A, ε)

)ln(1ε

) .

Laten we deze definitie eens toepassen op twee eenvoudige voorbeelden.

20

Page 23: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Voorbeeld 3. Beschouw A = {a} in het Euclidische vlak. Iedere gesloten bol rond a met

straal ε overdekt A en dus is N (A, ε) = 1. Bijgevolg is dim(A) = 0.

Voorbeeld 4. Beschouw A = [0, 1] in het Euclidische vlak. Het is meteen duidelijk dat

N (A, ε) =⌈1ε

⌉, het eerstvolgende gehele getal groter of gelijk aan 1

ε. Er geldt:

1 =ln(1ε

)ln(1ε

) ≤ ln(⌈

⌉)ln(1ε

) ≤ ln(1ε

+ 1)

ln(1ε

) =ln(1ε

(1 + ε))

ln(1ε)

= 1 +ln(1 + 1

ε

)ln(1ε

) ε→0−−→ 1.

Door de insluitstelling verkrijgen we zoals verwacht dat dim(A) =ln(⌈

⌉)ln(1ε

) = 1.

Om het bepalen van de fractale dimensie te vereenvoudigen, zullen we aantonen dat we de

continue variabele ε uit de definitie kunnen vervangen door discrete variabelen εn.

Stelling 6.3. Zij A ∈ H(X). Stel εn = αβn met α > 0, 0 < β < 1 en n ∈ N0. De

fractale dimensie van A kan berekend worden als volgt:

dim(A) = limn→∞

ln(N (A, εn)

)ln(

1εn

) .

Bewijs. Kies ε ≤ β < 1 en stel f(ε) = max { εn | εn ≤ ε } := εk. Er geldt dan dat

f(ε) ≤ ε ≤ εk−1 = αβk−1 =εkβ

=f(ε)

β

en hieruit leiden we logischerwijze af dat

N(A, f(ε)

β

)≤ N (A, ε) ≤ N

(A, f(ε)

).

Aangezien de natuurlijke logaritme een stijgende functie is, volgt:

ln(

βf(ε)

)≤ ln(1

ε) ≤ ln

(1

f(ε)

)(III)

en

ln(N(A, f(ε)

β

))≤ ln

(N (A, ε)

)≤ ln

(N(A, f(ε)

)).

Alle termen in (III) zijn positief, omdat f(ε) ≤ ε < 1. Daarom krijgen we:

ln(N(A, f(ε)

β

))ln(

1f(ε)

) ≤ln(N (A, ε)

)ln(1

ε)

≤ln(N(A, f(ε)

))ln(

βf(ε)

) .

We nemen nu de limiet voor ε gaande naar 0 van de uiterst linkse en uiterst rechtse breuk

in deze reeks ongelijkheden. We verkrijgen enerzijds

21

Page 24: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

limε→0

ln(N(A, f(ε)

β

))ln(

1f(ε)

) = limn→∞

ln(N (A, εn−1)

)ln(

1εn

)= lim

n→∞

ln(N (A, εn−1)

)ln(1β

)+ ln

(1

εn−1

)= lim

n→∞

ln(N (A, εn)

)ln( 1

εn)

= dim(A)

en anderzijds

limε→0

ln(N(A, f(ε)

))ln(

βf(ε)

) = limn→∞

ln(N (A, εn)

)ln(βεn

)= lim

n→∞

ln(N (A, εn)

)ln(β) + ln

(1εn

)= lim

n→∞

ln(N (A, εn)

)ln( 1

εn)

= dim(A).

Door toepassing van de insluitstelling is dan ook

limε→0

ln(N (A, ε)

)ln(1

ε)

= dim(A).

Voorbeeld 3 en voorbeeld 4 tonen aan dat we wel degelijk kunnen

werken met definitie 6.2, maar bij complexere compacte delen A

zullen we N (A, ε) niet altijd gemakkelijk kunnen bepalen. We

bewijzen daarom een veel elegantere manier om de fractale dimensie

van een attractor te bepalen: de Box-Counting-stelling.

A

0 1

1

Stelling 6.4 (Box Counting). Zij A ∈ H(Rm), waarbij Rm uitgerust is met de

Euclidische metriek. We bedekken Rm met een raster van boxen: aaneensluitende,

gesloten m-dimensionale kubussen met zijde 12n

(de bovenstaande afbeelding is een

voorbeeld voor m = n = 2). We noteren Nn(A) voor het aantal boxen uit het raster

dat A snijdt. Er geldt dan dat

dim(A) = limn→∞

ln(Nn(A)

)ln(2n)

.

22

Page 25: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Bewijs. Kies m ∈ N0 willekeurig. We merken voor iedere n ∈ N0 meteen op dat een bol

met straal 12n

maximaal 2m boxen met zijde 12n−1 kan snijden. Dit betekent dat

1

2mNn−1(A) ≤ N

(A,

1

2n

).

We proberen N (A, 12n

) ook langs boven af te schatten door in iedere gesloten bol van de

minimale overdekking van A een box te passen die A snijdt. We beweren dat dit zo is als

de boxen een straal 12κ(n)

hebben, waarbij κ(n) het kleinste gehele getal is, waarvoor geldt

dat κ(n) ≥ n − 1 + 12

log2(m). We kunnen dit gemakkelijk controleren met behulp van

de stelling van Pythagoras, die garandeert dat een bol met straal r een box met zijde s

omvat als r2 ≥ m ( s2)2. In ons geval hebben we inderdaad:

m(s

2

)2= m

(2κ(n)+1

)−2 ≤ m(2n+

12log2(m)

)−2= m

(2nm

12

)−2=( 1

2n

)2= r2.

Hiermee hebben we aangetoond dat

1

2mNn−1(A) ≤ N

(A,

1

2n

)≤ Nκ(n)(A).

Door het stijgende teken van de natuurlijke logaritme volgt:

limn→∞

ln(

12mNn−1(A)

)ln(2n)

≤ limn→∞

ln(N (A, 1

2n))

ln(2n)≤ lim

n→∞

ln(Nκ(n)(A)

)ln(2n)

.

Aangezien

limn→∞

ln(

12mNn−1(A)

)ln(2n)

= limn→∞

ln( 12m

)

ln(2n)+ lim

n→∞

ln(Nn−1(A)

)ln(2n)

= limn→∞

ln(Nn(A)

)ln(2n)

en

limn→∞

ln(Nκ(n)(A)

)ln(2n)

= limn→∞

ln(2κ(n))

ln(2n)

ln(Nκ(n)(A)

)ln(2κ(n))

= limn→∞

ln(Nκ(n)(A)

)ln(2κ(n))

= limn→∞

ln(Nn(A)

)ln(2n)

,

volgt uit de insluitstelling en stelling 6.3 met α = 1 en β = 12

ten slotte dat

limn→∞

ln(Nn(A)

)ln(2n)

= limn→∞

ln(N (A, 1

2n))

ln(2n)= dim(A).

23

Page 26: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Voorbeeld 5. Laten we met behulp van de Box-Counting-stelling proberen de fractale

dimensie te berekenen van de Sierpinski-driehoek, die we in figuur 1 zagen verschijnen.

(3) (9) (27)

Figuur 4: De gearceerde vierkantjes snijden de attractor. Het aantal staat tussen haakjes.

We noteren A voor de Sierpinksi-driehoek en zien in de bovenstaande figuur datNn(A) = 3n.

Bijgevolg geldt wegens stelling 6.4:

dim(A) = limn→∞

ln(3n)

ln(2n)=

ln(3)

ln(2)≈ 1, 565.

De betekenis van fractale dimensie strookt dus niet met de conventionele wijze waarop we

aan ‘dimensie’ denken: de dimensie van attractoren is niet noodzakelijk een geheel getal!

We kunnen nu formeel definieren wat een fractaal is.

Definitie 6.5. Een fractaal is een attractor met een niet-gehele fractale dimensie.

Zijn attractoren en fractalen wel verschillende begrippen? Zo ja, moeten er attractoren

bestaan die een gehele dimensie hebben. We geven een gemakkelijk voorbeeld.

Voorbeeld 6. Het onderstaande IFS heeft een saaie attractor A: een doodnormaal vierkant.

f a11 a12 a21 a22 b1 b2

1 12

0 0 12

0 0

2 12

0 0 12

1 0

3 12

0 0 12

0 1

4 12

0 0 12

1 1

Door de observatie die we maakten bij de intuıtieve aanbreng van definitie 6.2, kunnen we

concluderen dat Nn(A) = 22n. De fractale dimensie

dim(A) = limn→∞

ln(22n)

ln(2n)= 2 · ln(2)

ln(2)= 2

en dus is de attractor van het bovenstaande IFS geen fractaal.

24

Page 27: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Conclusie

Fractalen illustreren prachtig de wisselwerking tussen zuivere wiskunde en de werkelijkheid.

Enerzijds bood de natuur inspiratie voor het creeren van een volledig nieuwe wiskundetak,

die gebaseerd is op het gegeven dat bepaalde vormen schijnbaar onregelmatige patronen

vertonen op ieder niveau. Anderzijds laat de wiskundige modellering toe met eenvoudige

transformaties de meest complexe afbeeldingen te genereren en zo gedeeltelijk het mecha-

nisme achter de natuurlijke schoonheid te ontsluieren. De theorie over fractalen heeft tevens

bijgedragen aan de ontwikkeling van een heleboel toepassingen, zoals beeldcompressie en

computeranimatie.

Het is fascinerend dat dit allemaal perfect past in een analytisch, metrisch kader. Banach

en Hausdorff legden als ware avant-gardisten – nota bene zonder gebruik te kunnen maken

van computers – de basis voor een elegante theorie die pas een halve eeuw later toepassingen

in de praktijk zou krijgen. Fractale meetkunde is daarom een mooi voorbeeld van het nut

van abstracte wiskunde en de noodzaak tot bestudering ervan.

25

Page 28: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Referenties

[1] BARAHONA, F., CABRELLI, C., MOLTER, U. Computing the Hutchinson Distance

by Network Flows. Random Computational Dynamics, vol. 1, 1992. (p. 117-129.)

[2] BARNSLEY, M. Fractals Everywhere. Academic Press, San Diego, 1988. (p. 6-25,

29-59, 73, 75-93, 96-113, 172-179)

[3] BARNSLEY, M. Fractals Everywhere. Dover, 2012. (p. 101-111)

[4] BASTIAENS, E. Fractal Compressie door middel van Genetische Algoritmen. Master-

thesis VUB, Brussel, 1994. (p. 18-78)

[5] COLEBUNDERS, E. Verzamelingen en reele getallen. Dienst Uitgaven VUB, Brussel,

2012.

[6] COLEBUNDERS, E. Analyse II. Dienst Uitgaven VUB, Brussel, 2013.

[7] COLEBUNDERS, E. Geıtereerde functiesystemen en beeldverwerking meer dan een

halve eeuw na Banach en Hausdorff. Wiskunde en Onderwijs, Brussel, 1995.

[8] EDGAR, G. Measure, Topology and Fractal Geometry. Springer-Verlag, New York,

1990. (p. 1-36, 65-68, 105-109, 184-187)

[9] JACHYMSKI, J. Continuous Dependence of Attractors of Iterated Function Systems.

Journal of Mathematical Analysis and Applications, vol. 198, 1996. (p. 221-226)

[10] MANTICA, G., SLOAN, A. Chaotic Optimization and the Construction of Fractals:

Solution of an Inverse Problem. Complex Systems Publications, vol. 3, 1989. (p. 37-62)

[11] MANDELBROT, B. The Fractal Geometry of Nature. W. H. Freeman and Company,

New York, 1982. (p. 1-19, 25-80)

[12] SHONKWILER, R., MENDIVIL, F., DELIU, A. Genetic Algorithms for the 1-D

Fractal Inverse Problem. Morgan Kaufmann, Proceedings of the 4th International

Conference on Genetic Algorithms, San Diego, 1991. (p. 495-501)

Page 29: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Appendix

Extra voorbeelden van IFS’en en hun attractoren

f a11 a12 a21 a22 b1 b2

1 13

0 0 13

0 0

2 13

0 0 13

1 0

3 13

0 0 13−1 0

4 13

0 0 13

0 1

5 13

0 0 13

0 −1

Figuur 5: Een fractaal ijskristal.

f a11 a12 a21 a22 b1 b2

1 13

0 0 13

1 0

2 13

0 0 13−1 0

3 13

0 0 13

0 1

4 13

0 0 13

0 −1

5 13

0 0 13

1 1

6 13

0 0 13

1 −1

7 13

0 0 13−1 1

8 13

0 0 13−1 −1

Figuur 6: Het tapijt van Menger.

f a11 a12 a21 a22 b1 b2

1 c2− s

2s2

c2

1 0

2 c2− s

2s2

c2−1 0

3 c2− s

2s2

c2

0 1

4 c2− s

2s2

c2

0 −1

met c = cos(0, 5) en s = sin(0, 5)

Figuur 7: Attractor met spiralen.

Page 30: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Matlab-code

De onderstaande Matlab-procedure ‘attractor’ genereert afbeeldingen van het iteratieproces

dat beschreven wordt in hoofdstuk 3. Bij de code is begeleidende tekst in het groen voorzien.

function [ ] = attractor (M,it)

% Deze functie tekent de attractor van een gegeven matrix M in het vlak en

% voert het gevraagde aantal iteraties 'it' uit. Voor de Sierpinski-

% driehoek ziet M er bijvoorbeeld uit als volgt:

%

% M =

%

% 0.5 0 0 0.5 0 0

% 0.5 0 0 0.5 1 0

% 0.5 0 0 0.5 1 1

% We slaan het aantal contracties (het aantal rijen in M) op in een

% variabele 'm'.

[m,~] = size(M);

% Om performantieredenen geven we enkele variabelen, die we verderop in de

% functie zullen tegenkomen, een startwaarde.

A = cell(1,m);

B = cell(1,m);

x = zeros(1,mˆit);

y = zeros(1,mˆit);

% De transformaties zijn van de vorm A{i}*[x,y]+B{i}. Gemakkelijkheidshalve

% bepalen we de matrices A{i} en B{i} op basis van M.

for i = 1:m

A{i} = [M(i,1:2); M(i,3:4)];

B{i} = M(i,5:6)';

end

% We kiezen de oorsprong als startpunt van het iteratieproces en bewaren

% de abscis en ordinaat in een array P.

P = {[0;0]};

for i = 1:it

Q = cell(1,mˆi);

p = length(P);

% We berekenen de beelden van de punten in P onder alle contracties.

for j = 1:m

for k = 1:p

% We slaan de berekende beelden op in een array Q.

Page 31: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Q{(j-1)*p+k} = A{j}*P{k}+B{j};end

end

% De berekende beelden zijn de startverzameling voor de volgende

% iteratiestap.

P = Q;

end

% We tekenen nu de punten die we in laatste iteratiestap hebben berekend.

for i = 1:length(P)

x(i) = P{i}(1);y(i) = P{i}(2);

end

plot(x,y,'.','Color',[0 0 0],'Markersize',1)

set(gcf,'color','white')

axis('square','off')

end

Met de procedure ‘attractormovie’ kan men gif-bestanden maken, die weergeven hoe de

attractor van het opgegeven IFS in iedere iteratiestap ‘groeit’.

function [ ] = attractormovie (M,it,name)

% Deze functie tekent voor iedere waarde i kleiner of gelijk aan 'it' de

% i-de iteratiestap met de functie 'attractor' en maakt een gif-bestand met

% de naam 'name' van deze beelden.

% We slaan het aantal contracties (het aantal rijen in M) op in een

% variabele 'm'.

[m,~] = size(M);

% Om performantieredenen geven we enkele variabelen, die we verderop in de

% functie zullen tegenkomen, een startwaarde.

A = cell(1,m);

B = cell(1,m);

% De transformaties zijn van de vorm A{i}*[x,y]+B{i}. Gemakkelijkheidshalve

% bepalen we de matrices A{i} en B{i} op basis van M.

for i = 1:m

A{i} = [M(i,1:2); M(i,3:4)];

B{i} = M(i,5:6)';

end

% We kiezen de oorsprong als startpunt van het iteratieproces en bewaren

% de abscis en ordinaat in een array P.

Page 32: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

P = {[0;0]};plot(0,0,'.','Color',[0 0 0],'Markersize',1);

set(gcf,'color','white')

axis('square','off')

F(1) = getframe(gcf);

for i = 1:it

Q = cell(1,mˆi);

x = zeros(1,mˆi);

y = zeros(1,mˆi);

p = length(P);

% We berekenen de beelden van de punten in P onder alle contracties.

for j = 1:m

for k = 1:p

% We slaan de berekende beelden op in een array Q.

Q{(j-1)*p+k} = A{j}*P{k}+B{j};end

end

% De berekende beelden zijn de startverzameling voor de volgende

% iteratiestap.

P = Q;

% We tekenen de punten die we in laatste iteratiestap hebben berekend.

for j = 1:length(P)

x(j) = P{j}(1);y(j) = P{j}(2);

end

plot(x,y,'.','Color',[0 0 0],'Markersize',1);

set(gcf,'color','white')

axis('square','off')

F(i+1) = getframe(gcf);

end

% De gif blijft eindeloos doorspelen met een pauze van 1 seconde tussen de

% beelden. Dit commando is niet standaard ingebouwd in Matlab, maar kan

% gedownload worden op het onderstaande webadres.

% www.mathworks.com/matlabcentral/fileexchange/17463-movie-to-gif-converter

movie2gif(F,name,'LoopCount',Inf,'DelayTime',1)

end

Page 33: Bachelorproef I Inleiding tot fractalenwe.vub.ac.be/sites/default/files/Bachelorproef... · Bachelorproef I Inleiding tot fractalen Jeroen Ooge 3de Bachelor wiskunde Promotor: prof

Deze code creeert het gif-filmpje dat in voorbeeld 1 ter sprake kwam. Op analoge wijze

kan men in ieder IFS-systeem een parameter continu laten veranderen.

i=1;

for h=0:0.01:pi/2

c=cos(h);

s=sin(h);

M=[1/2*c -1/2*s 1/2*s 1/2*c 1 0;

1/2*c -1/2*s 1/2*s 1/2*c 0 1;

1/2*c -1/2*s 1/2*s 1/2*c -1 0;

1/2*c -1/2*s 1/2*s 1/2*c 0 -1];

attractor(M,9);

F(i)=getframe(gcf);

i=i+1;

end

movie2gif(F,'vierkantcont.gif','LoopCount',Inf,'DelayTime',0.1);