Teorema delle contrazioni e sistemi di funzioni iterate Luigi Orsina Indice Introduzione 5 Capitolo 1. Spazi metrici e teorema delle contrazioni 1. Definizioni ed esempi 2. Successioni di Cauchy e spazi metrici completi 3. Il teorema delle contrazioni 9 9 13 15 Capitolo 2. Insiemi compatti e distanza di Hausdorff 1. Insiemi compatti 2. La distanza di Hausdorff 3. Completezza di (K(X), h) 19 19 21 26 Capitolo 3. Sistemi di funzioni iterate 1. Da funzioni su X a funzioni su K(X) 2. Sistemi di funzioni iterate 3. Il teorema del collage 4. Sistemi di funzioni iterate con probabilità 33 33 41 43 51 Capitolo 4. Misura e dimensione di Hausdorff 1. La misura di Hausdorff 2. La dimensione di Hausdorff 55 55 60 Capitolo 5. La dimensione degli attrattori degli IFS 1. La dimensione box counting 2. Confronto tra box counting e Hausdorff 3. La dimensione di Hausdorff degli attrattori degli IFS 63 63 66 72 Strumenti e programmi 81 Indice analitico 95 3 Introduzione Molti degli oggetti “reali” che ci circondano, come ad esempio nuvole, alberi, felci e broccoli ( ) condividono una notevole proprietà: ognuno di essi è uguale all’unione di copie (ridotte in dimensioni) dell’oggetto originale. Ad esempio, la struttura “tronco da cui si dipartono rami” di un albero è replicata nella struttura “ramo da cui si dipartono rametti”, e nella struttura “rametti da cui si dipartono foglie”. Analogamente, le foglie di una felce ne replicano la struttura globale, ed a loro volta sono costituite da microfoglie disposte in modo da imitare la felce. La felce (non vera!) come unione di copie di se stessa Oggetti geometrici di questo tipo si dicono “autosimilari”: scopo di questo articolo è spiegare (o, almeno, provare a spiegare. . .) come — usando la teoria degli spazi metrici ed il teorema delle contrazioni — sia possibile costruire in maniera semplice alcuni insiemi autosimilari. Il verbo “costruire” assume qui due significati: in primo luogo vuol dire “costruire matematicamente”, vale a dire caratterizzare dal punto di vista matematico tali insiemi; in secondo luogo vuol dire “costruire al computer”, ovvero indicare come dare una rappresentazione (approssimata) di tali oggetti. Gli “attori principali” del nostro lavoro saranno essenzialmente due: il teorema delle contrazioni e la distanza di Hausdorff. Il teorema delle contrazioni, che “vive” nel contesto degli spazi metrici completi, afferma che una funzione f che “contrae” le distanze (per la definizione rigorosa si veda il Teorema 1.26 nel primo capitolo) ha un unico punto fisso, ovvero un elemento x dello spazio su cui è definita f tale che f (x) = x. Questo teorema, che ha notevoli applicazioni ad esempio nella teoria delle equazioni differenziali ordinarie, 5 6 INTRODUZIONE è fondamentale nel contesto che ci interessa grazie all’osservazione che una contrazione porta sı̀ punti in punti, ma anche insiemi in insiemi; ed essendo continua, porta compatti in compatti. Usando la distanza di Hausdorff (si veda il secondo capitolo), che permette di misurare la distanza tra compatti di uno spazio metrico, avviene il “miracolo”: se f è una contrazione da uno spazio metrico in sé, allora la funzione F , definita da F (K) = {f (x) , x ∈ K} per ogni compatto K, è una contrazione dallo spazio dei compatti in sé rispetto alla distanza di Hausodrff. Siccome (si veda sempre il secondo capitolo) lo spazio dei compatti di uno spazio metrico completo è a sua volta completo una volta che vi si consideri la distanza di Hausdorff, è possibile applicare il teorema delle contrazioni ad F , e dedurre cosı̀ l’esistenza di un unico “compatto fisso” K, tale che F (K) = K. Chiaramente, se x è il punto fisso di f , il compatto K = {x} è il compatto fisso di F (è evidente che F ({x}) = {x}, e quindi per l’unicità del punto fisso si ha la tesi), cosicché — almeno in apparenza — non c’è alcun guadagno nel passaggio da funzioni su insiemi a funzioni di insiemi. Se però, invece di avere una sola contrazione f , ne abbiamo due, siano esse f e g, allora risulta essere una contrazione (sullo spazio dei compatti, e rispetto alla distanza di Hausdorff) la funzione F (K) = f (K) ∪ g(K) . Nuovamente, se x è il punto fisso di f , e y è il punto fisso di g, allora {x, y} è contenuto nel compatto fisso K di F (la dimostrazione di questo fatto è meno semplice della precedente, ed usa la caratterizzazione del punto fisso di una contrazione). In generale, però, {x, y} non è K. Infatti, se calcoliamo F ({x, y}) troviamo F ({x, y}) = {x , y , f (y) , g(x)} , che contiene strettamente {x, y} (a meno che non si abbia x = y). Pertanto, e qui avviene il secondo “miracolo”, l’insieme K è più ricco dell’insieme ottenuto dall’unione dei punti fissi di f e g. Quanto più ricco qui non diciamo (per non scoprire troppo le carte ), limitandoci ad affermare che vedremo nel terzo capitolo numerosi esempi di contrazioni definite su R2 che generano insiemi autosimilari geometricamente complessi come punti fissi. Daremo inoltre una “ricetta” (il cosiddetto teorema del Collage) per costruire (o, meglio, ricostruire) le contrazioni che generano come compatto fisso un insieme autosimilare dato, o che generano un compatto fisso che approssima bene (nel senso della distanza di Hausdorff) un insieme “reale” come un albero o una felce. Una volta “costruiti” gli insiemi autosimilari, ci occuperemo di calcolarne la dimensione. Prima di farlo, sarà necessario introdurre (nel quarto capitolo) il concetto di misura di Hausdorff (sempre lui!), che estende al caso di dimensioni non intere la misura di Lebesgue. Partendo dalla misura di Hausdorff, INTRODUZIONE 7 definiremo la dimensione di Hausdorff di un insieme, che coinciderà con la dimensione “classica” nel caso di oggetti “comuni” come punti, linee, quadrati, cubi, eccetera. Nell’ultimo capitolo calcoleremo la dimensione di Hausdorff di alcuni degli insiemi autosimilari costruiti nel terzo capitolo. Per farlo definiremo prima il concetto di dimensione box counting di un insieme, più facile da calcolare della dimensione di Hausdorff, e poi dimostreremo due risultati: una formula che, sotto opportune ipotesi sulle contrazioni che generano l’insieme autosimilare, permette di calcolare a priori la dimensione box counting di un insieme, e successivamente un teorema che afferma, sotto le stesse ipotesi, che la dimensione box counting e la dimensione di Hausdorff coincidono. In appendice, infine, verrà brevemente spiegato come creare, in TEX quasi tutte le figure presenti in questi appunti. I risultati presentati in questi appunti sono essenzialmente contenuti nel libro “Fractals everywhere” di Michael F. Barnsley (Academic Press, Boston, 1993 – collocazione: III 7 367), al quale si rimanda, e nel quale è possibile trovare una descrizione completa ed auto-contenuta della teoria degli insiemi frattali (ben più completa di quella che viene qui proposta). Altri testi consultati sono “Techniques in Fractal Geometry” di Kenneth Falconer (John Wiley & Sons, New York, 1997), “Fractal Geometry: Mathematical Foundations and Applications”, sempre di Falconer (John Wiley & Sons, New York, 2003 – collocazione III 7 379), e l’articolo “Fractals and Self Similarity” di John E. Hutchinson, Indiana Math. J. 30 (1981). Per la parte sulla misura di Hausdorff, si veda “Weakly differentiable functions: Sobolev spaces and functions of bounded variation” di William P. Ziemer (Springer, New York, 1989 – collocazione II 15 1750 e Col 10 120). Disclaimer: Nessun pixel ha subito danni permanenti durante la stesura di questi appunti. CAPITOLO 1 Spazi metrici e teorema delle contrazioni In questo capitolo daremo le definizioni di base degli strumenti che useremo: definiremo gli spazi metrici, gli spazi metrici completi, ed infine enunceremo e dimostreremo il teorema delle contrazioni, risultato fondamentale nel nostro contesto. 1. Definizioni ed esempi Definizione 1.1. Se X è un insieme, una distanza su X è una funzione d : X × X → R+ tale che (d1 ) d(x, y) ≥ 0 per ogni x e y in X; d(x, y) = 0 se e solo se x = y; (d2 ) d(x, y) = d(y, x) per ogni x e y in X; (d3 ) d(x, y) ≤ d(x, z) + d(z, y) per ogni x, y e z in X. La proprietà (d3 ) viene detta disuguaglianza triangolare. Se d è una distanza su X, la coppia (X, d) si dice spazio metrico. La funzione d viene anche chiamata metrica. Esempio 1.2. Se X è un insieme qualsiasi, è una distanza su X la funzione 1 se x 6= y, dd (x, y) = 0 se x = y. La distanza dd viene detta metrica discreta. Se X = R, è una distanza su X la funzione d(x, y) = |x − y|. Se X = R2 , è una distanza su X la funzione p d2 ((x1 , x2 ), (y1 , y2 )) = (x1 − y1 )2 + (x2 − y2 )2 , detta distanza euclidea. Se X = RN e p ≥ 1, sono distanze su X le funzioni X p1 N p dp ((x1 , . . . , xN ), (y1 , . . . , yN )) = |xi − yi | . i=1 Se X = C 0 ([a, b]; R), lo spazio delle funzioni continue da [a, b] in R, sono distanze su X le funzioni d∞ (f, g) = max |f (x) − g(x)| , x∈[a,b] 9 10 1. SPAZI METRICI E TEOREMA DELLE CONTRAZIONI e Z b |f (x) − g(x)| dx . d1 (f, g) = a – Esercizio 1.3. Si dimostri che le funzioni definite nell’Esempio 1.2 sono effettivamente delle distanze (per dp si rimanda ad un testo di Analisi II). Successivamente, si interpreti geometricamente la disuguaglianza triangolare per la distanza euclidea in R2 . Esempio 1.4. Se X = R, non è una distanza la funzione d definita da d(x, y) = |x2 − y 2 | . Se X = S, lo spazio delle successioni {xn } di numeri reali, non sono distanze su X le funzioni d({xn }, {yn }) = max |xn − yn | , n∈N d({xn }, {yn }) = sup |xn − yn | , n∈N e d({xn }, {yn }) = +∞ X |xn − yn | . n=1 Se X = R([a, b]; R), lo spazio delle funzioni integrabili secondo Riemann su [a, b], non è una distanza la funzione definita da Z b |f (x) − g(x)| dx . d(f, g) = a – Esercizio 1.5. Si giustifichino le affermazioni dell’esempio precedente. Definizione 1.6. Se (X, d) è uno spazio metrico, si chiama sfera aperta di centro x0 e raggio r > 0 l’insieme Br (x0 ) = {x ∈ X : d(x, x0 ) < r} . La sfera chiusa di centro x0 e raggio r > 0 è invece l’insieme B r (x0 ) = {x ∈ X : d(x, x0 ) ≤ r} . Un sottoinsieme A di uno spazio metrico (X, d) si dice aperto se, per ogni x0 in A, esiste r = r(x0 ) > 0 tale che Br (x0 ) ⊆ A. Un sottoinsieme C di uno spazio metrico (X, d) si dice chiuso se il suo complementare C c = X \ C è aperto. Un sottoinsieme B di uno spazio metrico (X, d) si dice limitato se esiste x0 in X, e R > 0, tale che B ⊆ BR (x0 ). 1. DEFINIZIONI ED ESEMPI 11 Definizione 1.7. Se {xn } è una successione contenuta in uno spazio metrico (X, d), diremo che la successione xn converge ad x0 in X, e scriveremo lim xn = x0 , n→+∞ (X,d) oppure xn −→ x0 , se si ha lim d(xn , x0 ) = 0 . n→+∞ L’ultima affermazione va intesa nel senso delle successioni di numeri reali: per ogni ε > 0, esiste nε in N tale che 0 ≤ d(xn , x0 ) < ε per ogni n ≥ nε . Si noti che la definizione di convergenza a zero della successione {d(xn , x0 )} coincide con la definizione di convergenza a zero nello spazio metrico (R, | · |). Teorema 1.8. Sia (X, d) uno spazio metrico, ed {xn } una successione contenuta in X. Se la successione {xn } è convergente, allora il limite è unico. Dimostrazione. È una semplice applicazione della disuguaglianza triangolare. Supponiamo che la successione {xn } converga ad x0 e ad y0 . Per definizione, si ha lim d(xn , x0 ) = 0 , n→+∞ e lim d(xn , y0 ) = 0 . n→+∞ Ma allora si ha 0 ≤ d(x0 , y0 ) ≤ d(xn , x0 ) + d(xn , y0 ) , e siccome la successione a destra è infinitesima, dal teorema dei carabinieri segue che d(x0 , y0 ) = 0, e quindi che x0 = y0 , come volevasi dimostrare. Esempio 1.9. È evidente dalla definizione che in (X, d) = (R, | · |) la convergenza di una successione è la “solita” definizione di convergenza per successioni di numeri reali. Se (X, d) = (RN , d2 ), si vede facilmente che la convergenza di successioni è equivalente alla convergenza (in (R, | · |)) componente per componente. Lo stesso vale in (RN , dp ), qualsiasi sia p ≥ 1. Se (X, d) = (C 0 ([a, b], R), d∞ ), la convergenza per successioni di funzioni è la convergenza uniforme. – Esercizio 1.10. Si dimostrino le affermazioni dell’esempio precedente. Se (X, d) = (X, dd ), come sono fatte le successioni convergenti? Teorema 1.11. Sia (X, d) uno spazio metrico, e sia C un sottoinsieme di X. Allora C è chiuso e se solo se per ogni successione {xn } contenuta in C, e convergente in X ad x0 , si ha che x0 appartiene a C. Dimostrazione. Sia C chiuso e sia {xn } una successione contenuta in C e convergente ad x0 ; supponiamo per assurdo che x0 non appartenga a C. Pertanto, x0 appartiene a A = C c , che per definizione è un aperto, cosicché esiste r > 0 tale che Br (x0 ) ⊆ A, da cui segue che Br (x0 ) ∩ C = ∅. Questo fatto è però assurdo, dato che la successione {xn } è: 1) contenuta in C, e 2) 12 1. SPAZI METRICI E TEOREMA DELLE CONTRAZIONI convergendo ad x0 , si trova definitivamente a distanza minore di r da x0 , e quindi in Br (x0 ). Supponiamo ora che C non sia chiuso, e costruiamo una successione contenuta in C e convergente ad un punto che non vi appartiene. Siccome C non è chiuso, A = C c non è un aperto, e quindi esiste x0 in A tale che le sfere Br (x0 ) non sono contenute in A, qualsiasi sia r > 0. In altre parole, per ogni r > 0 esiste xr in C = Ac tale che xr appartiene a Br (x0 ). Se consideriamo ora la successione {xn } ottenuta scegliendo r = n1 , abbiamo che: 1) è contenuta in C, e 2) converge ad x0 , dato che d(xn , x0 ) < n1 , e x0 non appartiene a C. Definizione 1.12. Siano (X, d) e (Y, d) sono due spazi metrici; dato x0 appartenente ad X, una funzione f : X → Y si dice continua in x0 se, per ogni successione {xn } contenuta in X e convergente ad x0 in X, si ha che la successione {f (xn )} converge a f (x0 ) in Y . In formule: (X,d) ∀{xn } ⊆ X : xn −→ x0 , (Y,d) si ha f (xn ) −→ f (x0 ) , ovvero ∀{xn } ⊆ X : lim d(xn , x0 ) = 0 , n→+∞ si ha lim d(f (xn ), f (x0 )) = 0 . n→+∞ Una funzione f che sia continua per ogni x0 in A, sottoinsieme di X, si dice continua in A. Esempio 1.13. Se (X, d) = (Y, d) = (R, | · |), una funzione f : R → R è continua (come funzione tra spazi metrici) se è continua (nel senso “classico” del termine). – Esercizio 1.14. Si determinino tutte le funzioni continue tra (R, | · |) e (R, dd ), e tra (R, dd ) e (R, | · |). – Esercizio 1.15. Sia (X, d) uno spazio metrico, e sia x0 in X fissato. Si dimostri che la funzione dx0 : X → R, definita da dx0 (y) = d(x0 , y) , ∀y ∈ X , è continua tra (X, d) e (R, | · |). Suggerimento: si dimostri (usando due volte la disuguaglianza triangolare) che si ha |d(x0 , y) − d(x0 , z)| ≤ d(y, z) , ∀y, z ∈ X . Definizione 1.16. Dati (X, d) e (Y, d) due spazi metrici, una funzione f : X → Y si dice lipschitziana se esiste L ≥ 0 tale che d(f (x), f (y)) ≤ L d(x, y) , ∀x, y ∈ X . Un esempio di funzione lipschitziana (con L = 1) è la funzione dx0 definita nell’Esercizio 1.15. È facile dimostrare che una funzione lipschitziana è continua (si usi la definizione di continuità, di lipschitzianità, ed il teorema dei carabinieri). 2. SUCCESSIONI DI CAUCHY E SPAZI METRICI COMPLETI 13 – Esercizio 1.17. Dimostrare che ogni funzione f da (X, dd ) in sé è lipschitziana con L = 1. 2. Successioni di Cauchy e spazi metrici completi Definizione 1.18. Sia (X, d) uno spazio metrico, e sia {xn } una successione contenuta in X. La successione {xn } si dice di Cauchy, o fondamentale, se per ogni ε > 0 esiste nε in N tale che 0 ≤ d(xn , xm ) < ε , ∀n, m ≥ nε . Teorema 1.19. Sia (X, d) uno spazio metrico, e sia {xn } una successione contenuta in X. Se {xn } è convergente, allora è di Cauchy. Dimostrazione. Dal momento che {xn } è convergente, esiste x0 in X tale che, per ogni ε > 0, esiste nε in N tale che 0 ≤ d(xn , x0 ) < ε , 2 ∀n ≥ nε . Siano ora n e m in N maggiori di nε . Allora, per la disuguaglianza triangolare, si ha ε ε 0 ≤ d(xn , xm ) ≤ d(xn , x0 ) + d(xm , x0 ) < + = ε , 2 2 e quindi la successione {xn } è di Cauchy. Il viceversa del Teorema 1.19 non è vero. Ad esempio, se consideriamo 1 (X, d) = ((0, 1), | · |) e la successione xn = n+1 , allora abbiamo che {xn } è di Cauchy perché converge a zero in (R, | · |), ma non converge in (X, d), dato che il suo limite — che non può essere altro che zero per unicità — non appartiene all’insieme. – Esercizio 1.20. Come sono fatte le successioni di Cauchy di (X, dd )? Esempio 1.21. Sia (X, d) = (C 0 ([−1, 1], R), d1 ), e consideriamo la successione {fn } definita da −1 se −1 ≤ x < − n1 , nx se − n1 ≤ x ≤ n1 , fn (x) = 1 se n1 < x ≤ 1. il cui grafico è 14 1. SPAZI METRICI E TEOREMA DELLE CONTRAZIONI 1 -1 − n1 1 1 n -1 Se fissiamo n > m, allora la successione |fn − fm | vale 0 se m1 < |x| ≤ 1, 1 − m|x| se n1 ≤ |x| ≤ m1 , |fn (x) − fm (x)| = (n − m)|x| se |x| ≤ n1 , ovvero 1− -1 − m1 m n − n1 1 n 1 m 1 Pertanto, Z 1 |fn (x) − fm (x)| dx = d1 (fn , fm ) = −1 m 1 1 1 1− = − . m n m n Dal momento che la successione { n1 } è di Cauchy in (R, | · |) (perché è convergente), ne segue che la successione {fn } è di Cauchy in (X, d). La successione {fn }, però, non converge in (X, d) ad alcuna funzione. Per assurdo, supponiamo che esista una funzione f in C 0 ([−1, 1], R) tale che Z 1 lim d1 (fn , f ) = lim |fn (x) − f (x)| dx = 0 . n→+∞ n→+∞ −1 Sia ora ε > 0, e sia n > 1ε . Allora, poiché le funzioni integrande sono positive, si ha Z 1 Z 1 0≤ |fn (x) − f (x)| dx ≤ |fn (x) − f (x)| dx , ε −1 3. IL TEOREMA DELLE CONTRAZIONI e quindi, essendo fn (x) ≡ 1 in [ε, 1], Z Z 1 |1 − f (x)| dx ≤ 0≤ 15 1 |fn (x) − f (x)| dx . −1 ε Facendo tendere n all’infinito si ha, ricordando che l’ultima quantità tende a zero per ipotesi, Z 1 0≤ |1 − f (x)| dx ≤ 0 . ε Essendo la funzione integranda continua e positiva, si ha che |1 − f (x)| ≡ 0 in [ε, 1], e quindi che f (x) ≡ 1 in [ε, 1]. Per l’arbitarietà di ε, si ha che f (x) ≡ 1 in (0, 1]. Ripetendo il ragionamento nell’intervallo [−1, ε], si ottiene che f (x) ≡ −1 in [−1, 0). La funzione f non può pertanto essere continua, dato che si ha lim− f (x) = −1 6= 1 = limx→0+ f (x) . x→0 Definizione 1.22. Uno spazio metrico (X, d) tale che ogni successione di Cauchy sia convergente viene detto spazio metrico completo. Esempio 1.23. Lo spazio (X, dd ) è completo, qualsiasi sia X (si veda l’Esercizio 1.20). Sono completi gli spazi (R, | · |), (R2 , d2 ) e (RN , dp ), qualsiasi sia p ≥ 1. Lo spazio (C 0 ([a, b], R), d∞ ) è completo. Altri esempi di spazi completi si ottengono grazie al seguente teorema. Teorema 1.24. Sia (X, d) uno spazio metrico completo, e sia C un sottoinsieme chiuso di X. Allora (C, d) è uno spazio metrico completo. Dimostrazione. Sia {xn } una successione di Cauchy in (C, d). Chiaramente, {xn } è anche una successione di Cauchy in (X, d), che è completo. Pertanto, esiste x0 in X tale che {xn } converge a x0 in (X, d). Essendo C chiuso e {xn } contenuta in C e convergente ad x0 , per il Teorema 1.11 x0 appartiene a C. Abbiamo cosı̀ dimostrato che ogni successione {xn } di Cauchy in (C, d) è convergente in (C, d), e quindi (C, d) è completo. 3. Il teorema delle contrazioni Definizione 1.25. Sia (X, d) uno spazio metrico. Una funzione f : X → X si dice una contrazione se è lipschitziana di costante θ < 1; ovvero se esiste 0 ≤ θ < 1 tale che d(f (x), f (y)) ≤ θ d(x, y) , ∀x, y ∈ X . Se f è una contrazione, la costante di lipschitz θ si chiama anche fattore di contrazione. Se (X, d) è uno spazio metrico, e f : X → X è una funzione, un punto x di X si dice punto fisso per f se si ha f (x) = x. 16 1. SPAZI METRICI E TEOREMA DELLE CONTRAZIONI Se (X, d) è uno spazio metrico, e f : X → X è una funzione, definiamo la funzione iterata n-sima di f come la funzione f (n) : X → X data da: f (1) (x) = f (x), e f (n) (x) = f (f (n−1) (x)) se n > 1. Teorema 1.26. Sia (X, d) uno spazio metrico completo, e sia f : X → X una contrazione. Allora f ha un unico punto fisso. Dimostrazione. Sia x0 in X qualsiasi. Definiamo x1 = f (x0 ) = f (1) (x0 ), x2 = f (x1 ) = f (2) (x0 ) e, per ricorrenza, xn = f (xn−1 ) = f (n) (x0 ). Si ha, essendo f una contrazione, d(xn+1 , xn ) = d(f (xn ), f (xn−1 )) ≤ θd(xn , xn−1 ) = θ d(f (xn−1 ), f (xn−2 )) ≤ θ2 d(xn−1 , xn−2 ) = θ2 d(f (xn−2 ), f (xn−3 )) ≤ θ3 d(xn−2 , xn−3 ) = . . . ≤... ≤ θn d(x1 , x0 ) . Pertanto, se m < n, si ha (usando più volte la disuguaglianza triangolare): d(xn , xm ) ≤ ≤ n−1 X k=m n−1 X k=m d(xk+1 , xk ) θk d(x1 , x0 ) ≤ θm 1 − θn−m θm d(x1 , x0 ) ≤ d(x1 , x0 ) . 1−θ 1−θ Sia ora ε > 0, e sia nε in N tale che θnε < ε(1 − θ)d(x1 , x0 ); si noti che tale nε esiste perché la successione {θn } tende a zero essendo θ < 1. Pertanto, se n e m sono maggiori di nε si ha d(xn , xm ) < ε, e quindi la successione {xn } è di Cauchy in (X, d), spazio metrico completo. Ne segue che esiste x in X tale che {xn } converge ad x. Essendo f continua (in quanto lipschitziana), se ne deduce che f (xn ) converge a f (x) e quindi che f (xn−1 ) converge ad f (x) (essendo una sottosuccessione estratta). Ma f (xn−1 ) è per definizione xn , e quindi f (xn−1 ) converge a x. Per l’unicità del limite, si ha f (x) = x, e quindi x è un punto fisso per f . Supponiamo ora che x e y siano punti fissi per f , e che quindi si abbia f (x) = x e f (y) = y. Allora, essendo f una contrazione, si ha 0 ≤ d(x, y) = d(f (x), f (y)) ≤ θ d(x, y) , da cui segue 0 ≤ (1 − θ) d(x, y) ≤ 0. Essendo θ < 1, deve per forza essere d(x, y) = 0, e quindi x = y, cosicchè il punto fisso è unico. Osservazione 1.27. Si noti che il punto fisso x viene trovato come limite dello schema iterativo xn−1 7→ xn = f (xn−1 ), ovvero della successione {f (n) (x0 )}, qualsiasi sia la scelta del punto iniziale x0 . In altre parole, non importa “da dove partiamo”: se f è una contrazione, al limite dell’iterazione troveremo l’unico punto fisso. 3. IL TEOREMA DELLE CONTRAZIONI 17 Inoltre, passando al limite per m tendente ad infinito nella formula che stima d(xn , xm ), si ha θn d(x1 , x0 ) , 1−θ e questa formula ci dice quanto velocemente {xn } converge a x. (1.1) d(xn , x) ≤ Esempio 1.28. Se abbiamo a disposizione una calcolatrice con una discreta precisione, ed in grado di calcolare le funzioni trigonometriche in radianti, possiamo determinare il valore della soluzione dell’equazione cos(x) = x semplicemente: 1) settando la calcolatrice in radianti; 2) scrivendo “1” (o qualsiasi altro valore); 3) premendo ripetutamente il tasto “cos”. Con un po’ di pazienza, alla fine si ottiene il valore 0.7390851332, che è un’approssimazione della soluzione esatta. y=x cos(x) = x x y = cos(x) – Esercizio 1.29. Come mai troviamo un unico punto fisso — e come mai lo troviamo — premendo ripetutamente il tasto “cos”? La funzione cos(x) non è una contrazione! Il teorema di Lagrange ci dice: |cos(x) − cos(y)| = |−sen(ξ)| |x − y| , con ξ compreso tra x e y. Maggiorando |−sen(ξ)| con 1, otteniamo che cos(x) ha L = 1 come costante di Lipschitz, e quindi non è una contrazione. Se pensate di aver “maggiorato troppo”, e che forse c’è speranza che cos(x) sia una contrazione, è sufficiente prendere x = π2 + ε e y = π2 per avere che cos( π2 + ε) cos(x) − cos(y) sen(ε) = =− , x−y ε ε e l’ultima frazione tende a −1 quando ε tende a zero, cosicché L = sup x, y∈R | cos(x) − cos(y)| = 1, |x − y| è la costante di lipschitzianità di cos(x). 18 1. SPAZI METRICI E TEOREMA DELLE CONTRAZIONI Esempio 1.30. Sia f (x, y) = ( x2 − y 4 + 34 , x4 + y 2 + 14 ) . Si vede facilmente che f è una contrazione su R2 (quanto vale θ?), e quindi ha un unico punto fisso, che è (1, 1). Nel disegno, si vede come partendo da un punto qualsiasi del piano, le iterate convergano al punto fisso. Il limite x non dipende da x0 CAPITOLO 2 Insiemi compatti e distanza di Hausdorff In questo capitolo, basandoci sui risultati ottenuti nell’ambito degli spazi metrici, introdurremo i concetti di insieme compatto e di distanza di Hausdorff. Dimostreremo inoltre la completezza dello spazio dei compatti di uno spazio metrico completo rispetto alla distanza di Hausdorff. 1. Insiemi compatti Definizione 2.1. Un sottoinsieme K di uno spazio metrico (X, d) si dice compatto se da ogni successione {xn } contenuta in K si può estrarre una sottosuccessione {xnk } convergente ad un punto x0 di K. Un sottoinsieme A di uno spazio metrico (X, d) si dice totalmente limitato se per ogni ε > 0 esistono y1 , y2 , . . ., ynε in X tali che nε [ Bε (yi ) . A⊆ i=1 – Esercizio 2.2. Si dimostri che ogni insieme totalmente limitato è anche limitato. Suggerimento: detto R = max{d(yi , yj ), i, j = 1, . . . , nε } = d(yi , yj ), allora. . . Esempio 2.3. In (X, dd ) i compatti sono tutti e soli gli insiemi finiti. Infatti, se K ⊆ X è finito, e {xn } è una successione contenuta in K, esiste x in K, ed una successione {nk } di interi tale che xnk = x per ogni k, cosicché la sottosuccessione {xnk } converge a x (si noti che questo fatto è vero qualsiasi sia lo spazio metrico). Viceversa, se K ⊆ X non è finito, è possibile trovare una successione {xn } contenuta in K tale che xn 6= xm per ogni n 6= m. Ma allora dd (xn , xm ) = 1, e quindi la successione {xn } non è di Cauchy, né lo è ogni sua sottosuccessione, che quindi non può convergere. Si noti che se K ⊆ X è infinito, allora K non è totalmente limitato: è sufficiente scegliere ε = 12 . In (RN , d2 ) è invece ben noto che i compatti sono tutti e soli gli insiemi chiusi e limitati. Teorema 2.4. Sia (X, d) uno spazio metrico completo e sia K un sottoinsieme di X. Allora K è compatto se e solo se è chiuso e totalmente limitato. 19 20 2. INSIEMI COMPATTI E DISTANZA DI HAUSDORFF Dimostrazione. Supponiamo che K sia chiuso e totalmente limitato, e sia {xn } una successione contenuta in K. Siccome K è totalmente limitato, al(1) lora K è contenuto nell’unione di un numero finito di sfere di raggio 1, B1 (x1 ), (1) . . ., B1 (xm1 ). Essendo infiniti i punti della successione {xn }, in almeno una (1) delle sfere ne cadono infiniti: supponiamo che sia B (1) = B1 (x1 ), e sia n1 il primo indice tale che xn1 appartiene a B (1) . Si dimostra facilmente che anche B (1) ∩ K è totalmente limitato. Pertanto, esiste un numero finito di sfere di (2) (2) raggio 21 , siano esse B 1 (x1 ), . . ., B 1 (xm2 ), tali che B (1) ∩ K è contenuto nella 2 2 loro unione. Come prima, esiste almeno una di queste sfere, e supporremo sia (2) B (2) = B 1 (x1 ), che contiene infiniti punti della successione. Sia n2 il primo 2 indice maggiore di n1 tale che xn2 appartiene a B (2) ∩ K. Ovviamente, si ha B (2) ⊂ B (1) . Proseguendo, costruiamo una successione {B (m) } decrescente di 1 , sfere di raggio 2m−1 B (1) ⊃ B (2) ⊃ B (3) ⊃ . . . ⊃ B (m) ⊃ . . . , ed una sottosuccessione {xn1 , xn2 , . . . , xnm , . . .}, con la proprietà che xni appartiene a B (i) per ogni i. Sia ora ε > 0, e sia mε tale che 2m1ε −2 < ε. Se s e t sono maggiori di mε , allora sia xns che xmt appartengono a B (mε ) , e quindi distano tra di loro meno di 2m1ε −2 , ovvero meno di ε. Abbiamo cosı̀ che la sottosuccessione {xnm } è di Cauchy in (X, d), che è completo. Ne segue che esiste il limite di {xnm }, e che tale limite appartiene a K, essendo K chiuso (si veda il Teorema 1.11), cosicché K è compatto. Viceversa, supponiamo che K sia compatto. Se {xn } è una successione contenuta in K e convergente in X ad x0 , allora da {xn } possiamo estrarre una sottosuccessione convergente ad un punto y0 di K. Siccome tutte le sottosuccessioni estratte da una successione convergente hanno lo stesso limite, si ha che x0 = y0 , e quindi x0 appartiene a K. Per il Teorema 1.11, K è chiuso. Supponiamo ora che esista ε > 0 tale che K non sia ricopribile con un numero finito di sfere di raggio ε. Ciò vuol dire che esiste (almeno) una successione {xn } contenuta in K e tale che d(xi , xj ) ≥ ε per ogni i 6= j. Se ne deduce quindi che la successione {xn } non è di Cauchy (è sufficiente prendere ε = ε nella definizione di successione di Cauchy), né lo è ogni sua sottosuccessione. Ma questo è assurdo perché, essendo K compatto, esiste almeno una sottosuccessione di {xn } convergente, e quindi di Cauchy. Teorema 2.5. Siano (X, d) e (Y, d) spazi metrici, e sia f : X → Y continua. Se K è compatto in (X, d), allora f (K) è compatto in (Y, d). Dimostrazione. Sia {yn } una successione contenuta in f (K). Per ipotesi, esiste xn in K tale che f (xn ) = yn per ogni n in N. La successione {xn }, essendo contenuta nel compatto K, ammette una sottosuccessione {xnm } convergente ad x0 in K. Essendo f continua, la successione {ynm = f (xnm )}, 2. LA DISTANZA DI HAUSDORFF 21 che è una sottosuccessione di {yn }, converge a f (x0 ), cha appartiene quindi a f (K). Se lo “spazio di arrivo” è R (o meglio (R, | · |)), vale l’analogo del teorema di Weierstrass per funzioni reali di variabile reale. Teorema 2.6. Sia (X, d) uno spazio metrico, K un sottoinsieme compatto di X, e sia f : K → R una funzione continua. Allora f ammette massimo e minimo. Dimostrazione. La dimostrazione ricalca le linee della dimostrazione del teorema di Weierstrass per funzioni reali di variabile reale. Sia infatti M = sup f (x) , x∈K e sia {xn } una successione, contenuta in K e che esiste per le proprietà dell’estremo superiore, tale che lim f (xn ) = M . n→+∞ Essendo {xn } contenuta in K, che è compatto, esiste una sottosuccessione, sia essa {xnk }, convergente a x0 appartenente a K. Essendo f continua, ed essendo {f (xnk )} una sottosuccessione di {f (xn )}, si ha f (x0 ) = lim f (xnk ) = lim f (xn ) = M , k→+∞ n→+∞ cosicché M è il massimo di f su K. La dimostrazione dell’esistenza del minimo è identica. 2. La distanza di Hausdorff Definizione 2.7. Se (X, d) è uno spazio metrico, definiamo K(X) l’insieme K(X) = {K ⊆ X : K è compatto in X, K 6= ∅} . Siano (X, d) uno spazio metrico, e K appartenente a K(X). Se x0 appartiene a X, definiamo la distanza di x0 da K come d(x0 , K) = min{d(x0 , y), y ∈ K} . Si noti che, essendo d(x0 , ·) una funzione continua (si veda l’Esercizio 1.15), l’esistenza del minimo è garantita dal Teorema 2.6. 22 2. INSIEMI COMPATTI E DISTANZA DI HAUSDORFF K Alcune distanze dall’insieme K (appartenente a K(R2 , d2 )) Teorema 2.8. Sia (X, d) uno spazio metrico, e sia K appartenente a K(X). Allora la funzione dK : X → R definita da dK (x) = d(x, K) , è continua. Dimostrazione. Sia {xn } una successione contenuta in X e convergente a x0 , e sia {xnk } una sua sottosuccessione. Poiché d(xnk , K) è un minimo, per ogni n in N esiste ynk appartenente a K tale che (2.1) d(xnk , K) = d(xnk , ynk ) ≤ d(xnk , y) , ∀y ∈ K . Poiché la successione {ynk } è contenuta in K, che è compatto, esiste una sottosuccessione {ynkh } convergente ad y0 , appartenente a K. Pertanto, usando due volte l’Esercizio 1.15 e passando al limite in (2.1), d(x0 , y0 ) = lim d(xnkh , ynkh ) ≤ lim d(xnkh , y) = d(x0 , y) . h→+∞ h→+∞ e quindi d(x0 , y0 ) = min{d(x0 , y), y ∈ K} = d(x0 , K) . Abbiamo cosı̀ dimostrato che (2.2) d(x0 , K) = lim d(xnkh , K) . h→+∞ Dunque, da ogni sottosuccessione {xnk } estratta da {xn } si può estrarre una sotto-sottosuccessione {xnkh } per la quale vale (2.2). Siccome il limite, che è d(x0 , K), non dipende dalla sottosuccessione estratta, tutta la successione converge a tale limite, ovvero: d(x0 , K) = lim d(xn , K) , n→+∞ e quindi d(·, K) è una funzione continua. 2. LA DISTANZA DI HAUSDORFF 23 Definizione 2.9. Siano (X, d) uno spazio metrico, e K ed H appartenenti a K(X). Definiamo la distanza (orientata) di K da H come d(K, H) = max{d(x, H), x ∈ K} . Per il Teorema 2.1, e per il Teorema 2.6, il massimo nella definizione di distanza orientata è raggiunto. Pertanto, esiste x in K tale che d(K, H) = d(x, H). Ricordando la definizione di distanza da H, esiste y in H tale che d(x, H) = d(x, y). Ne segue che, se K e H appartengono a K(X), allora esistono x in K e y in H tali che d(K, H) = d(x, y) . K H La linea tratteggiata più scura indica d(K, H) Si noti che la funzione d cosı̀ definita non è una distanza. Infatti, se K ⊂ H si ha d(K, H) = 0 (dato che d(x, H) = 0 per ogni x in K), e quindi viene violata la (d1 ). Definizione 2.10. Sia (X, d) uno spazio metrico completo. La distanza di Hausdorff su K(X) è definita da h(K, H) = max{d(K, H), d(H, K)} . Teorema 2.11. La distanza di Hausdorff h : K(X) × K(X) → R+ è una distanza. Pertanto, (K(X), h) è uno spazio metrico. Dimostrazione. Che h(K, H) sia non negativa è evidente dalla definizione. Supponiamo ora di avere h(K, H) = 0. Allora, sempre per definizione, si ha d(K, H) = 0, e d(H, K) = 0. Dimostriamo ora che se d(K, H) = 0, allora K ⊆ H. Innanzitutto, per definizione di d(K, H) si ha d(x, H) = 0 per ogni x in K. Siccome d(x, H) è un minimo, esiste y in H tale che d(x, y) = d(x, H) = 0, e quindi x = y. Pertanto, ogni x di K appartiene ad H, che è quello che si voleva dimostrare. In definitiva, d(K, H) = 0 ⇒ K ⊆ H h(K, H) = 0 ⇒ ⇒ H =K. d(H, K) = 0 ⇒ H ⊆ K La simmetria di h(K, H) è evidente, e quindi non rimane che dimostrare la disuguaglianza triangolare. Dati H, K e L in K(X), iniziamo a dimostrare 24 2. INSIEMI COMPATTI E DISTANZA DI HAUSDORFF che (2.3) d(H, K) ≤ d(H, L) + d(L, K) . Sia x in H. Allora si ha, per ogni z in L, per definizione e per la disuguaglianza triangolare, d(x, K) = min{d(x, y), y ∈ K} ≤ min{d(x, z) + d(z, y), y ∈ K} = d(x, z) + min{d(z, y), y ∈ K} = d(x, z) + d(z, K) ≤ d(x, z) + max{d(z, K), z ∈ L} = d(x, z) + d(L, K) . Pertanto, per ogni x in H e per ogni z in L, si ha d(x, K) ≤ d(x, z) + d(L, K) , da cui, osservando che la quantità a sinistra non dipende da z, e prendendo il minimo su z, si ha d(x, K) ≤ min{d(x, z), z ∈ L} + d(L, K) = d(x, L) + d(L, K) . Predendo il minimo su x in K a sinistra, ed il massimo su x in K a destra, si ha allora d(H, K) = min{d(x, K), x ∈ H} ≤ max{d(x, L) + d(L, K), x ∈ H} = d(H, L) + d(L, K) , che è proprio la (2.3). In maniera analoga, si dimostra che (2.4) d(K, H) ≤ d(K, L) + d(L, H) . Usando sia la (2.3) che la (2.4), si ha allora h(K, H) = max{d(K, H), d(H, K)} ≤ max{d(K, L) + d(L, H), d(H, L) + d(L, K)} ≤ max{d(K, L), d(L, K)} + max{d(L, H), d(H, L)} = h(K, L) + h(L, H) , come volevasi dimostrare. – Esercizio 2.12. Si dimostri che se a e b sono numeri reali, allora max{a, b} = a + b + |a − b| . 2 Successivamente, si dimostri che max{a + b, c + d} ≤ max{a, d} + max{b, c} . – Esercizio 2.13. Si dimostri che se si parte da (X, dd ) allora la distanza di Hausdorff su K(X) è nuovamente la distanza discreta (sui sottoinsiemi finiti di X). 2. LA DISTANZA DI HAUSDORFF 25 Definizione 2.14. Sia (X, d) uno spazio metrico, e A un sottoinsieme di X. Dato γ > 0, la dilatazione di γ dell’insieme A è l’insieme A + γ cosı̀ definito: A + γ = {y ∈ X : d(x, y) ≤ γ, per qualche x di A} = {y ∈ X : d(y, A) ≤ γ} . L’operazione di dilatazione non “distrugge” le proprietà dell’insieme. Lemma 2.15. Sia (X, d) uno spazio metrico, e sia K in K(X). Allora K +ε è chiuso per ogni ε > 0. Dimostrazione. Sia {xn } una successione contenuta in K + ε e convergente in (X, d) a x0 . Per definizione di K + ε, d(xn , K) ≤ ε per ogni n in N. Essendo la funzione x 7→ d(x, K) continua (per il Teorema 2.8) e {xn } convergente, d(x0 , K) = lim d(xn , K) ≤ ε , n→+∞ e quindi x0 appartiene a K + ε. Dal Teorema 1.11 segue la tesi. Lemma 2.16. Sia (X, d) uno spazio metrico, siano K e H in K(X), e sia δ > 0. Allora (K + δ) ∪ (H + δ) ⊆ (K ∪ H) + δ . Dimostrazione. Sia x in K + δ. Per definizione, d(x, K) ≤ δ, e quindi d(x, K) = min{d(x, y), y ∈ K} ≤ δ . Ma allora d(x, K ∪ H) = min{d(x, y), y ∈ K ∪ H} ≤ min{d(x, y), y ∈ K} ≤ δ , cosicché x appartiene a (K ∪H)+δ; pertanto, K +δ ⊆ (K ∪H)+δ. Ripetendo il ragionamento con H + δ si trova H + δ ⊆ (K ∪ H) + δ e quindi la tesi. Grazie alla dilatazione di un insieme, possiamo caratterizzare la distanza di Hausdorff tra due compatti. Lemma 2.17. Sia (X, d) uno spazio metrico, e siano H e K appartenenti a K(X). Allora K ⊆ H + ε, h(K, H) ≤ ε ⇐⇒ H ⊆ K + ε. Dimostrazione. Iniziamo col dimostrare che d(K, H) ≤ ε se e solo se K ⊆ H + ε. Se d(K, H) ≤ ε si ha, per definizione di d(K, H), e per ogni x in K, d(x, H) ≤ max{d(x, H), x ∈ K} = d(K, H) ≤ ε , cosicché x appartiene a H + ε. In definitiva, K ⊆ H + ε, come volevasi dimostrare. Supponiamo ora che K ⊆ H + ε; per ogni x in K si ha allora che x appartiene a H + ε, e quindi si ha d(x, H) ≤ ε. Prendendo il massimo al 26 2. INSIEMI COMPATTI E DISTANZA DI HAUSDORFF variare di x in K si ottiene d(K, H) ≤ ε, come volevasi dimostrare. La tesi si dimostra allora facilmente, osservando che d(K, H) ≤ ε , K ⊆ H + ε, h(K, H) ≤ ε ⇐⇒ ⇐⇒ d(H, K) ≤ ε , H ⊆ K + ε. Osservazione 2.18. Grazie al Lemma precedente, possiamo definire in maniera equivalente la distanza di Hausdorff tra due insiemi compatti nel seguente modo: h(H, K) = min{ε ≥ 0 : K ⊆ H + ε e H ⊆ K + ε} . Usando le dilatazioni, possiamo dimostrare in maniera semplice una delle proprietà di h. Lemma 2.19. Sia (X, d) uno spazio metrico, e siano H, K, I e J in K(X). Allora h(H ∪ K, I ∪ J) ≤ max{h(H, I), h(K, J)} . Dimostrazione. Sia δ = max{h(H, I), h(K, J)}. Siccome h(H, I) ≤ δ e h(K, J) ≤ δ, si ha per il Lemma 2.17 che H ⊆ I + δ e K ⊆ J + δ. Pertanto, H ∪ K ⊆ (I + δ) ∪ (J + δ), cosicché grazie al Lemma 2.16 si ha H ∪ K ⊆ (I ∪ J) + δ . Scambiando H e K con I e J si ha I ∪ J ⊆ (H ∪ K) + δ, e quindi, sempre per il Lemma 2.17, h(H ∪ K, I ∪ J) ≤ δ, ovvero la tesi. Il prossimo risultato ci sarà utile nel seguito. Lemma 2.20. Sia {Kn } una successione in (K(X), h), convergente a K, e supponiamo che A in K(K) sia tale che A ⊆ Kn per ogni n maggiore di un certo n0 in N. Allora A ⊆ K. Dimostrazione. Sia ε > 0, e sia nε in N tale che h(Kn , K) < ε per ogni n maggiore di nε . Per il Lemma 2.17 si ha allora che Kn ⊆ K + ε per tali n. Essendo A contenuto in Kn per n ≥ n0 , scegliendo n sufficiemente grande abbiamo A ⊆ K +ε. Pertanto, se x è in A, si ha d(x, K) ≤ ε. Per l’arbitrarietà di ε si ha d(x, K) = 0, e quindi x appartiene a K (ricordando che d(x, K) è un minimo). 3. Completezza di (K(X), h) Sia (X, d) spazio metrico, e sia {Kn } una successione di compatti in K(X). La successione {Kn } è di Cauchy se, per ogni ε > 0, esiste nε in N tale che per ogni n e m maggiori di nε si ha Kn ⊆ Km + ε , h(Kn , Km ) < ε ⇐⇒ Km ⊆ Kn + ε . 3. COMPLETEZZA DI (K(X), h) 27 Sia ora {xn } una successione di X, con la proprietà che xn appartiene a Kn per ogni n in N. Ovviamente, dall’essere {Kn } di Cauchy in K(X) non discende che {xn } è di Cauchy in X: si pensi al caso in cui Kn = [−2, 2] per ogni n in N, e xn = (−1)n . Supponiamo ora di avere una successione {xnk } di Cauchy, con {nk } successione strettamente crescente di interi, tale che xnk in Knk per ogni k: possiamo “estendere” questa successione ad una successione {x̃n }, che sia ancora di Cauchy e sia tale che x̃nk = xnk per ogni k e che x̃n appartiene a Kn per ogni n? La risposta è positiva, ed è data dal seguente lemma. Lemma 2.21. Sia (X, d) uno spazio metrico, e sia {Kn } una successione di Cauchy in (K(X), h). Data una successione strettamente crescente di interi {nk }, e data una successione {xnk } di Cauchy in (X, d) e tale che xnk appartiene a Knk per ogni k in N, esiste una successione {x̃n } di Cauchy in (X, d), con la proprietà che x̃n appartiene a Kn per ogni n in N, e che x̃nk = xnk per ogni k in N. Dimostrazione. Per ogni n < n1 , sia x̃n in An tale che d(xn1 , x̃n ) = min{d(x, xn1 ), x ∈ An } = d(xn1 , An ) . Scegliamo poi x̃n1 = xn1 e, per n compreso tra n1 + 1 e n2 − 1, sia x̃n in An tale che d(xn2 , x̃n ) = min{d(x, xn2 ), x ∈ An } = d(xn2 , An ) . In generale, scegliamo x̃nk = xnk , e, per n compreso tra nk + 1 e nk+1 − 1, scegliamo x̃n in An tale che d(xnk+1 , x̃n ) = min{d(x, xnk+1 ), x ∈ An } = d(xnk+1 , An ) . K2 K5 x̃2 K1 x̃1 Kn1 xn1 K6 x̃5 Kn2 x̃7 x̃3 K3 xn2 x̃6 K7 La scelta della successione {x̃n } Ovviamente la successione cosı̀ costruita coincide con {xnk } per ogni k in N, ed è tale che x̃n appartiene a An per ogni n in N, cosicché non resta che 28 2. INSIEMI COMPATTI E DISTANZA DI HAUSDORFF dimostrare che è di Cauchy in (X, d). Sia ε > 0, e sia nε tale che ε nk , nh ≥ nε ⇒ d(xnk , xnh ) < , 3 e ε n, m ≥ nε ⇒ h(An , Am ) < . 3 Un tale nε esiste perché la successione {xnk } è di Cauchy in (X, d), e perché la successione {An } è di Cauchy in (K(X), h). Siano ora m e n maggiori di nε , con m compreso tra nk−1 + 1 e nk , e n compreso tra nh−1 + 1 e nh . Allora (2.5) d(x̃n , x̃m ) ≤ d(x̃n , xnh ) + d(xnh , xnk ) + d(xnk , x̃m ) . Ora, dal momento che h(An , Anh ) < 3ε , si ha d(Anh , An ) < 3ε , e quindi ε d(x, An ) < , ∀x ∈ Anh . 3 Scegliendo x = xnh , otteniamo d(xnh , An ) < 3ε . Per definizione di x̃n (che è un punto di An che realizza il minimo in d(xnh , An )), si ha d(xnh , x̃n ) < 3ε . Un discorso analogo dimostra che d(xnk , x̃m ) < 3ε . Ricordando che d(xnh , xnk ) < 3ε per ipotesi, ed usando la (2.5), si ha d(x̃n , x̃m ) < ε, e quindi la tesi. Siamo pronti per dimostrare il teorema fondamentale. Teorema 2.22. Sia (X, d) uno spazio metrico completo. Allora (K(X), h) è uno spazio metrico completo. Inoltre, se {Kn } è una successione di Cauchy in (K(X), h), allora l’insieme K = lim Kn , n→+∞ è cosı̀ caratterizzato: K = {x ∈ X : esiste una successione {xn ∈ Kn } che converge a x} . Dimostrazione. La dimostrazione è divisa in cinque passi: se K è l’insieme definito nell’enunciato del teorema, allora a) K è non vuoto; b) K è chiuso (e quindi (K, d) è uno spazio metrico completo); c) Per ogni ε > 0 esiste nε in N tale che K ⊆ An + ε per ogni n ≥ nε ; d) K è totalmente limitato (e quindi, per b), è compatto); e) Kn converge a K nella metrica di Hausdorff h. a) Dal momento che {Kn } è di Cauchy in (K(X), h), per ogni ε > 0 esiste nε in N tale che h(Kn , Km ) ≤ ε per ogni n e m maggiori di nε . Detto, per k in N, εk = 21k , sia nk = nεk ; ovviamente, non è restrittivo supporre che {nk } sia strettamente crescente. Sia xn1 appartenente a Kn1 ; dal momento che h(Kn1 , Kn2 ) < 12 , esiste xn2 in Kn2 tale che d(xn1 , xn2 ) < 12 . Infatti, 1 1 1 h(Kn1 , Kn2 ) < ⇒ d(Kn1 , Kn2 ) < ⇒ d(xn1 , Kn2 ) < , 2 2 2 3. COMPLETEZZA DI (K(X), h) 29 e quindi d(xn1 , xn2 ) < 21 , scegliendo xn2 in Kn2 che realizza il minimo. Supponiamo ora di aver scelto xn1 , xn2 , . . ., xnk−1 , con la proprietà che xnj appartiene a Knj , e che 1 d(xnj−1 , xnj ) ≤ j−1 . 2 1 , con lo stesso ragionamento di prima Allora, essendo h(Knk−1 , Knk ) < 2k−1 1 possiamo trovare xnk in Knk tale che d(xnk−1 , xnk ) < 2k−1 . In questa maniera costruiamo una successione {xnk }, al variare di k in N, con la proprietà che xnk appartiene a Knk , e che 1 d(xnk−1 , xnk ) < k−1 . 2 Dimostriamo ora che la successione {xnk } è di Cauchy in (X, d). Se h > k, si ha infatti, per la disuguaglianza triangolare, d(xnk , xnh ) ≤ h X h X d(xnj−1 , xnj ) ≤ j=k+1 j=k+1 1 2j−1 1 1 1 1 − 2h−k 1 = k−1 − h−1 , = k 1 2 1− 2 2 2 e quindi {xnk } è di Cauchy in (X, d) perché lo è in (R, | · |) la successione 1 { 2k−1 } (dato che converge a zero). A questo punto applichiamo il Lemma 2.21, e costruiamo una successione {x̃n }, di Cauchy in (X, d), con la proprietà che x̃n appartiene a Kn per ogni n in N. Essendo (X, d) completo per ipotesi, {xn } converge in (X, d) ad x0 , che appartiene a K per definizione. Pertanto, K è non vuoto, come volevasi dimostrare. b) Sia {xn } una successione contenuta in K, convergente in (X, d) ad un punto x0 . Vogliamo dimostrare che x0 appartiene a K, cosicché K sarà chiuso per il Teorema 1.11. Per definizione di K, per ogni n in N esiste una successione (n) (n) {yj }, con ym in Km per ogni m, convergente a xn . La convergenza di xn a x0 implica che esiste una successione crescente {ni } di numeri interi tale che 1 d(xni , x0 ) < , i (n) mentre la convergenza di {ym } a xn implica che esiste una sottosuccessione {mi } tale che 1 (ni ) d(ym , xni ) < . i i Usando la disuguaglianza triangolare e le ultime due disuguaglianze, abbiamo che 2 (ni ) d(ym , x0 ) < , i i e quindi (ni ) lim ym = x0 . i i→+∞ 30 2. INSIEMI COMPATTI E DISTANZA DI HAUSDORFF (n ) Consideriamo ora la successione {ymii } al variare di i. Ovviamente è di Cauchy (n ) (dato che converge), e si ha — per definizione — ymii in Kni per ogni i. Per il Lemma 2.21, esiste una successione di Cauchy {ỹn } che “estende” la (n ) successione {ymii }, con la proprietà che ỹn appartiene a Kn per ogni n. Dal momento che {ỹn } converge in (X, d) (essendo di Cauchy in uno spazio metrico (n ) completo), e che la sua sottosuccessione {ymii } converge a x0 , si ha che {ỹn } converge a x0 , che quindi — per definizione di K — appartiene a K. c) Sia ε > 0, e sia nε in N tale che h(Kn , Km ) < ε per ogni n e m maggiori di nε , cosicché d(Kn , Km ) < ε per gli stessi n e m, e quindi (per il Lemma 2.17) Km ⊆ Kn + ε. Vogliamo dimostrare che K ⊆ Kn + ε. Sia allora x0 in K, sia {xn ∈ Kn } una successione che converge a x0 in (X, d), e supponiamo che nε sia anche tale che m ≥ nε implica d(xm , x0 ) < ε. Essendo xm in Km , ed essendo Km contenuto in Kn + ε, si ha che xm appartiene a Kn + ε per ogni m ≥ nε . Dal momento che Kn + ε è chiuso (per il Lemma 2.15), il limite della successione {xm } appartiene a Kn + ε, e quindi x0 è in Kn + ε, come volevasi dimostrare. d) Supponiamo per assurdo che K non sia totalmente limitato. Pertanto, esiste ε > 0 ed una successione {xn } contenuta in K tale che d(xn , xm ) ≥ ε per ogni n 6= m in N. Per il punto c), esiste n sufficientemente grande tale che K ⊆ Kn + 3ε , cosicché per ogni n esiste un punto yn in Kn tale che d(xn , yn ) < 3ε . Essendo Kn compatto, e {yn } contenuta in Kn , esiste una sottosuccessione {yni } convergente, e quindi di Cauchy. Pertanto, se i e j sono sufficientemente grandi, si ha d(yni , ynj ) < 3ε . Ma allora, per la disuguaglianza triangolare, e per la scelta di {xn }, ε ≤ d(xni , xnj ) ≤ d(xni , yni ) + d(yni , ynj ) + d(ynj , xnj ) < ε , che è assurdo. Mettendo insieme il punto b) e il risultato appena trovato con il Teorema 2.4, si ha che K appartiene a K(X). e) Usando c) ed il Lemma 2.17, per far vedere che {Kn } converge a K in (K(X), h) è sufficiente far vedere che per ogni ε > 0 esiste nε in N tale che Kn ⊆ K + ε per ogni n maggiore di nε . Sia allora ε > 0, e sia nε in N tale che h(Kn , Km ) < 2ε per ogni n e m maggiori di nε . Dal Lemma 2.17 segue allora che Km ⊆ Kn + 2ε per tali n e m. Sia ora n fissato e maggiore di nε e sia {nj } una successione strettamente crescente di interi, con n1 > n, tale che Knj−1 ⊆ Knj + 2εj per ogni j. Una tale successione si può costruire usando il fatto che {Kn } è di Cauchy in (K(X), h) ed il Lemma 2.17. Essendo n1 > n, e n > nε , si ha h(Kn , Kn1 ) < 2ε , e quindi Kn ⊆ Kn1 + 2ε (sempre per il Lemma 2.17). Sia ora y in Kn ; siccome y appartiene a Kn1 + 2ε , esiste xn1 in Kn1 tale che d(xn1 , y) < 2ε . Siccome Kn1 ⊆ Kn2 + 2ε2 , esiste xn2 in Kn2 tale che d(xn1 , xn2 ) < 2ε2 . Proseguendo, esiste una successione {xnj }, con xnj 3. COMPLETEZZA DI (K(X), h) 31 in Knj , tale che d(xnj−1 , xnj ) < 2εj per ogni j in N. Usando ripetutamente la disuguaglianza triangolare come in a), si ha che d(y, xnj ) < ε per ogni j in N, e che {xnj } è di Cauchy in (X, d). Per il Lemma 2.21, esiste una successione {x̃n }, di Cauchy in (X, d), che estende {xnj } e tale che x̃n appartiene a Kn per ogni n. Essendo {x̃n } di Cauchy, converge in (X, d) ad un punto x0 che, per definizione, appartiene a K. D’altra parte, siccome {xnj } converge anch’essa a x0 , dalla disuguaglianza d(y, xnj ) < ε, e dall’Esercizio 1.15, segue che d(y, x0 ) ≤ ε, cosicché y appartiene a K + ε. Abbiamo cosı̀ dimostrato, come volevamo, che se n ≥ nε , allora Kn ⊆ K + ε. Osservazione 2.23. Si noti che dal momento che (K(X), h) è completo per il Teorema precedente, le successioni di Cauchy sono tutte e sole quelle convergenti. Ne segue che se {Kn } è una successione di compatti convergente a K, allora vale per K la caratterizzazione data dal Teorema: è l’insieme che contiene tutti i limiti di tutte le successioni {xn ∈ Kn } convergenti. CAPITOLO 3 Sistemi di funzioni iterate Dopo aver posto le basi teoriche nei precedenti capitoli, introdurremo (mediante numerosi esempi) il concetto di sistema di funzioni iterate e di attrattore di un sistema di funzioni iterate; dimostreremo il teorema del Collage, che ci darà la possibilità, dato un insieme compatto, di costruire il sistema di funzioni iterate che lo genera (o che lo approssima) come attrattore. 1. Da funzioni su X a funzioni su K(X) Sia (X, d) uno spazio metrico, e sia f : X → X una funzione continua. Per il Teorema 2.5, se K appartiene a K(X), allora f (K) appartiene a K(X). In altre parole, una funzione f continua da X in X genera una funzione F da K(X) in sé definita da F : K(X) → K(X) K 7→ f (K) Quali proprietà della funzione f “eredita” la funzione F ? Teorema 3.1. Sia (X, d) uno spazio metrico, e sia f : X → X una funzione lipschitziana di costante di lipschitz L. Allora la funzione F da K(X) in sé definita da F (K) = f (K) è lipschitziana da (K(X), h) in sé, con costante di lipschitz L. Dimostrazione. Essendo f lispchitziana, si ha d(f (x), f (y)) ≤ L d(x, y) , ∀x, y ∈ X . Siano ora K e H in K(X); iniziamo col dare una stima su d(f (K), f (H)). Per definizione, d(f (K), f (H)) = max min d(z, w) . z∈f (K) w∈f (H) Dal momento che per ogni z in f (K) esiste x in K tale che z = f (x), e per ogni w in f (H) esiste y in H tale che w = f (y), possiamo riscrivere, usando il fatto che f è lipschitziana, d(f (K), f (H)) = max min d(f (x), f (y)) ≤ max min L d(x, y) = L d(K, H) . x∈K y∈H x∈K y∈H Invertendo il ruolo di K e H si ottiene d(f (H), f (K)) ≤ L d(H, K) e quindi h(f (K), f (H)) ≤ L h(K, H) , 33 34 3. SISTEMI DI FUNZIONI ITERATE come volevasi dimostrare. Se, oltre ad essere lipschitziana, la funzione f è anche una contrazione, allora anche la funzione F è una contrazione. Se (X, d) è completo, anche (K(X), h) lo è (per il Teorema 2.22) e quindi ha un unico “compatto fisso” (per il Teorema 1.26). Ovviamente, dato che anche f ha un unico punto fisso x, è chiaro che il compatto invariante è l’insieme {x0 }. Ed infatti, se partiamo da un qualsiasi insieme K0 e definiamo per ricorrenza Kn = F (n) (K0 ), allora Kn contiene le iterate n-sime (tramite f ) dei punti di K0 . Dal momento che ognuna delle iterate n-sime converge a x0 (si veda la dimostrazione del Teorema 1.26, o l’Osservazione 1.27), l’insieme limite di Kn nella metrica di Hausdorff (che, sempre per la dimostrazione del Teorema 1.26, sappiamo essere l’insieme invariante) è proprio {x0 } (essendo l’insieme costituito dall’unico limite di successioni {xn ∈ Kn }, si veda la dimostrazione del Teorema 2.22). In definitiva, partendo da una contrazione non si “guadagna” molto passando da X a K(X). Supponiamo ora di avere non una, ma m contrazioni f1 , . . ., fm di fattori di contrazione L1 , . . ., Lm rispettivamente. Dato che l’unione di un numero finito di compatti è ancora un compatto, possiamo definire un’applicazione F da K(X) in sé nel modo seguente: (3.1) F : K(X) → K(X) m [ K 7→ Fi (K) , i=1 dove Fi è la contrazione (di fattore contrattivo Li ) da K(X) in sé definita da Fi (K) = fi (K) per ogni K in K(X). Teorema 3.2. Sia (X, d) uno spazio metrico, e siano f1 , . . ., fm contrazioni di X in sé di fattori di contrazione L1 , . . ., Lm . Allora la funzione F definita da (3.1) è una contrazione di K(X) in sé, di fattore di contrazione L = max{L1 , . . . , Lm } < 1 . Dimostrazione. Siano H e K in K(X). Usando più volte il Lemma 2.19 abbiamo [ m m [ h(F (H), F (K)) = h Fi (H), Fj (K) ≤ max {h(Fi (H), Fi (K))} . i=1 1≤i≤m j=1 Ricordando che le Fi sono contrazioni di fattore contrattivo Li si ha dunque h(F (H), F (K)) ≤ max {Li h(H, K)} = max Li h(H, K) = L h(H, K) , 1≤i≤m come volevasi dimostrare. 1≤i≤m 1. DA FUNZIONI SU X A FUNZIONI SU K(X) 35 Se (X, d) è uno spazio metrico completo, e {fi }1≤i≤m sono contrazioni da X in sé, allora F , definita in (3.1) è una contrazione e quindi, per il Teorema 1.26 ha un unico compatto invariante K, che può essere ottenuto come limite (nella metrica di Hausdorff), della successione {Kn = F (n) (K0 )} ottenuta iterando F a partire da un compatto qualsiasi K0 . È facile vedere che se xi è l’unico punto fisso di fi , allora {x1 , . . . , xm } è contenuto in K. Infatti, se consideriamo (n) K0 = {xj }, per qualche j tra 1 e m, allora, dato che fj (xj ) = xj per ogni j, xj ∈ m [ {fi (xj )} = F (K0 ) = K1 , i=1 xj ∈ m [ (2) {fi (xj )} ⊆ F (K1 ) = K2 , i=1 ed in generale xj ∈ m [ (n) {fi (xj )} ⊆ F (Kn−1 ) = Kn . i=1 Siccome la successione costante {xn = xj } è tale che xn appartiene a Kn per ogni n, e converge a xj , dalla caratterizzazione di K come limite dei Kn , si ha che xj appartiene a K, qualsiasi sia j tra 1 ed m. L’osservazione fondamentale è la seguente: è vero che nell’insieme invariante ci sono tutti i punti fissi delle m contrazioni, ma non solo. L’insieme K può essere, in generale, molto più ricco, come mostra il seguente esempio. Esempio 3.3. Sia (X, d) = (R2 , d2 ), e siano f1 : R2 → R2 e f2 : R2 → R2 definite da f1 (x, y) = ( x2 , y2 ) , f2 (x, y) = f1 (x, y) + ( 21 , 12 ) . È facile vedere che f1 e f2 sono contrazioni di fattore L1 = 21 = L2 , cosı̀ come è facile vedere che (0, 0) e (1, 1) sono i punti fissi di f1 e f2 (non c’è bisogno di iterare, basta calcolare!). Definita F da K(R2 ) in sé come F (K) = F1 (K) ∪ F2 (K) , sappiamo che F è una contrazione di fattore contrattivo L = 12 . Essendo (R2 , d2 ) completo, anche (K(R2 ), h) lo è, e quindi F ha un unico compatto invariante K, che contiene sia (0, 0) che (1, 1). Consideriamo ora l’insieme compatto D = {(x, y) ∈ R2 : 0 ≤ y = x ≤ 1} , o, in altre parole, la diagonale che congiunge (0, 0) con (1, 1) nel quadrato [0, 1] × [0, 1]. Ovviamente, F1 (D) = D1 = {(x, y) ∈ R2 : 0 ≤ y = x ≤ 21 } , e F2 (D) = D2 = {(x, y) ∈ R2 : 1 2 ≤ y = x ≤ 1} , 36 3. SISTEMI DI FUNZIONI ITERATE cosicché F (D) = F1 (D) ∪ F2 (D) = D . Iterando F a partire da K0 = D, si ha pertanto Kn = F (n) (D) = D per ogni n, e quindi K = D. In altre parole, il compatto invariante per F non si limita ai due punti (0, 0) e (1, 1), ma è tutta la diagonale D: un insieme ben più “ricco” dell’unione dei due punti. D’altra parte, che l’insieme invariante fosse la diagonale del quadrato poteva essere anche dedotto “visivamente” disegnando sovrapposte le prime sei iterate di Q = [0, 1] × [0, 1] tramite F . Alcune iterate di Q sotto l’azione di F . Nel disegno sono rappresentate in rosso le immagini di Q tramite f1 , ed in blu le immagini di Q tramite f2 . Perché non è solo la coppia di punti (0, 0) e (1, 1) l’insieme invariante, ma è la diagonale? Proviamo a vedere cosa accade se prendiamo K0 = {(0, 0)}. È vero che F1 (K0 ) = K0 (l’origine non si muove), ma F2 (K0 ) = {( 21 , 12 )}, cosicché K1 = F (1) (K0 ) = {(0, 0), 21 , 12 } , che ha “un punto in più” rispetto a K0 . Continuando, e calcolando le immagini dei due punti tramite f1 e f2 , si ha K2 = F (2) (K0 ) = {(0, 0), 14 , 41 , 21 , 12 , 34 , 34 } , e, continuando, Kn = F (n) (K0 ) = k , k 2n 2n , k = 0, . . . , 2n − 1 . 1. DA FUNZIONI SU X A FUNZIONI SU K(X) 37 Dal momento che ogni x in [0, 1) si può espandere in forma binaria come x= +∞ X ak (x) , k 2 k=1 con ak in {0, 1} per ogni k, e non definitivamente uguale a 1, se definiamo n X ak (x) kn (x) xn = = , k 2 2n k=1 allora kn (x) è un intero compreso tra 0 e 2n − 1, e quindi (xn , xn ) appartiene a Kn per ogni n. Poiché {(xn , xn )} converge a (x, x), tale punto appartiene all’insieme invariante K per il Teorema 2.22. In altre parole, siccome consideriamo due funzioni, è vero che una delle due lascia invariato un punto, ma l’altra ne aggiunge di nuovi, che poi l’azione combinata delle due funzioni provvede a “moltiplicare” in numero, fino a “riempire” la diagonale. Un altro modo di “recuperare” la diagonale del quadrato è il seguente: partiamo da (x0 , y0 ) = (0, 0), disegniamo il punto (x0 , y0 ) e lanciamo una moneta: se esce testa, definiamo (x1 , y1 ) = f1 (x0 , y0 ), mentre se esce croce definiamo (x1 , y1 ) = f2 (x0 , y0 ); disegniamo (x1 , y1 ) e, nuovamente, lanciamo una moneta, usando f1 o f2 per definire (x2 , y2 ) a seconda se esca testa o croce. Ripetendo l’operazione, dopo un numero abbastanza elevato di lanci avremo un’approssimazione dell’insieme invariante K (il perché ciò sia vero sarà spiegato rigorosamente in seguito). Ad esempio, se lanciamo duecento volte la moneta, abbiamo La diagonale approssimata da 200 scelte casuali di f1 ed f2 38 3. SISTEMI DI FUNZIONI ITERATE Nel disegno, sono colorati in rosso i punti ottenuti scegliendo f1 , e in blu quelli ottenuti scegliendo f2 . Si noti la differenza con il disegno precedente, dove in rosso erano rappresentate le immagini del quadrato Q = [0, 1] × [0, 1] tramite f1 , ed in blu le immagini di Q tramite f2 . Esempio 3.4. Adesso complichiamo (o miglioriamo. . .) le cose: invece di considerare due contrazioni, ne consideriamo tre. Siano allora f1 (x, y) = ( x2 , y2 ) , f2 (x, y) = f1 (x, y) + ( 21 , 12 ) , f3 (x, y) = f1 (x, y) + ( 21 , 0) . La funzione F da K(R2 ) in sé definita da F (K) = 3 [ Fi (K) , i=1 è una contrazione di fattore L = 12 , e possiede quindi un compatto invariante K. In K troviamo i tre punti fissi delle tre contrazioni che definiscono F , vale a dire (0, 0), (1, 1) e ( 12 , 0). Come nel caso precedente, la situazione è però molto più complessa. Ad esempio, la diagonale D del quadrato è sicuramente contenuta in K, dato che, definendo D1 e D2 come prima, si ha F (D) = F1 (D) ∪ F2 (D) ∪ F3 (D) = D1 ∪ D2 ∪ D3 = D ∪ D3 , dove D3 = {(x, y) ∈ R2 : 0 ≤ y = x − 1 2 ≤ 12 } . Pertanto, D ⊂ F (D) = F (1) (D), da cui segue D ⊂ F (n) (D) per ogni n. Per il Lemma 2.20, D è un sottoinsieme dell’insieme invariante K. Non si ha, però, D = K. Infatti, essendo F 1 (D) = D ∪ D3 , abbiamo F (2) (D) = F (F (1) (D)) = F (D ∪ D3 ) = D ∪ D3 ∪ F (D3 ) , da cui F (3) (D) = F (F (2) (D)) = F (D ∪ D3 ∪ F (D3 )) = D ∪ D3 ∪ F (D3 ) ∪ F (2) (D3 ) , e, iterando, F (n) (D) = D ∪ D3 ∪ n−1 [ F (i) (D3 ) . i=1 (n) Pertanto, D3 è contenuto in F (D) per ogni n maggiore di 1, e quindi D3 è contenuto in K; ed anche F (D3 ) è contenuto in F (n) (D) per ogni n ≥ 2, e quindi è in K; ed anche F (2) (D3 ) . . . Se ci facciamo aiutare dal caso, e scegliamo f1 , f2 o f3 a seconda se otteniamo {1, 2}, {3, 4} o {5, 6} lanciando un dado (volendo, si può ricorrere ad una moneta da 3D, che come è noto ha altrettante facce), otteniamo la figura seguente: 1. DA FUNZIONI SU X A FUNZIONI SU K(X) 39 L’insieme K approssimato da 500 scelte casuali di f1 , f2 e f3 Disegnando un po’ meglio, ovvero disegnando F (6) ( ), dove rettangolo di vertici (0, 0), (1, 0) e (1, 1), troviamo: F (6) ( ) è il triangolo 40 3. SISTEMI DI FUNZIONI ITERATE L’insieme K limite (della cui complessità la figura qui sopra è solo una pallida imitazione) viene detto triangolo di Sierpinski. Da ora in poi, invece di chiamarlo K, lo chiameremo . Una versione “più ordinata” del triangolo di Sierpinski è l’insieme , ottenuto come insieme invariante delle tre contrazioni f1 (x, y) = ( x2 , y2 ) , f2 (x, y) = f1 (x, y) + ( 12 , √ 3 ), 2 f3 (x, y) = f1 (x, y) + (1, 0) , √ a partire dal triangolo equilatero di vertici (0, 0), (1, 0) e ( 12 , 23 ). Ecco il disegno della quinta iterata, colorando in rosso l’immagine di tramite f1 , in blu l’immagine di tramite f2 , ed in verde l’immagine di tramite f3 . F (5) ( ) Esempio 3.5. A questo punto, complichiamo ulteriormente la faccenda aggiungendo una quarta trasformazione: f1 (x, y) = ( x2 , y2 ) , f2 (x, y) = f1 (x, y) + ( 21 , 12 ) , f3 (x, y) = f1 (x, y) + ( 21 , 0) , f4 (x, y) = f1 (x, y) + (0, 21 ) . Come al solito, facciamo partire la macchina dell’iterazione casuale, questa volta usando un dado da 4 (questi esistono!), e lanciandolo 1000 volte: 2. SISTEMI DI FUNZIONI ITERATE 41 L’insieme K approssimato da 1000 scelte casuali di f1 , f2 , f3 e f4 Che cosa succede? Perché non si forma un insieme “bello”, ma solo un banalissimo quadrato? La risposta è semplice: se chiamiamo Q il quadrato [0, 1] × [0, 1], allora F1 (Q) = [0, 21 ] × [0, 12 ] , F2 (Q) = [ 12 , 1] × [ 21 , 1] , F3 (Q) = [ 12 , 1] × [0, 12 ] , F4 (Q) = [0, 21 ] × [ 12 , 1] , e quindi F (1) (Q) = Q! In altre parole, Q è l’insieme invariante di F : aggiungendo una contrazione in più, abbiamo “distrutto” la complessità di , e siamo ripiombati nella monotonia delle figure geometriche a noi note. Dopo tanti esempi, è venuto il momento di dare un po’ di rigorosità a quello che abbiamo fatto. 2. Sistemi di funzioni iterate Definizione 3.6. Sia (X, d) uno spazio metrico completo. Un sistema di funzioni iterate (detto anche IFS, iterated function system) su X è un insieme F = {f1 , . . . , fm } di contrazioni definite su X. Dato un sistema di 42 3. SISTEMI DI FUNZIONI ITERATE funzioni iterate, e definita F da K(X) in sé come F (K) = m [ Fi (K) , i=1 l’insieme invariante K di F viene detto attrattore del sistema di funzioni iterate. Pertanto, è l’attrattore del sistema di funzioni iterate definito da f1 (x, y) = ( x2 , y2 ) , f2 (x, y) = f1 (x, y) + ( 12 , √ 3 ), 2 f3 (x, y) = f1 (x, y) + (1, 0) , mentre la diagonale del quadrato Q = [0, 1] × [0, 1] è l’attrattore dell’IFS definito da f1 (x, y) = ( x2 , y2 ) , f2 (x, y) = f1 (x, y) + ( 21 , 12 ) . Cambiando le contrazioni, cambia l’attrattore, e chiaramente si perdono le proprietà di simmetria di oggetti come la diagonale, o : ad esempio, se consideriamo le quattro contrazioni 1 1 x−y −5x − 2y + 3 f1 (x, y) = , f2 (x, y) = , 7y + 4 10 5x + 3y 10 1 1 6x − 2 x − 7y + 9 , f4 (x, y) = , f3 (x, y) = 10 −3x − 4y + 6 10 x + 2y − 3 e iteriamo cinque volte a partire dal quadrato unitario, troviamo F (5) ( ) che è meno gradevole a vedersi di . La cosa interessante è che le quattro “parti”, colorate in rosso, blu, verde e ciano, sono ottenibili una dall’altra tramite una trasformazione rigida. In altre parole, l’insieme K è unione di quattro parti diverse (nel caso di le tre parti erano uguali a meno di traslazioni) ognuna delle quali può essere trasformata nell’altra mediante un movimento rigido del piano. 3. IL TEOREMA DEL COLLAGE 43 – Esercizio 3.7. Sapreste scrivere esplicitamente la trasformazione che porta la parte ciano nella parte blu? Definizione 3.8. Un insieme K in K(X) si dice autosimilare se esistono m trasformazioni f1 , . . ., fm di X in sé tali che K = f1 (K) ∪ . . . ∪ fm (K) . Chiaramente ogni attrattore di un IFS è, per definizione, un insieme autosimilare. 3. Il teorema del collage Supponiamo ora di aver sognato un oggetto meraviglioso: una scacchiera quattro per quattro, in cui ogni casella nera era — a sua volta — fatta da una scacchiera quattro per quattro, in cui ogni casella nera era — a sua volta — fatta da una scacchiera. . .. Risvegliatici da sonni agitati, e forti della definizione di autosimilarità, ci siamo resi conto di aver sognato un insieme autosimilare, uguale all’unione di otto copie ridotte di se stesso, disposte simmetricamente “a scacchiera”. Pensiamo (crediamo, o speriamo) di aver sognato l’attrattore di un IFS. Già, ma di quale? Quali e quante sono le contrazioni che l’hanno creato (ammesso che l’abbiano creato!)? Abbiamo sotto mano il disegno che — ancora semiaddormentati — abbiamo buttato giù in fretta e furia: Sarà sufficiente scrivere le otto contrazioni che prendono il quadrato unitario Q = [0, 1] × [0, 1] e lo “riducono” negli otto quadratini che formano il primo livello della scacchiera? Armati di carta e penna, scriviamo le otto funzioni f1 (x, y) = ( x4 , y4 ) , f2 (x, y) = f1 (x, y) + ( 21 , 0) , f3 (x, y) = f1 (x, y) + ( 41 , 14 ) , f4 (x, y) = f1 (x, y) + ( 43 , 14 ) , f5 (x, y) = f1 (x, y) + (0, 12 ) , f7 (x, y) = f1 (x, y) + ( 21 , 12 ) , f6 (x, y) = f1 (x, y) + ( 41 , 32 ) , f8 (x, y) = f1 (x, y) + ( 43 , 34 ) , 44 3. SISTEMI DI FUNZIONI ITERATE e vediamo cosa succede disegnando le prime quattro iterazioni del quadrato Q, ovvero F (4) ( ): F (4) ( ) Ha funzionato! Siamo contenti, ma ci viene un dubbio: abbiamo solo disegnato alcune delle iterazioni (le prime quattro), e sono “pochine” per sapere se abbiamo costruito le cose in maniera corretta. Avremmo bisogno di un risultato teorico che ci garantisca che quello che abbiamo fatto (la scacchiera che avevamo immaginato era uguale ad otto copie riscalate di se stessa; abbiamo scritto le otto contrazioni; il disegno che abbiamo ottenuto è una buona approssimazione dell’attrattore) ha senso. Teorema 3.9. Sia (X, d) uno spazio metrico completo, e sia assegnato F = {f1 , . . . , fm } un sistema di funzioni iterate su X di fattore di contrazione L < 1. Sia ε ≥ 0, e sia H in K(X) tale che h(F (H), H) < ε . Detto K l’attrattore di F, si ha allora h(K, H) < ε . 1−L Dimostrazione. È una semplice applicazione della dimostrazione del teorema delle contrazioni: partendo da K0 = H, e ripetendo la dimostrazione, 3. IL TEOREMA DEL COLLAGE 45 si ha h(Kn+1 , Kn ) ≤ Ln h(K1 , K0 ) = Ln h(F (H), H) < Ln ε , da cui h(Kn , H) ≤ n−1 X h(Kj+1 , Kj ) < j=0 n−1 X j=0 Lj ε = ε ε 1 − Ln < . 1−L 1−L Ricordando che Kn converge a K nella distanza h, e che la funzione h(·, H) è continua (per l’Esercizio 1.15), si ha la tesi passando al limite. Le applicazioni del teorema precedente (detto teorema del Collage) sono due. Se ε = 0, allora h(K, H) = 0, e quindi l’attrattore dell’IFS è proprio H – che sarà quindi ben approssimato dalle iterazioni dell’IFS a partire da qualsiasi insieme del piano. Ad esempio, consideriamo la cosiddetta curva di von Koch, che viene costruita nel modo seguente: dato il segmento [0, 1], si levi il terzo centrale e lo si sostituisca con due segmenti di lunghezza 13 che formino un triangolo equilatero. Si ripeta la procedura per ognuno dei quattro segmenti cosı̀ ottenuti, e cosı̀ via. La curva limite (simile ad un fiocco di neve) è la curva di von Koch. La procedura di costruzione della curva di von Koch È allora chiaro (dalla procedura), che la curva di von Koch è uguale all’unione (esatta) di quattro copie di se stessa, riscalate di un fattore un terzo. Due copie (la prima e l’ultima) sono traslate, mentre le altre due sono ruotate (di π e − π3 rispettivamente) e poi traslate. In simboli 3 f1 (x, y) = ( x3 , y3 ) , f2 (x, y) = ( x3 + 32 , y3 ) , e √ f3 (x, y) = ( x−6 3y + 13 , Partendo da K0 = zione della curva. √ 3x+y ), 6 √ √ f4 (x, y) = ( x+6 3y + 12 , − 3x+y 6 √ + 3 ) 6 , ed iterando sei volte, otteniamo una buona approssima- 46 3. SISTEMI DI FUNZIONI ITERATE Un’approssimazione della curva di Von Koch: F (6) ( ) Se nel teorema del Collage si ha ε > 0, e costruiamo un IFS ed un insieme H che è “vicino” (nel senso della distanza di Hausdorff) alla propria prima immagine tramite l’IFS, allora l’insieme H è una buona approssimazione dell’attrattore dell’IFS. Quest’ultima applicazione ci fornisce una ricetta per trovare un sistema di funzioni iterate che approssimi un insieme autosimilare non perfettamente “regolare” (come lo sono , o la scacchiera). Identifichiamo, anche approssimativamente, le parti autosimili, e scriviamo le contrazioni che portano tutto l’insieme nelle varie sotto-parti. Se in questa maniera “copriamo” quasi tutto l’insieme (a meno di una distanza di Hausdorff pari a ε), allora l’attrattore dell’IFS che abbiamo scritto, attrattore che sappiamo disegnare con un computer, approssima l’insieme autosimile da cui eravamo partiti. Ad esempio, supponiamo di voler disegnare la struttura dei rami un albero (bidimensionale. . .) come attrattore di un IFS. La struttura autosimilare è abbastanza evidente: dal tronco si dipartono (a diverse altezze e a diverse inclinazioni) rami verso destra e verso sinistra, ed ognuno dei due rami ha, a sua volta, dei rametti (a destra ed a sinistra), che hanno sotto-rametti, e cosı̀ via. Pertanto, ogni ramo è una copia in miniatura di tutto l’albero. 3. IL TEOREMA DEL COLLAGE 47 La struttura dei rami di un albero (più o meno. . .) Cosa notiamo dal disegno? Che il primo ramo di sinistra è lungo circa un terzo di tutto l’albero, è ruotato (rispetto al tronco) di circa sessanta, sessantacinque gradi, ed è traslato verso l’alto di un quinto dell’albero; che il primo ramo di destra è lungo circa un quarto di tutto l’albero, che è ruotato (rispetto al tronco) di meno quarantacinque gradi (o giù di lı̀), ed è traslato verso l’alto di circa un quarto dell’albero; ed infine che la parte di albero dai secondi rami in su è una copia ridotta di circa un quarto dell’albero, traslata verso l’alto di circa un terzo della lunghezza dell’albero. In definitiva, la situazione è questa: L’albero come unione di copie di se stesso Come si vede (un po’ barando, le immagini incollate sono opache. . .) le tre copie ridotte dell’albero lo ricoprono più o meno interamente: spuntano solo dei rametti qua e là: per il teorema del Collage, l’attrattore dell’IFS generato dalle tre contrazioni che abbiamo descritto è abbastanza vicino (nel senso della misura di Hausdorff) all’albero che abbiamo disegnato. Passando dalle parole ai numeri, e ricordando che la matrice che descrive una rotazione di un angolo θ (in senso antiorario) è data da cos(θ) −sen(θ) M= , sen(θ) cos(θ) e supponendo che l’albero sia alto 1, abbiamo √ 1/6 − 3/6 √ f1 (x, y) = 3/6 1/6 √ √ 2/8 √2/8 √ f2 (x, y) = − 2/8 2/8 x y x y + + 0 1/5 0 1/4 , , 48 3. SISTEMI DI FUNZIONI ITERATE e f3 (x, y) = 3/4 0 0 3/4 x y + 0 1/3 . Se proviamo a disegnare l’attrattore, otteniamo però un risultato non soddisfacente: F (5) ( ) Cosa manca? Mancano sia il tronco che i rami (la sostanza stessa dell’albero, insomma)! C’è però un problema: che tronco e rami, presi singolarmente, sono simili tra loro (un ramo è una versione ridotta del tronco), ma non sono simili all’albero. A meno che non si decida di prendere l’albero e schiacciarlo lungo la direzione dell’asse x, rendendolo “magrissimo”, e quindi simile ad un segmento (che possiamo pensare come schematizzazione di un tronco). Dobbiamo allora aggiungere una quarta contrazione: 1/1000 0 x 0 f4 (x, y) = + , 0 999/1000 y 0 che riduce le dimensioni un una sola direzione, lasciando l’altra (quasi) indisturbata. F (5) ( ) Un analogo risultato otteniamo se lanciamo 2500 volte un dado da quattro, scegliendo ogni volta quale delle quattro contrazioni applicare. 3. IL TEOREMA DEL COLLAGE 49 F (5) ( ) A questo punto, possiamo sbizzarrirci, ed introdurre dei parametri, come segue. εL θ σ L γL αL δL βL Dobbiamo quindi scrivere, oltre alla quarta contrazione che porta l’albero nel tronco, e che rimane invariata, le tre contrazioni (supponendo L = 1): α cos(θ) −α sen(θ) x 0 f1 (x, y) = + , α sen(θ) α cos(θ) y β f2 (x, y) = γ cos(σ) γ sen(σ) −γ sen(σ) γ cos(σ) x y + 0 δ , e f3 (x, y) = ε 0 0 ε x y + 0 1−ε , e poi provare diversi valori dei parametri α, β, γ, δ, ε, θ e σ. Se indichiamo con T (α, β, γ, δ, ε, θ, σ) è l’attrattore dell’IFS, ecco alcuni casi. 50 3. SISTEMI DI FUNZIONI ITERATE T ( 12 , 51 , 12 , 15 , 45 , π3 , π3 ) 3 4 π π , 5, 3 , 4 ) T ( 35 , 15 , 25 , 10 9 1 1 2 1 π π T ( 10 , 5, 5, 5, 2, 2 , 4 ) 4. SISTEMI DI FUNZIONI ITERATE CON PROBABILITà 51 4. Sistemi di funzioni iterate con probabilità Nelle pagine precedenti abbiamo visto due modi di “disegnare” l’attrattore dell’IFS: la prima approssimandolo con l’iterata n-sima di un sottoinsieme di R2 (ad esempio un quadrato, o un triangolo), la seconda partendo da un punto qualsiasi del piano, scegliendo casualmente una delle m contrazioni del sistema di funzioni iterato, calcolando l’immagine del punto tramite la contrazione scelta, e ripetendo questa operazione (a partire dal punto calcolato) per un numero sufficientemente elevato di volte. Mentre è chiaro dalla definizione stessa di attrattore K come limite delle iterate che il primo sistema “funziona”, non è immediatamente evidente perché funzioni il secondo metodo. Per le iterate n-sime abbiamo infatti immagini di insiemi “pieni” (come quadrati o triangoli), mentre il metodo probabilistico calcola immagini di punti (che tutto sono tranne che “pieni”). È vero però che — dal punto di vista della rappresentazione grafica al computer — dopo un certo numero di iterazioni i “punti” (pixel) dello schermo non sono meno “pieni” dell’immagine di un quadrato: se, ad esempio, prendiamo l’IFS che genera , e partiamo dal quadrato di lato 1, dopo n passaggi le immagini hanno lato 2−n , ed il quadrato è diventato poco più di un punto sullo schermo. E, viceversa, nei disegni “casuali” che abbiamo fatto, ogni punto era rappresentato da un cerchietto (“pieno”, dunque). Sistemato il problema della non differente dimensione tra quadrati e punti, rimane però da capire per quale motivo scegliendo in maniera casuale la contrazione da applicare ad ogni passo otteniamo un’approssimazione dell’attrattore. Ricordiamo che se {f1 , . . . , fm } è il sistema di funzioni iterate, l’attrattore K è ottenuto come limite delle iterazioni a partire da qualsiasi compatto K0 iniziale. Se, in particolare, scegliamo K0 = {x0 }, ovvero un punto, allora K1 è l’insieme delle immagini di x0 tramite le funzioni fi dell’IFS, K2 è l’insieme delle immagini di questi punti, e cosı̀ via. Se i punti sono tutti a due a due diversi, Kn sarà composto da mn punti, ognuno dei quali è della forma x = fjn ◦ fjn−1 ◦ · · · ◦ fj1 (x0 ) , con j1 , . . ., jn interi che variano tra 1 ed m. La successione {xn } di punti casuali che costruiamo scegliendo al passo n-simo una delle contrazioni fin e calcolando xn = fin (xn−1 ) (partendo da x0 ), ha quindi la proprietà che xn appartiene a Kn = F (n) ({x0 }). In altre parole, scegliamo casualmente uno degli mn punti che compongono Kn . Perché questa scelta va bene? Se rileggiamo la dimostrazione del Teorema delle contrazioni (si veda l’Osservazione 1.27, e la formula (1.1)), abbiaθn h(K1 , K0 ). mo (chiamando θ il fattore di contrazione di F ) h(Kn , K) ≤ 1−θ 52 3. SISTEMI DI FUNZIONI ITERATE Ricordando la definizione di distanza di Hausdorff, si ha allora θn h(K1 , K0 ) , 1−θ d(Kn , K) ≤ e quindi max{d(x, K), x ∈ Kn } ≤ θn h(K1 , K0 ) . 1−θ Essendo xn in Kn , si ha allora d(xn , K) ≤ θn h(K1 , K0 ) ; 1−θ siccome d(x, K) è un minimo, esiste yn in K tale che d(xn , yn ) ≤ θn h(K1 , K0 ) . 1−θ Se n è molto grande, abbiamo cosı̀ che il punto “casuale” xn è vicino ad almeno un punto di K, ed è talmente vicino da risultarne indistinguibile una volta che xn sia rappresentato da un computer, e quindi da un pixel o, come nel nostro caso, da un cerchietto. In sostanza, con la scelta “casuale” del punto da disegnare, anche se non stiamo disegnando esattamente i punti dell’attrattore K, li stiamo comunque approssimando “bene”. Ovviamente, abbiamo bisogno che la scelta della contrazione da applicare sia veramente “casuale” (vale a dire: se sono m contrazioni, su n iterazioni n ognuna deve essere scelta in media m volte). Se cosı̀ non è, rischiamo di non ottenere una rappresentazione dell’attrattore: se ad esempio scegliamo sempre la prima contrazione f1 , è chiaro che stiamo approssimando solo l’unico punto fisso di f1 . Quello che possiamo fare, però, è decidere che alcune contrazioni hanno maggiore probabilità di essere scelte. Ad esempio, per potremmo decidere di scegliere f1 due volte più spesso di f2 e di f3 . Una tale scelta porta evidentemente ad un aumento della densità dei punti iterati nella regione f1 (K), raddoppiandola rispetto a quella dei punti nelle regioni f2 (K) e f3 (K). Possiamo cosı̀ generare dei sistemi di funzioni iterate con probabilità, che sono della forma {(f1 , p1 ), . . . , (fm , pm )} con fi una contrazione per ogni i e m X pi = 1 . i=1 Scegliendo opportunamente i valori di delle proabilità, e colorando opportunamente i punti, si possono ottenere effetti di colore differenti sulle rappresentazioni al computer degli attrattori di IFS. 4. SISTEMI DI FUNZIONI ITERATE CON PROBABILITà Il triangolo di Sierpinski con p1 = 12 , p2 = 1 4 Il quadrato con densità p1 = 49 , p2 = 29 , p3 = Una felce e p3 = 2 9 53 1 4 e p4 = 1 9 CAPITOLO 4 Misura e dimensione di Hausdorff Che vuol dire “dimensione di un insieme”? Che cosa intendiamo quando diciamo che un segmento “ha dimensione uno”? O che un quadrato “ha dimensione due”? Intuitivamente, diciamo che un segmento ha dimensione uno perché ha solo la lunghezza, e non ha né larghezza, né la profondità. Analogamente, un quadrato ha dimensione due perché è lungo, largo, ma non “spesso”. Mentre, invece, un cubo ha tre dimensioni perché si “estende” in tre direzioni. La cosa che — forse — non si nota quando si dice che un segmento ha dimensione uno, è che non si dice dove “vive” il segmento. Per esempio, non si specifica se sia un sottoinsieme di R, o di R2 , o di RN con N qualsiasi. Un segmento ha dimensione uno sia se è [1, 1], sia se è [−1, 1] × {0}, sia se è [−1, 1] × {(0, . . . , 0). Analogamente, un quadrato ha dimensione due anche se “vive” in un piano di R3 , o in un iperpiano di RN , e cosı̀ un cubo ha dimensione tre anche se è in R4 , o in R5 . In altre parole, l’idea che abbiamo di “dimensione”, l’idea intuitiva di “dimensione”, fa sı̀ che essa sia una caratteristica “intrinseca” dell’oggetto che stiamo considerando, indipendentemente da “dove” lo stiamo considerando. Quello che faremo in seguito sarà di dare alcuni modi per calcolare — per ogni sottoinsieme di RN — un numero s (che potrà essere anche non intero) e che sarà indipendente dalla dimensione N dello spazio ambiente, ma dipenderà solo dall’insieme che stiamo considerando. 1. La misura di Hausdorff Da ora in poi lavoreremo nello spazio metrico (X, d) = (RN , d2 ), ovvero in RN dotato della metrica euclidea. Definizione 4.1. Sia A un sottoinsieme di RN . Il diametro di A è definito come diam(A) = sup{d2 (x, y), x, y ∈ A} . Si vede abbastanza facilmente che se diam(A) = r < +∞, allora A ⊂ Br (x0 ), qualsiasi sia x0 in A, e quindi A è limitato. Si vede altrettanto facilmente che se A = Br (x0 ), allora diam(A) = 2r (cosicché il nome di “diametro” è giustificato). – Esercizio 4.2. Si giustifichino le ultime due affermazioni. 55 56 4. MISURA E DIMENSIONE DI HAUSDORFF Definizione 4.3. Dato A sottoinsieme di RN e δ > 0, un δ-ricoprimento di E è una famiglia {Ei }i∈N , al più numerabile, tale che [ diam(Ei ) ≤ δ , e A ⊆ Ei . i∈N È chiaro che se {Ei } è un δ-ricoprimento di A, allora {Ei } è un δ 0 -ricoprimento di A per ogni δ 0 > δ. In altre parole, più è piccolo δ, meno sono i δ-ricoprimenti di A. Definizione 4.4. Sia s ≥ 0 un numero reale. Definiamo α(0) = 1 e s π2 α(s) = s , Γ( 2 + 1) dove Z Γ(t) = ∀s > 0 , +∞ e−x xt−1 dx , 0 è la funzione gamma di Eulero. Riguardo alla funzione gamma, osserviamo che Z +∞ Z +∞ −x √ e 2 x = y2 1 √ dx = Γ( 2 ) = =2 e−y dy = π , dx = 2y dy x 0 0 e che Z Γ(1) = 0 +∞ x=+∞ e−x dx = −e−x x=0 = 1 . Inoltre, integrando per parti, e se t ≥ 0, Z +∞ du = e−x v = xt −x t Γ(t + 1) = e x dx = u = −e−x dv = t xt−1 0 Z +∞ x=+∞ e−x xt−1 dx = t Γ(t) , = −t e−x xt x=0 + t 0 che, combinato con Γ(1) = 1, implica che Γ(n) = (n − 1)! per ogni n in N, cosicché la funzione Γ interpola il fattoriale. Quanto ad α(s), si ha √ √ π π α(1) = 3 = 1 1 = 2 , Γ( 2 ) Γ( 2 ) 2 e π α(2) = = π, Γ(2) e √ √ √ π π π π π π 4 α(3) = 5 = 3 3 = 3 1 = π, 3 Γ( 2 ) Γ( 2 ) Γ( 2 ) 2 4 1. LA MISURA DI HAUSDORFF 57 cosicché α(s) è, almeno per s = 1, s = 2 ed s = 3, la lunghezza, l’area ed il volume, di B1 (0) in R, R2 ed R3 rispettivamente. Si può dimostrare che, in generale, α(N ) è la “misura N -dimensionale” della sfera B1 (0) in RN . Definizione 4.5. Sia s ≥ 0, sia A un sottoinsieme di RN , e sia δ > 0. Definiamo ( ) s X diam(E ) i Hδs (A) = inf α(s) , {Ei } δ-ricoprimento di A . 2 i∈N Se A è fissato, e δ < δ 0 , si vede facilmente che Hδs0 (A) ≤ Hδs (A), e quindi — come funzione di δ — Hδs (A) è decrescente. Esiste allora Hs (A) = lim+ Hδs (A) = sup{Hδs (A), δ > 0} . δ→0 s Si noti che si ha 0 ≤ H (A) ≤ +∞. Dato A sottoinsieme di RN , e s ≥ 0, la quantità Hs (A) si dice misura (esterna) di Hausdorff s-dimensionale di A. Il seguente teorema raccoglie alcune delle proprietà della misura di Hausdorff. Teorema 4.6. La misura di Hausdorff è tale che: (1) Se A ⊆ B, allora Hs (A) ≤ Hs (B). (2) Se s = 0, allora #(A) se A è finito, 0 H (A) = +∞ se A non è finito. Il numero #(A) è, per definizione, il numero degli elementi di A. (3) Se s > N , ed A è limitato, allora Hs (A) = 0 per ogni sottoinsieme A di RN . (4) Se s = 1 e A è un segmento contenuto in RN , allora H1 (A) è la lunghezza del segmento. Analogamente, H2 (A) è l’area di A se A è una “figura piana” in RN , e H3 (A) è il volume di A se A è un “solido” tridimensionale in RN . Dimostrazione. Dimostriamo solo le prime tre affermazioni (rimandando al libro di Ziemer citato nell’Introduzione per l’ultima). Per quanto riguarda (1), è chiaro che se {Ei } è un δ-ricoprimento di B, allora è anche un δ-ricoprimento di A. Si ha allora, per ogni δ > 0, e per definizione di Hs (B), Hδs (A) ≤ Hδs (B) ≤ Hs (B) , e quindi la tesi passando al limite su δ tendente a zero da destra nel primo membro. Per (2), se s = 0, dalla definizione si ha che Hδ0 (A) = inf {#{Ei }, {Ei } δ-ricoprimento di A} . 58 4. MISURA E DIMENSIONE DI HAUSDORFF Se A = {x1 , . . . , xm }, allora {Ei } = {xi } è un δ-ricoprimento di A per ogni δ > 0, cosicché Hδ0 (A) ≤ m per ogni δ > 0. D’altra parte, se δ = min{d2 (xi , xj ), i 6= j = 1, . . . , m} , allora ogni δ-ricoprimento di A deve contenere almeno m insiemi, e quindi Hδ0 (A) ≥ m per ogni δ ≤ δ. x2 x3 δ x1 x5 x4 Ogni δ-ricoprimento contiene almeno m insiemi. Si ha allora che Hδ0 (A) = m per ogni δ ≤ δ, e quindi H0 (A) = m. Se, invece, A contiene infiniti punti, allora A contiene almeno una successione {yn } costituita da infiniti punti distinti. Ma allora, per (1), H0 (A) ≥ H0 ({y1 , . . . , yn }) = n , da cui H0 (A) = +∞ per l’arbitrarietà di n. Per dimostrare la (3), iniziamo a calcolare Hs (Q1 ), dove Q1 = [0, 1]N . Fissato n in N, ricopriamo Q1 con N n cubetti Qm1 ,...,mN di lato n1 : 1 +1 Qm1 ,...,mN = mN1 , mN × · · · × mNN , mNN+1 , √ con m1 , . . ., mN interi compresi tra 0 e N −1. Essendo diam(Q m1 ,...,mN ) = √ N N gli n cubetti sono un δn -ricoprimento di Q, con δn = n . Pertanto, √ s nN √ s X N N 1 s . 0 ≤ Hδn (Q1 ) ≤ α(s) = α(s) s−N 2n 2 n i=1 N , n Facendo tendere n ad infinito, osservando che δn tende a zero, ed usando l’ipotesi s > N , si ha 0 ≤ Hs (Q1 ) ≤ 0 , 1. LA MISURA DI HAUSDORFF 59 e quindi Hs (Q1 ) = 0. Analogamente, si ha Hs (QR ) = 0 per ogni cubo QR di lato R > 0. Se A è limitato, allora A è contenuto in BR (0) per un opportuno R. Essendo BR (0) un sottoinsieme del cubo Q2R centrato nell’origine e lato 2R, si ha (per (1)), 0 = Hs (A) ≤ Hs (BR (0)) ≤ Hs (Q2R ) = 0 , e quindi Hs (A) = 0, come volevasi dimostrare. Abbiamo chiamato la funzione di insieme Hs (definita sulle parti di RN ), “misura esterna”. Definizione 4.7. Una funzione di insieme µ∗ , definita sull’insieme P(X) delle parti di X, si dice misura esterna se (1) µ∗ (E) ≥ 0 per ogni E in P(X), e µ∗ (∅) = 0; (2) per ogni famiglia al più numerabile {Ei } contenuta in P(X), si ha +∞ +∞ [ X ∗ µ Ei ≤ µ∗ (Ei ) . i=1 i=1 ∗ Data una misura esterna µ , un insieme E di P(X) si dice misurabile secondo µ∗ se si ha µ∗ (A) = µ∗ (A ∩ E) + µ∗ (A ∩ E c ) , ∀A ∈ P(X) . ∗ Data una misura esterna µ , allora Aµ∗ = {E ∈ P(X) : E è µ∗ -misurabile} è un σ-algebra (ovvero, una famiglia di insiemi che contiene l’insieme vuoto, ed è chiusa rispetto al complementare e alle unioni numerabili). La restrizione di µ∗ a Aµ∗ viene detta misura, ed è tale che +∞ +∞ [ X ∗ µ Ei = µ∗ (Ei ) , i=1 i=1 per ogni famiglia {Ei } al più numerabile di insiemi disgiunti. Esempio 4.8. La funzione di insieme Hs è — effettivamente — una misura esterna. Se s è un numero intero, la restrizione di Hs agli insiemi Hs -misurabili è la misura di Lebesgue s-dimensionale (con questa frase si precisa il senso della (4) del Teorema 4.6). Vediamo, nel caso particolare di H0 , che le proprietà della misura esterna sono soddisfatte. Ovviamente, H0 (A) è positivo, e si annulla se A = ∅ (che non ha punti). Sia ora {Ei } una famiglia al più numerabile di sottoinsiemi di RN . Se la serie +∞ X H0 (Ei ) i=1 60 4. MISURA E DIMENSIONE DI HAUSDORFF diverge, non c’è nulla da dimostrare. Supponiamo pertanto che converga; essendo H0 (Ei ) un numero intero per ogni i, l’unica possibilità è che H0 (Ei ) sia diverso da zero, e finito, solo per un numero finito di indici. Supponiamo che gli insiemi ad avere misura H0 diversa da zero siano i primi n, cosicché Ei = ∅ per ogni i > n. Ma allora l’unione degli Ei è un insieme finito, la cui cardinalità è al più la somma delle cardinalità dei primi n insiemi (dato che qualche punto può appartenere a più di uno degli Ei ). Come sono fatti gli insiemi H0 -misurabili? Deve valere H0 (A) = H0 (A ∩ E) + H0 (A ∩ E c ) , ∀A ⊆ RN . Essendo A = (A ∩ E) ∪ (A ∩ E c ), chiaramente si ha H0 (A) ≤ H0 (A ∩ E) + H0 (A ∩ E c ) , e quindi non rimane che dimostrare la disuguaglianza inversa: H0 (A) ≥ H0 (A ∩ E) + H0 (A ∩ E c ) . Se H0 (A) = +∞, non c’è nulla da dimostrare. Supponiamo pertanto che A sia finito. Ma allora sia A ∩ E che A ∩ E c sono insiemi finiti, e sono disgiunti, cosicché la somma delle loro cardinalità è la cardinalità dell’unione, ovvero A. Non avendo fatto alcuna ipotesi su E, ne segue che ogni sottoinsieme E di RN è misurabile secondo H0 , e quindi che la σ-algebra AH0 non è altro che P(RN ). 2. La dimensione di Hausdorff Il seguente risultato permette di definire “intrinsecamente” la dimensione di un insieme tramite la misura Hs . Teorema 4.9. Sia A un sottoinsieme limitato di RN . Allora esiste un unico numero reale s, con 0 ≤ s ≤ N tale che 0 se s > s, s H (A) = +∞ se s < s. Dimostrazione. Dimostriamo che se s ≥ 0 è tale che Hs (A) < +∞, 0 allora Hs (A) = 0 per ogni s0 > s. Sia dunque C = Hs (A), e sia s0 > s. Per definizione, C = lim+ Hδs (A) = sup{Hδs (A), δ > 0} . δ→0 ha Hδs (A) Essendo C < +∞, si ≤ C < +∞ per ogni δ > 0. Per definizione di estremo inferiore, fissato ε > 0 esiste un δ-ricoprimento {Ei,ε } di A tale che X diam(Ei ) s 0 ≤ α(s) ≤ Hδs (A) + ε ≤ C + ε . 2 i∈N 2. LA DIMENSIONE DI HAUSDORFF 61 Per tale ricoprimento si ha 0≤ X diam(Ei,ε ) s0 2 i∈N " 0 s # s −s 0 X α(s ) δ diam(Ei,ε ) α(s) = α(s) 2 2 s0 −si∈N 0 α(s ) δ ≤ (C + ε) . α(s) 2 0 Hδs (A) ≤ α(s0 ) ovvero, 0 0 0 ≤ Hδs (A) ≤ C δ s −s , per qualche costante C indipendente da δ. Facendo tendere δ a zero si trova 0 Hs (A) = 0, come volevasi dimostrare. Per concludere la dimostrazione, definiamo s = inf{s ≥ 0 : Hs (A) = 0} . Osserviamo innanzitutto che l’estremo inferiore è ben definito dato per la (3) del Teorema 4.6 si ha Hs (A) = 0 per ogni s > N , e che quindi 0 ≤ s ≤ N . Inoltre, se s > s allora — per definizione di estremo inferiore — esiste s0 0 appartenente a [s, s] tale che Hs (A) = 0 < +∞. Per quanto dimostrato in precedenza, Hs (A) = 0. Se, invece, s < s, e Hs (A) < +∞, allora (sempre 0 per quanto visto prima), Hs (A) = 0 per ogni s0 > s, e quindi per ogni s0 in (s, s), contraddicendo cosı̀ la definizione di estremo inferiore. Pertanto, Hs (A) = +∞, e la dimostrazione del teorema è conclusa. Osservazione 4.10. Osserviamo esplicitamente che se s ≥ 0 è tale che 0 Hs (A) > 0, allora Hs (A) = +∞ per ogni s0 < s. Infatti, se per assurdo 0 si avesse Hs (A) < +∞ per qualche s0 < s, allora (per la prima parte della dimostrazione del teorema precedente) seguirebbe che Hs (A) = 0, il che non è. Definizione 4.11. Sia A un sottoinsieme di RN . Il numero reale s determinato dal teorema precedente viene detto dimensione di Hausdorff di A, e si indica con dimH (A) = s . Osservazione 4.12. Se s = dimH (A), allora Hs (A) può essere qualsiasi numero in [0, +∞), oppure più infinito. Ad esempio, se A = ∅ allora H0 (A) = 0, se A = [0, 1] allora H1 (A) = 1, mentre HN (RN ) = +∞. Se però un sottoinsieme A di RN è tale che esiste s ≥ 0 per cui 0 < Hs (A) < +∞, allora dimH (A) = s. Dal punto (4) del Teorema 4.6 segue allora che la dimensione di Hausdorff di un segmento è 1, di una “figura piana” è 2, e di un “solido tridimensionale” è 3. 62 4. MISURA E DIMENSIONE DI HAUSDORFF Osservazione 4.13. Sia A ⊆ RN , e sia s = dimH (A) ≤ N . Sia M > N e definiamo A0 = A × {0N +1 , . . . , 0M }. In altre parole, A0 è l’insieme A “immerso” in RM . Dimostriamo che dimH (A0 ) = s, cosicché la dimensione di Hausdorff di un insieme non dipende dallo spazio ambiente. Se s > s, si ha Hs (A) = 0 (con ricoprimenti contenuti in RN ). Pertanto, per ogni δ > 0 si ha Hδs (A) = 0, e quindi per ogni ε > 0 esiste un δ-ricoprimento {Ei,ε } (in RN ) di A tale che X diam(Ei,ε ) s α(s) ≤ ε. 2 i∈N 0 0 Dal momento che {Ei,ε }, con Ei,ε = Ei,ε ×{0N +1 , . . . , 0M } è un δ-ricoprimento 0 M 0 ), allora di A in R (il diametro di Ei,ε è lo stesso di Ei,ε 0 X diam(Ei,ε ) s α(s) ≤ ε, 2 i∈N da cui segue Hδs (A0 ) = 0 (in RM ) e quindi Hs (A0 ) = 0. Pertanto, Hs (A0 ) = 0 per ogni s > s, e quindi dimH (A0 ) ≤ s. Se per assurdo fosse dimH (A0 ) < s, 0 0 allora esisterebbe s0 < s tale che Hs (A0 ) = 0. Pertanto, Hδs (A0 ) = 0 per ogni 0 δ > 0, e quindi per ogni ε > 0 esiste un δ-ricoprimento {Ei,ε } di A0 tale che 0 0 X diam(Ei,ε ) s 0 α(s ) ≤ ε. 2 i∈N Scrivendo (1) (2) (N ) (N +1) 0 Ei,ε = Fi,ε × Fi,ε × · · · × Fi,ε × Fi,ε (M ) × · · · × Fi,ε , si vede facilmente che {Ei,ε }, definito da (1) (2) (N ) Ei,ε = Fi,ε × Fi,ε × · · · × Fi,ε , 0 è un δ ricoprimento di A in RN , dato che diam(Ei,ε ) ≤ diam(Ei,ε ). Pertanto, 0 0 X diam(Ei,ε ) s0 X diam(Ei,ε ) s 0 0 α(s ) ≤ α(s ) ≤ ε, 2 2 i∈N i∈N 0 0 da cui Hδs (A) = 0, e quindi Hs (A) = 0. Essendo s0 < dimH (A), si ha un assurdo per definizione di dimH (A). CAPITOLO 5 La dimensione degli attrattori degli IFS In questo capitolo daremo un metodo per calcolare la dimensione di Hausdorff dei compatti autosimilari che abbiamo costruito nel Capitolo 3 come attrattori di IFS. 1. La dimensione box counting Sia A = [0, 1] il segmento unitario in R. Nel capitolo precedente, abbiamo detto (non dimostrato. . .) che la dimensione di Hausdorff di A è 1, essendo H1 (A) = 1 (si veda l’Osservazione 4.12). Di nuovo, che vuol dire “dimensione”? Diamo qui una seconda idea per misurare la dimensione di un insieme (come vedremo, darà una stima “dall’alto” della dimensione di un insieme). Sia allora n in N, e consideriamo un “ricoprimento” efficiente di A con segmenti di lunghezza n1 . “Efficiente” qui significa che nel ricoprire A si tenta di ridurre al minimo le sovrapposizioni tra i vari segmenti. Ad esempio, se consideriamo [0, n1 ) , [ n1 , n2 ) , . . . [ n−2 , n−1 ) , [ n−1 , 1] , n n n è chiaro che il ricoprimento è disgiunto, e quindi la sovrapposizione tra i segmenti è vuota. Quanti segmenti sono stati necessari? Basta contarli: sono n. Se, invece di considerare il segmento A = [0, 1] in R, consideriamo il segmento A = [1, 2] × {1} in R2 , quanti quadratini di lato n1 servono per ricoprire A in maniera efficiente? Anche in questo caso, si vede facilmente che sono necessari n quadratini. A A 1 2 1 2 Per ricoprire A servono n quadrati Se considerassimo A = [2, 3] × {0} × {1} in R3 , nuovamente servirebbero n cubi di lato n1 per ricoprire efficientemente A. E se A = [0, 2]? In questo caso, servono 2n segmenti (o quadrati, o cubi) di lato n1 . Se il segmento è lungo L, servono ([L] + 1) n “oggetti” di lato n1 per ricoprirlo efficientemente ([x] è 63 64 5. LA DIMENSIONE DEGLI ATTRATTORI DEGLI IFS la parte intera di x). Cosa “non cambia” cambiando lo spazio in cui vive il segmento, o la sua lunghezza? In ogni caso, serve una quantità proporzionale ad n di oggetti di lato n1 (la costante di proporzionalità dipendendo dalla lunghezza del segmento) per un ricoprimento efficiente. Se, invece di ricoprire un segmento con “oggetti”, ricopriamo un quadrato in R2 , ad esempio [1, 2] × [1, 2], quanti “oggetti” servono? È presto detto: se il lato del quadratino è n1 , servono n2 quadratini, o n2 cubetti. 2 2 1 1 1 2 Per ricoprire un quadrato servono 1 n2 2 quadrati Se il quadrato è [0, 2] × [2, 4], servono 4n2 “oggetti” per un ricoprimento efficiente. In generale, serve una quantità proporzionale ad n2 di oggetti di lato 1 (la costante di proporzionalità dipendendo dall’area del quadrato) per un n ricoprimento efficiente di un quadrato (o di un rettangolo, o di un triangolo). Se ricoprissimo cubi con “oggetti” di lato n1 , troveremmo che serve una quantità proporzionale ad n3 di oggetti (la costante di proporzionalità dipendendo dal volume del cubo) per un ricoprimento efficiente. A questo punto è chiaro cosa sta accadendo: un segmento, che ha dimensione 1, necessità di (un numero proporzionale a) n 1 oggetti; un quadrato, che ha dimensione 2, necessita di (un numero proporzionale a) n 2 oggetti; un cubo, che ha dimensione 3, necessita di (un numero proporzionale a) n 3 oggetti. In sostanza, l’esponente cui viene elevato n è la dimensione del segmento (o del quadrato, o del cubo). Come possiamo rendere rigorosa questa “tecnica” di calcolo della dimensione? Definizione 5.1. Sia A un sottoinsieme limitato di RN e sia δ > 0. Definiamo N (A, δ) = min{m ∈ N : A può essere ricoperto da m ipercubi di lato δ} . Chiaramente N (A, δ) è ben definito: essendo A limitato, A è contenuto in un ipercubo di lato sufficientemente grande, e gli ipercubi sono ricopribili da un numero finito di ipercubi di lato δ; dunque, esistono ricoprimenti finiti di A fatti da ipercubi di lato δ, cosicché l’insieme che serve a definire N (A, δ) non è vuoto, e quindi ha minimo perché è un sottoinsieme di N. 1. LA DIMENSIONE BOX COUNTING 65 Dato A sottoinsieme di RN , definiamo la dimensione box counting di A come il numero dimbc (A) = lim+ − δ→0 log(N (A, δ)) , log(δ) ovviamente se il limite esiste (il che non è detto). Esempio 5.2. Per quanto detto in precedenza, se A è un segmento di lunghezza L, allora [L] + 1 , N (A, δ) = δ e quindi dimbc (A) = 1. Se A è un rettangolo di lati L1 ed L2 , allora N (A, n) = ([L1 ] + 1) ([L2 ] + 1) , δ2 e quindi dimbc (A) = 2. Analogamente, dimbc (A) = 3 se A è un “solido”. Che succede se A = ? In questo caso i ricoprimenti sono complicati dalla struttura di , ma possiamo farci guidare dalla definizione di come attrattore di un sistema di funzioni iterate. Ed infatti, se prendiamo la n-sima iterazione del quadrato unitario Q = [0, 1] × [0, 1]: F (5) (Q) 66 5. LA DIMENSIONE DEGLI ATTRATTORI DEGLI IFS è chiaro (dalla definizione stessa di ) che il ricoprimento dato da Kn = F (n) (Q) è il più efficiente possibile se il lato del quadrato è 21n . Di quanti quadrati di lato 21n è composto Kn ? Di nuovo, è facile calcolarli: K1 è l’unione di 3 quadrati di lato 21 (le immagini di Q tramite f1 , f2 e f3 ), K2 da 9 quadrati di lato 14 , ed in generale, Kn da 3n quadrati di lato 21n . Pertanto, N ( , 2−n ) = 3n , da cui segue log(N ( , 2−n )) n log(3) log(3) lim − = lim = . −n n→+∞ n→+∞ log(2 ) n log(2) log(2) In altre parole, sulla successione δn = 2−n il limite − log(N ( , δ))/ log(δ) esiste e vale log(3)/ log(2). D’altra parte, se δ > 0 è un reale qualsiasi (minore di 1), esiste m in N tale che 2−m ≤ δ < 2−m+1 . Pertanto, 3m−1 = N ( , 2−m+1 ) ≤ N ( , δ) ≤ N ( , 2−m ) = 3m , e quindi (m − 1) log(3) ≤ log(N ( , δ)) ≤ m log(3) . Essendo −m log(2) ≤ log(δ) < −(m − 1) log(2), si ha m − 1 log(3) log(N ( , δ)) m log(3) ≤− ≤ . m log(2) log(δ) m − 1 log(2) Facendo tendere δ a zero (cosicché m tende ad infinito), si ha (per il teorema dei carabinieri) lim+ − δ→0 log(3) log(N ( , δ)) = = dimbc ( ) . log(δ) log(2) – Esercizio 5.3. Calcolare la dimensione box counting di curva di Von Koch. e della 2. Confronto tra box counting e Hausdorff Che legame c’è tra la dimensione box counting di un insieme e la sua dimensione di Hausdorff? Teorema 5.4. Sia A un sottoinsieme limitato di RN . Allora dimH (A) ≤ dimbc (A) . Dimostrazione. Sia s = dimbc (A). Per definizione s = lim+ − δ→0 log(N (A, δ)) . log(δ) 2. CONFRONTO TRA BOX COUNTING E HAUSDORFF 67 Sia ε > 0, e sia δε > 0 tale che s−ε≤− log(N (A, δ)) ≤ s + ε, log(δ) ∀δ ≤ δε . Pertanto, 1 1 , ∀δ ≤ δε . δ s−ε δ s−ε Ricordando la definizione di N (A, δ), fissato δ ≤ δε esiste un ricoprimento {Ei,δ } “efficiente” di A costituito da Mδ = N (A, δ) ipercubi di lato δ, con δ −(s−ε)√≤ Mδ ≤ δ −(s+ε) . Essendo il diametro di un ipercubo di lato δ pari a dδ = δ N , è chiaro che {Ei,δ } è un dδ -ricoprimento di A. Pertanto, se s > s, 0≤ ≤ N (A, δ) ≤ s Mδ X diam(Ei,δ ) 2 i=1 √ s √ s Mδ X N N = α(s) δ = α(s) Mδ δ s 2 2 √ s i=1 N δ s−(s+ε) . ≤ α(s) 2 Hdsδ (A) ≤ α(s) Scegliendo ε > 0 tale che s + ε < s, si ha, per qualche costante C indipendente da n, 0 ≤ Hdsδ (A) ≤ C δ s−(s+ε) , ∀δ ≥ δε . Facendo tendere δ a zero, si ha che dδ tende a zero, e quindi Hs (A) = 0. Pertanto, (s, +∞) ⊆ {s ≥ 0 : Hs (A) = 0} , e quindi dimH (A) = inf{s ≥ 0 : Hs (A) = 0} ≤ inf (s, +∞) = s = dimbc (A) , come volevasi dimostrare. Il teorema precedente è utile quando si vuole stimare dall’alto la dimensione di Hausdorff di insiemi trovati come attrattori di sistemi di funzioni iterate. Infatti, il calcolo dell’Esempio 5.2, può essere ripetuto per un qualsiasi sistema di funzioni iterate: se {f1 , . . . , fm } è un sistema di funzioni iterate di fattore di contrazione L, e se Kn = F (n) ( ), allora Kn è l’unione di mn oggetti di diametro minore o uguale a Ln , e quindi N (K, Ln ) ≈ mn , da cui lim − n→+∞ log(N (K, Ln )) n log(m) log(m) = lim − =− . n n→+∞ log(L ) n log(L) log(L) 68 5. LA DIMENSIONE DEGLI ATTRATTORI DEGLI IFS Ragionando come nell’Esempio 5.2, si vede che tale valore è il limite lungo tutta la successione, e quindi dimbc (K) = − log(m) . log(L) C’è, però, almeno un errore nel calcolo che abbiamo fatto. Supponiamo di avere cinque contrazioni di fattore 12 : le quattro che generano il quadrato dell’Esempio 3.5, più f5 (x, y) = f1 (x, y) + ( 41 , 14 ) . Se il calcolo precedente fosse giusto, detto K l’attrattore del sistema di funzioni iterate {f1 , . . . , f5 }, si avrebbe dimbc (K) = − log(5) log(5) > 2. 1 = log(2) log( 2 ) In altre parole, se la formula fosse giusta, K avrebbe dimensione box counting maggiore di 2, pur essendo un sottoinsieme di R2 : questo non può essere perché, essendo K contenuto in = [0, 1] × [0, 1], si ha N (K, δ) ≤ N ( , δ) = δ −2 , da cui dimbc (K) ≤ 2. In effetti, è facile vedere che la quinta contrazione non modifica nulla rispetto alle prime 4: partendo da , si ha F (1) ( ) = , e quindi K = (che sappiamo avere dimensione box counting proprio 2). Dov’è l’errore? Abbiamo sbagliato nello stimare N (Kn , δ): essendo Kn = , servono 4n quadrati di lato δ = 21n per ricoprire K n , e non 5n , come si vede facilmente dal disegno. F (5) ( ) 2. CONFRONTO TRA BOX COUNTING E HAUSDORFF 69 Bastano meno quadrati perché le cinque immagini di tramite f1 , . . ., f5 non sono disgiunte tra di loro: si sovrappongono (e anche di parecchio!) cosicché una delle cinque applicazioni non influisce sul calcolo della dimensione box counting. Nel caso di , invece, le tre immagini del quadrato unitario sono disgiunte, e quindi Kn , visto come unione di quadrati, è un ricoprimento “ottimale” di (se consideriamo quadrati di lato δ = 21n ). Inoltre, abbiamo commesso un altro errore: quando diciamo che un sistema di funzioni iterate ha fattore di contrazione L, intendiamo che il massimo dei fattori di contrazione L1 , . . ., Lm delle funzioni f1 , . . ., fm che formano il sistema di funzioni iterate è uguale a L. Supponiamo che f1 (x, y) = ( x2 , y2 ), e f2 (x, y) = (1, 1). Come sistema di funzioni iterate, la coppia {f1 , f2 } ha come fattore di contrazione L = 12 . Però, pur essendo le immagini di disgiunte, l’insieme invariante per F è K = {(0, 0), (1, 1)} che ha dimensione box counting 0, mentre la formula ci darebbe dimbc (K) = 1. Ovviamente, qui il problema è che le due contrazioni hanno fattori di contrazione diversi (uno è addirittura 0). Lo stesso accade se consideriamo l’attrattore del sistema di funzioni iterate generato da f1 (x, y) = ( x2 , y2 ) , f2 (x, y) = ( x3 + 12 , y3 + 13 ) . F (5) ( ) È chiaro dal disegno che la dimensione box counting dell’attrattore K non può essere 1, ma sarà strettamente minore. Infine, un terzo problema: una contrazione è un’applicazione qualsiasi da RN in sé, che sia lipschitziana di costante minore di 1; quindi, non è detto che l’immagine di un quadrato sia un quadrato (o un rettangolo, un rombo: qualcosa, insomma, di paragonabile). Tutte le contrazioni che abbiamo considerato avevano questa proprietà (essendo delle similitudini), ma non è detto che ciò sia vero in generale. 70 5. LA DIMENSIONE DEGLI ATTRATTORI DEGLI IFS In definitiva, se vogliamo poter calcolare “a priori” la dimensione box counting di un attrattore di un sistema di funzioni iterate, dobbiamo fare delle ipotesi aggiuntive. Teorema 5.5. Sia {f1 , . . . , fm } un sistema di funzioni iterate su RN , e sia F la funzione da K(RN ) in sé costruita a partire dall’IFS. Supponiamo che: (1) fi = Li x + Bi , con 0 < Li < 1 e Bi un vettore di RN (e quindi fi è una similitudine); (2) esiste Qr , ipercubo di lato r, tale che F (Qr ) ⊆ Qr ; (3) se Qr è come sopra, allora fi (Qr ) ∩ fj (Qr ) = ∅ per ogni i 6= j. Allora, detto K l’attrattore del sistema di funzioni iterate, si ha dimbc (K) = s, dove s è l’unica soluzione positiva dell’equazione m X Lsi = 1 . i=1 Osservazione 5.6. Se valgono le (2) e (3) del teorema precedente, e se Li = L per ogni i, allora s è tale che m Ls = 1, e quindi s = dimbc (K) = − log(m) , log(L) che è la formula che avevamo trovato (sbagliando. . .) in precedenza. Osservazione 5.7. Che esista un unico valore s ≥ 0 tale che m X Lsi = 1 , i=1 si vede abbastanza facilmente usando il teorema di esistenza degli zeri. Infatti, posto m X G(s) = Lsi , i=1 si ha G(0) = m ≥ 1 , lim G(s) = 0 . s→+∞ Essendo G continua, esiste almeno un valore s tale che G(s) = 1. Inoltre, 0 G (s) = m X Lsi log(Li ) < 0 , i=1 dato che 0 < Li < 1 per ogni i. Ne segue che G è strettamente decrescente e quindi che s è unico. 2. CONFRONTO TRA BOX COUNTING E HAUSDORFF 71 Dimostrazione. Iniziamo con l’osservare che, essendo fi una similitudine di fattore contrattivo Li , allora l’immagine tramite fi di un quadrato Qr di lato r è un quadrato di lato Li r e, viceversa, la controimmagine tramite fi di un quadrato Qr di lato r è un quadrato di lato L−1 i r. Pertanto, se A è un insieme limitato qualsiasi, si ha N (A, δ) = N (fi (A), Li δ) , o, equivalentemente, N (fi (A), δ) = N (A, L−1 i δ) . (5.1) Sia ora K l’attrattore del sistema di funzioni iterate. Dal momento che, per la (2), F (Qr ) ⊆ Qr , la successione Kn = F (n) (Qr ) è tutta contenuta in Qr , e quindi K ⊆ Qr . Essendo fi (Qr ) ∩ fj (Qr ) = ∅ per la (3), ne segue che fi (K) ∩ fj (K) = ∅ , ∀i 6= j . Siccome le fi sono continue, l’insieme fi (K) è un compatto per ogni i. Dal momento che fi (K) e fj (K) sono disgiunti, si ha dij = min{d2 (x, y), x ∈ fi (K), y ∈ fj (K)} > 0 , ∀i 6= j , perché se il minimo fosse zero, esisterebbe x nell’intersezione dei due insiemi, che è invece vuota. Pertanto, se definiamo δ il minimo delle distanze dij al variare di i e j (con i 6= j), e scegliamo δ < δ, si ha che se un ipercubo di lato δ interseca uno degli insiemi fi (K), allora è disgiunto da tutti gli insiemi fj (K), con i 6= j. In altre parole, un ricoprimento “efficace” di K con ipercubi di lato δ si ottiene considerando gli ipercubi che ricoprono efficacemente f1 (K), insieme a quelli che ricoprono efficacemente f2 (K), e cosı̀ via, fino a quelli che ricoprono efficacemente fm (K). Pertanto, se δ < δ, si ha, per (5.1), m m X X N (K, δ) = N (fi (K), δ) = N (K, L−1 i δ) . i=1 i=1 Da questa relazione, segue che se s è come nell’enunciato del teorema, allora (5.2) lim δ s N (K, δ) = M ∈ (0, +∞) . δ→0+ Per dare un’idea del perché ciò accada (la dimostrazione rigorosa è troppo complicata. . .), dimostriamo la (5.2) nel caso in cui Li = Lj = L per ogni i e j (come per esempio accade per ). Allora, posto G(δ) = N (K, δ), si ha G(δ) = m G(L−1 δ) . Iterando questa formula, si ha G(L) = m G(1) , G(L2 ) = m G(L) = m2 G(1) , ... , Se s è tale che m Ls = 1, allora mn = L−ns e quindi (Ln )s G(Ln ) = G(1) . G(Ln ) = mn G(1) . 72 5. LA DIMENSIONE DEGLI ATTRATTORI DEGLI IFS Dal momento che Ln tende a zero abbiamo (almeno lungo una successione infinitesima) che (5.2) è soddisfatta. Una volta che la (5.2) è vera, la tesi segue in maniera semplice dalle proprietà dei logaritmi: log(N (K, δ)) log(δ s N (K, δ)) − s log(δ) lim+ − = lim+ − = s, δ→0 δ→0 log(δ) log(δ) come volevasi dimostrare. Osservazione 5.8. Lo stesso risultato dimostrato in precedenza vale se, invece della condizione (3), si assume la condizione più debole che l’intersezione fi (Qr ) ∩ fj (Qr ) abbia misura N -dimensionale nulla se i 6= j. 3. La dimensione di Hausdorff degli attrattori degli IFS Nella sezione precedente abbiamo trovato una stima dall’alto della dimensione di Hausdorff dell’attrattore di un sistema di funzioni iterate in termini delle dimensione box counting; inoltre, grazie al Teorema 5.5, sappiamo calcolare la dimensione box counting degli attrattori di IFS definiti tramite similitudini (che sono più o meno tutti quelli che abbiamo visto. . .). Rimane aperto, e sarà compito delle prossime pagine, il problema di stimare dal basso la dimensione di Hausdorff degli attrattori, chiedendoci in particolare se coincida con la dimensione box counting. Esempio 5.9. Sia K = {1, 21 , 31 , 14 , . . . , n1 , . . .} . Dimostriamo che dimH (K) = 0. Siano s > 0, e sia δ > 0. Allora esiste nδ in N tale che tutti gli elementi di K a partire dall’nδ -mo in poi sono contenuti in (−δ, δ), e quindi K è contenuto nell’unione di un intervallo di diametro 2δ, e di nδ intervalli di diametro piccolo a piacere (che sono necessari per coprire i primi nδ punti 1, 21 , . . ., n1δ ), sia esso ad esempio 2δ 2/s . Pertanto, 0 ≤ Hδs (K) ≤ α(s) δ s + α(s) nδ δ 2 . Essendo nδ ≈ δ −1 , si ha 0 ≤ Hδs (K) ≤ α(s) δ s + α(s) δ , da cui segue Hs (K) = 0 facendo tendere δ a zero. Essendo s > 0 arbitrario, ne segue che dimH (K) = 0. Calcoliamo ora la dimensione box counting di K. Sia 0 < δ < 21 , e sia k in N tale che 1 1 <δ≤ . k(k + 1) k(k − 1) Chiaramente, se S è un segmento lungo δ, S può coprire al più uno dei punti in {1, 12 , . . . , k1 }, dal momento che la distanza tra due qualsiasi di questi punti 3. LA DIMENSIONE DI HAUSDORFF DEGLI ATTRATTORI DEGLI IFS 73 1 è almeno k(k−1) , che è maggiore di δ. Pertanto, servono almeno k segmenti di lunghezza δ per ricoprire K, e quindi N (K, δ) ≥ k. D’altro canto, è possibile 1 ricoprire [0, k1 ] con k + 1 segmenti di lunghezza δ (perché δ > k(k+1) , che è la 1 distanza massima tra i punti di tale intervallo), mentre {1, 2 , . . . , k1 } può essere ricoperto con k − 1 intervalli di lunghezza δ (perché sono k − 1 punti). Pertanto, N (K, δ) ≤ 2k. Ma allora, log(N (K, δ)) log(2k) log(k) ≤− ≤ . log(k(k + 1)) log(δ) log(k(k − 1)) Facendo tendere δ a zero (e quindi k ad infinito), per il teorema dei carabinieri si ha log(N (K, δ)) 1 lim+ − = = dimbc (K) , δ→0 log(δ) 2 cosicché dimH (K) < dimbc (K). Ovviamente l’esempio precedente non rientra nel caso degli attrattori di IFS (non essendo K compatto, non può essere l’attrattore di un sistema di funzioni iterate), ma è comunque interessante per capire la differenza tra la dimensione di Hausdorff e la dimensione box counting. Rimane però in piedi la domanda: che succede per l’attrattore di un IFS? Sono uguali o no? La risposta (non semplice da dare) è positiva, e, come vedremo, richiederà nuovamente delle ipotesi aggiuntive sul sistema di funzioni iterate. Il primo risultato ci permette di stimare dal basso dimH (K). Teorema 5.10. Sia K in K(RN ). Supponiamo che esista una misura µ concentrata su K tale che µ(K) > 0, ed esistano C > 0, s > 0 e ε > 0, tali che (5.3) µ(E) ≤ C (diam(E))s , ∀E : diam(E) ≤ ε Allora dimH (K) ≥ s. Dimostrazione. Sia δ < ε, e sia {Ei } un δ-ricoprimento di K. Allora +∞ +∞ +∞ [ X X 0 < µ(K) ≤ µ Ei ≤ µ(Ei ) ≤ C (diam(Ei ))s . i=1 i=1 i=1 Pertanto si ha s +∞ X α(s) diam(Ei ) ≥ s µ(K) > 0 , α(s) 2 2C i=1 e quindi, per l’arbitrarietà del δ-ricoprimento, Hδs (K) ≥ α(s) µ(K) > 0 , 2s C ∀δ < ε . 74 5. LA DIMENSIONE DEGLI ATTRATTORI DEGLI IFS Ricordando che, come funzione di δ, Hδs (K) è decrescente, si ha Hs (K) > 0, e quindi la tesi. Supponiamo ora di avere un sistema di funzioni iterate per il quale valgono le ipotesi del Teorema 5.5, cosicché sappiamo calcolare la dimensione box counting dell’attrattore K. Vogliamo fare vedere che, in questo caso, è possibile costruire una misura su K che soddisfa le ipotesi del Teorema 5.10 con s = s, la dimensione box counting di K. Iniziamo con un lemma tecnico. Lemma 5.11. Sia r > 0, e sia {Qi } una famiglia di ipercubi di RN con la proprietà che esistono 0 < a1 < a2 tali che ogni ipercubo Qi contiene un ipercubo di lato a1 r, ed è contenuto in un ipercubo di lato a2 r, e che l’intersezione tra due ipercubi della famiglia ha misura N -dimensionale nulla. Allora ogni ipercubo Q2r di lato 2r interseca al più q dei Qi , e si ha N 2(1 + a2 ) . q≤ a1 Dimostrazione. Se Qi interseca Qr , allora Qi è contenuto nell’ipercubo che ha lo stesso centro di Qr e lato 2r(1 + a2 ). a2 r Qi Qr 2r 2r + 2a2 r Ogni cubo che interseca Qr . . . Pertanto, se q ipercubi di {Qi } intersecano Qr , ognuno di essi contiene un ipercubo di lato a1 r, ed è contenuto in un ipercubo di lato 2r(1+a2 ). Pertanto, essendo i Qi disgiunti a meno di insiemi di misura N -dimensionale nulla, la somma delle misure N -dimensionali degli ipercubi di lato a1 r non può essere superiore alla misura N -dimensionale dell’ipercubo di lato 2r(1 + a2 ) che li contiene, e quindi q (a1 r)N ≤ (2r(1 + a2 ))N , 3. LA DIMENSIONE DI HAUSDORFF DEGLI ATTRATTORI DEGLI IFS 75 da cui si ottiene q≤ 2(1 + a2 ) a1 N , come volevasi dimostrare. Il secondo risultato tecnico ci dice come costruire una misura su oggetti ottenuti tramite suddivisioni di un insieme iniziale. Lemma 5.12. Sia A un sottoinsieme compatto di RN , e sia E0 = A. Per k in N, sia Ek una famiglia finita disgiunta di compatti contenuti in A tali che (1) ogni E in Ek è contenuto in un insieme di Ek−1 ; (2) ogni E in Ek contiene un numero finito di insiemi di Ek+1 ; (3) si ha lim max{diam(E), E ∈ Ek } = 0 . k→+∞ Sia µ definita nella maniera seguente: µ(A) è assegnata, con 0 < µ(A) < +∞; definiamo poi µ sugli insiemi di E1 in maniera tale che X µ(A) = µ(Ei ) , Ei ∈E1 e, proseguendo, definiamo µ sugli insiemi di Ek in modo tale che se E1 , . . ., Ek sono insiemi di Ek contenuti in un insieme Ẽ di Ek−1 , allora µ(Ẽ) = k X µ(Ei ) . i=1 µ(E0 ) µ(E1 ) µ(E2 ) µ(E2 ) µ(E1 ) µ(E2 ) µ(E2 ) Suddivisione di insiemi e misure Definiamo Ek l’unione di tutti gli insiemi di Ek , e definiamo µ(E) = 0 se E ∩ Ek = ∅. Pertanto, se E è l’unione di tutte le famiglie Ek , e di tutti i sottoinsiemi di RN \ Ek , abbiamo che la funzione µ è definita su E. Allora esiste una misura µ̃, definita su tutto RN , che estende µ, ed il cui supporto è contenuto nell’intersezione degli Ek . 76 5. LA DIMENSIONE DEGLI ATTRATTORI DEGLI IFS Dimostrazione. Se E è un sottoinsieme di RN , definiamo ( ) X [ µ̃(E) = inf µ(Ei ), E ⊆ Ei e Ei ∈ E . i i Se E appartiene ad E, si ha chiaramente µ̃(E) = µ(E) (perché abbiamo definito µ su E tramite suddivisioni). Inoltre, essendo µ(RN \ Ek ) = 0 per costruzione, se E è un sottoinsieme di RN disgiunto da Ek per qualche k, allora µ̃(E) = 0, e quindi il supporto di µ̃ è contenuto in Ek per ogni k, e dunque nell’intersezione. La dimostrazione del fatto che µ̃ sia effettivamente una misura è lasciata al lettore. . . Esempio 5.13. Sia A = [0, 1], sia Ek la famiglia degli intervalli della forma ), Ej = [ 2jk , j+1 2k j = 0, 1, . . . , 2k − 1 , ed osserviamo che Ek soddisfa la (1), la (2) e la (3) del lemma precedente. Se E è in Ek , definiamo µ(E) = 21k , cosicché le condizioni sulle suddivisioni della misura sono soddisfatte. Pertanto, a partire da µ definita su E, possiamo costruire una misura µ̃ definita su R. Se I = (a, b) è un intervallo contenuto in [0, 1], allora ( ) X [ µ̃(I) = inf µ(Ei ), I ⊆ Ei e Ei ∈ E = (b − a) , i i e quindi µ̃ coincide con la misura di Lebesgue sugli intervalli. Questa informazione è sufficiente per caratterizzare µ̃ esattamente come la misura di Lebesgue (concentrata su [0, 1]). Possiamo ora dimostrare il risultato che ci permette di stimare dal basso la dimensione di Hausdorff di un attrattore di IFS. Teorema 5.14. Sia {f1 , . . . , fm } un sistema di funzioni iterate definito su RN , e supponiamo che soddisfi le ipotesi del Teorema 5.5 (o, per la (3), dell’Osservazione 5.8). Detto K l’attrattore dell’IFS, e posto s = dimbc (K), si ha dimH (K) ≥ s. Dimostrazione. Per il Teorema 5.10, dobbiamo costruire una misura µ su K che soddisfi (5.3) con s = s, ricordando che s è tale che m X Lsi = 1 . i=1 Sia ora Qr l’ipercubo delle ipotesi (2) e (3) del Teorema 5.5, che quindi è tale che m [ F (Qr ) = Fi (Qr ) ⊆ Qr , i=1 3. LA DIMENSIONE DI HAUSDORFF DEGLI ATTRATTORI DEGLI IFS 77 con unione disgiunta. Pertanto, se definiamo K0 = Qr , e Kn = F (n) (Qr ), abbiamo che {Kn } è una successione decrescente di insiemi in K(RN ), e Kn è l’unione disgiunta di mn compatti Kn,j1 ,...,jn con j1 , . . ., jn interi compresi tra 1 e m, e Kn,j1 ,...,jn = (Fjn ◦ Fjn−1 ◦ . . . ◦ Fj2 ◦ Fj1 )(Qr ) . Se definiamo En come la famiglia degli insiemi Kn,j1 ,...,jn , è chiaro che En soddisfa le ipotesi (1), (2) e (3) del Lemma 5.12. In particolare, la (3) è vera perché il diametro di Kn,j1 ,...,jn è dato da Lj1 · · · Ljn r, cosicché 0 ≤ diam(Kn,j1 ,...,jn ) ≤ (max{L1 , . . . , Lm })n r , e la quantità a destra è infinitesima essendo Li < 1 per ogni i. Definiamo µ(Kn,j1 ,...,jn ) = (Lj1 · · · Ljn )s , ed osserviamo che (essendo le unioni disgiunte) X X m m X s s s µ(Kn ) = (Lj1 · · · Ljn ) = Lj1 · · · Ljn = 1 , 1≤j1 ,...,jn ≤m j1 =1 jn =1 e che, essendo s (Lj1 · · · Ljn ) = m X (Lj1 · · · Ljn Ljn+1 )s , jn+1 =1 si ha µ(Kn,j1 ,...,jn ) = m X µ(Kn,j1 ,...,jn ,jn+1 ) . jn+1 =1 Dal momento che µ soddisfa le ipotesi di “suddivisione” del Lemma 5.12, è possibile estendere µ ad una misura µ̃, definita su RN , ed il cui supporto è contenuto nell’intersezione dei Kn , che è l’attrattore K dell’IFS. Verifichiamo ora che µ̃ soddisfa le ipotesi del Teorema 5.10. Sia Q un ipercubo di lato 2r, e sia data una successione {jh } di interi compresi tra 1 ed m. Sia k il primo intero per il quale si ha (5.4) min{L1 , . . . , Lm } r ≤ Lj1 · · · Ljk r ≤ r . Si noti che k dipende dai valori Li (e quindi dalla successione {jh }), e può quindi variare. Sia ora S l’insieme delle k-ple j1 , . . ., jk tali che valga (5.4), e sia T = {(Fjk ◦ · · · ◦ Fj1 )(Qr ), (j1 , . . . , jk ) ∈ S} . Gli insiemi contenuti in T sono ipercubi disgiunti tra loro. Siano infatti A e B in T , con A 6= B. Allora A = (Fjk ◦ · · · ◦ Fj1 )(Qr ) , B = (Fih ◦ · · · ◦ Fi1 )(Qr ) , 78 5. LA DIMENSIONE DEGLI ATTRATTORI DEGLI IFS con (j1 , . . . , jk ) e (i1 , . . . , ih ) in S. Supponiamo che sia h = min{h, k}. Allora esiste `, compreso tra 1 e h, tale che j` 6= i` . Se cosı̀ non fosse, ovvero se gli indici coincidessero fino ad h, allora k = h; infatti, non può essere k > h perché k è il primo intero per cui vale (5.4) (e quindi (5.4) non può valere, per la stessa successione di indici, per h < k). Ma se k = h, allora A = B, il che non è. Pertanto, ad un certo punto, gli indici differiscono. Siccome contrazioni diverse “disgiungono” gli insiemi (per l’ipotesi (3) del teorema), A e B sono “disgiunti al passo `” e quindi disgiunti. Inoltre, gli ipercubi di T hanno un lato pari a Lj1 · · · Ljk r, e quindi contengono un ipercubo di lato min{L1 , . . . , Lm } r = a1 r, e sono contenuti in un ipercubo di lato r = a2 r. Per il Lemma 5.11, l’ipercubo Q di lato 2r interseca al più q degli ipercubi di T , con N N 2(1 + a2 ) 4 q≤ = = q0 . a1 min{L1 , . . . , Lm } Se definiamo [ e= Q Qi , Qi ∈T : Q∩Qi 6=∅ allora e ∪ (Q \ Q) e , Q=Q e non interseca nessuno degli ipercubi di T . Supponiamo di e l’insieme Q \ Q e ha intersezione vuota con E . aver dimostrato che esiste k tale che Q \ Q k Allora si ha (per definizione di µ̃) X X e = µ̃(Q) ≤ µ(Qi ) + µ(Q \ Q) µ(Qi ) . Qi ∈T : Q∩Qi 6=∅ Qi ∈T : Q∩Qi 6=∅ D’altra parte, se Qi è in T , allora Qi corrisponde ad una k-pla j1 , . . ., jk di indici, cosicché Qi è in Ek , e quindi µ(Qi ) = (Lj1 · · · Ljk )s . Pertanto, ricordando (5.4), X µ̃(Q) ≤ (Lj1 · · · Ljk )s ≤ q0 Qi ∈T : Q∩Qi 6=∅ 1 s r = C rs . s r Sia ora E un insieme di diametro uguale ad r. Allora E è contenuto in un ipercubo Q di lato 2r e quindi µ̃(E) ≤ µ̃(Q) ≤ C rs = C (diam(E))s . Sono pertanto soddisfatte le ipotesi del Teorema 5.10, e quindi la dimensione di Hausdorff di K è maggiore di s. e ha intersezione vuota con E per Rimane quindi da dimostrare che Q \ Q k qualche k. Definiamo k il massimo delle lunghezze delle k-ple j1 , . . ., jk in S, e 3. LA DIMENSIONE DI HAUSDORFF DEGLI ATTRATTORI DEGLI IFS 79 e allora E sarebbe disgiunto da tutti i Qi di sia E in Ek . Se E intersecasse Q\ Q, T che intersecano Q, ma intersecherebbe Q. Ciò però non è possibile, perché, essendo E contenuto in Ek , è contenuto in (e quindi interseca) almeno uno dei Qi di T (dato che o è uno di essi, o proviene da uno di essi come immagine tramite iterate di F ), che quindi avrebbe intersezione non vuota con Q. Esempio 5.15. Per chiarire la dimostrazione precedente, consideriamo , che è l’attrattore dell’IFS generato da tre contrazioni di fattore 21 . Partiamo da Qr = Q1 = [0, 1] × [0, 1], e costruiamo la successione Kn delle iterate di Q1 log(3) tramite F . Essendo s = log(2) , la misura µ è definita su Kn,j1 ,...,jn come segue: s 1 1 = µ(Kn,j1 ,...,jn ) = . 2n 3n Essendo Kn l’unione di 3n quadrati disgiunti (di lato 2−n ), è chiaro che µ(Kn ) = 1 per ogni n. Se ora consideriamo un quadrato Q di lato 2r, la formula (5.4) si semplifica: dato che Ljh = 21 per ogni jh , si tratta solo di scegliere k tale che r 1 ≤ ≤ r. 2 2k In questa maniera, S = {(j1 , . . . , jk ), jh ∈ {1, . . . , m} per ogni h} , e T = {Qi : Qi è uno dei quadrati la cui unione è Kk } . e ha A questo punto, al più 64 quadrati di T intersecano Q, e chiaramente Q\ Q intersezione vuota con Ek = Kk , dato che abbiamo “cancellato” da Kk tutti i quadrati che intersecano Q. Strumenti e programmi Che ci si creda o no, le uniche figure di questi appunti “costruite” senza usare TEX sono nel Capitolo 3 (a vedere la qualità del disegno si direbbe: per fortuna!). Tutti gli altri oggetti (ed in special modo le approssimazioni F (n) degli attrattori di sistemi di funzioni iterate) sono disegnati usando software reperibili nella distribuzione standard del TEX (quando sono stati scritti gli appunti, la distribuzione era la TEX Live 2010, reperibile on line all’indirizzo http://www.tug.org/texlive/). Il pacchetto software utilizzato si chiama tikz (dal tedesco: “TikZ ist kein Zeichenprogramm”, “tikz non è un programma di disegno”), corredato da un manuale di più di 700 (!) pagine. Le possibilità di disegno (o di “non disegno”, secondo l’autore) sono pressoché infinite, agevolate da una serie di comandi semplici (come draw o rectangle, circle e simili), e dalla possibilità di specificare le coordinate dei punti usando il sistema cartesiano. Ad esempio, con i comandi \begin{tikzpicture}[scale=2] \draw [fill=red] (0,0) -- (1,0) -- (1,1) -- (0,1) -- cycle; \draw [fill=blue] (1,0) -- (2,0) -- (2,1) -- (1,1) -- cycle; \draw [fill=green] (1,1) -- (2,1) -- (2,2) -- (1,2) -- cycle; \end{tikzpicture} si disegnano tre quadrati di diversi colori: con la possibilità di aggiungere etichette e comandi standard del TEX. Ad esempio, \begin{tikzpicture}[scale=2] \draw [fill=red] (0,0) -- (1,0) -- (1,1) -- (0,1) -- cycle; 81 82 STRUMENTI E PROGRAMMI \draw [fill=blue] (1,0) -- (2,0) -- (2,1) -- (1,1) -- cycle; \draw [fill=green] (1,1) -- (2,1) -- (2,2) -- (1,2) -- cycle; \draw (0,0) node[below]{$(0,0)$}; \draw (2,0) node[below]{$(2,0)$}; \draw (2,2) node[above]{$(2,2)$}; \draw [fill=black] (0.5,0.5) circle (0.05) node[above]{$(\frac12,\frac12)$}; \draw [fill=white,color=white] (3/2,1/2) circle (0.05) node[above]{$(\frac32,\frac12)$}; \draw [fill=magenta] (1+1/2,1.5) circle (0.05) node[above]{$(\frac32,\frac32)$}; \end{tikzpicture} completa il disegno cosı̀: (2, 2) ( 32 , 32 ) ( 12 , 12 ) (0, 0) ( 32 , 12 ) (2, 0) Si noti che il programma calcola correttamente sia 3/2 che 1+1/2, e che riconosce i colori. Inoltre, è molto preciso nel “posizionare” gli oggetti grafici sulla pagina. Ad esempio: \begin{tikzpicture}[ scale=20, spy using outlines={magnification=12, size=2cm, connect spies} ] \draw [ultra thin] (0.000,0.000) circle (0.001); \draw [ultra thin] (0.003,0.000) circle (0.001); \spy on (0.030,0.000) in node [left] at (0.2,0.0); \end{tikzpicture} crea il seguente disegno: STRUMENTI E PROGRAMMI 83 Si noti che l’ingrandimento è automatico (e fornito dal pacchetto aggiuntivo “spy”, da caricarsi a parte col comando \usetikzpackage{spy}). Pertanto, dovendo disegnare innumerevoli quadratini e/o triangolini di vari colori per rappresentare le approssimazioni degli attrattori, la scelta di tikz era, in un certo senso, obbligata. D’altra parte, però, per disegnare l’approssimazione di ordine 6 di , sono necessari 36 = 729 oggetti, ed è chiaro che “scriverli” tutti diventa istantaneamente un’impresa improba (a dire il vero, lo è già per i 9 oggetti dell’approssimazione di ordine 2. . .). In sostanza, se da un lato tikz fornisce gli strumenti “per disegnare”, non è possibile usarlo senza ricorrere a qualche altro ausilio informatico che “generi” i comandi corretti, con le corrette coordinate. A ben vedere, generare un’approssimazione di ordine qualsiasi di un attrattore è cosa semplice: (1) partire da un insieme iniziale di punti (ad esempio, i quattro vertici del quadrato [0, 1] × [0, 1]); (2) calcolare le immagini di tali punti tramite le contrazioni dell’IFS (ad esempio, le tre contrazioni che generano ); (3) sostituire all’insieme dei punti iniziali il nuovo insieme di punti e tornare a (2), oppure. . . (4) . . .fermarsi quando si è raggiunta l’n-sima iterazione e formattare i dati in maniera che tikz possa disegnarli. A questo punto, ognuno può scegliere il proprio linguaggio di programmazione preferito e scrivere il programma che esegue i calcoli . Chi scrive ha usato REBOL (reperibile gratuitamente all’indirizzo http://www.rebol.com). REBOL è un linguaggio di programmazione specificamente pensato per trattare liste di dati; è, ad esempio, ottimo per estrarre informazioni da una pagina web. I comandi principali usati nei programmi che seguono sono: • pick lista posizione: data una lista [a1 a2 . . . an ], estrae l’elemento che occupa la posizione specificata; ad esempio, pick [1 3 5 7] 3 dà come risultato 5. • first lista: è uguale a pick lista 1. • length? lista: restituisce la lunghezza della lista. • last lista: è uguale a pick lista (length? lista). • select lista elemento: restituisce l’elemento di lista successivo ad elemento. Ad esempio, select [1 [2 3] 2 [4 5] 3 [6]] 2 dà come risultato [4 5]. • next lista: restituisce la lista ottenuta a partire dall’elemento successivo a quello selezionato; ad esempio next select [1 [2 3] 2 [4 5] 3 [6]] 2 dà come risultato [3 [6]]. • reduce lista: data una lista [a1 a2 . . . an ], composta di variabili, restituisce una lista i cui elementi sono i valori delle variabili; se, ad esempio, a = 1 e b = 2, allora reduce [a b] = [1 2]. 84 STRUMENTI E PROGRAMMI • rejoin lista: è come reduce, solo che restituisce la stringa ottenuta concatenando i valori delle variabili in lista; ad esempio, se a = 3, allora rejoin [‘ci sono ’ a ‘ persone’] dà come risultato ‘ci sono 3 persone’. • append lista a: data una lista [a1 a2 . . . an ], restituisce la lista [a1 a2 . . . an a]. Se lista è una stringa ‘stringa’, allora append ‘stringa’ ‘appesa’ restituisce la stringa ‘stringaappesa’. • copy/part lista lunghezza: restituisce i primi lunghezza elementi di lista (che può anche essere una stringa); ad esempio, copy/part [1 2 3 4] 2 dà come risultato [1 2]. • skip lista lunghezza: restituisce la lista (che può anche essere una stringa) privata dei primi lunghezza elementi; ad esempio, skip [1 2 3 4] 2 dà come risultato [3 4]. REBOL [‘Sistemi di funzioni iterate’] ;=== FUNZIONI === ; calcola A*X+B trasforma: func [ matrice vettore /local temp x temp y ][ ; calcola a11*x + a12*y + b1 temp x: ((pick matrice 1) * (pick temp x: ((pick matrice 2) * (pick temp x: (pick matrice 5) + temp x ; calcola a21*x + a22*y + b2 temp y: ((pick matrice 3) * (pick temp y: ((pick matrice 4) * (pick temp y: (pick matrice 6) + temp y return reduce [temp x temp y] ] vettore 1)) vettore 2)) + temp x vettore 1)) vettore 2)) + temp y ; scrive un numero con ’posti’ cifre decimali formato decimale: func [ valore posti /local cifra indice nuovo valore segno temp lungh temp stringa zeri ][ temp stringa: copy ‘1’ for indice 1 posti 1 [ append temp stringa ‘0’ ] STRUMENTI E PROGRAMMI ; ‘1’ seguito da tanti zeri quanti i posti nuovo valore: to-integer ((to-integer temp stringa) * valore) ; moltiplicato e arrotondato either (nuovo valore < 0) [ segno: ‘-’ nuovo valore: abs nuovo valore ][ segno: ‘ ’ ] ; scopre se la stringa inizia con ’-’ o con ’ ’ temp stringa: copy ‘’ until [ cifra: to-integer remainder nuovo valore 10 nuovo valore: to-integer ((nuovo-valore - cifra) / 10) temp stringa: rejoin [cifra temp stringa] nuovo valore = 0 ] ; si ferma quando il numero = zero if ((length? temp stringa) <= posti) [ zeri: posti + 1 - (length? temp stringa) temp stringa: rejoin [ copy/part ‘0000000000’ zeri temp stringa ] ] ; calcola gli zeri iniziali temp lungh: (length? temp stringa) - posti return to-string rejoin [ segno copy/part temp stringa temp lungh ‘.’ skip temp stringa temp lungh ] ; costruisce la stringa con ’posti’ cifre decimali ] ; crea una stringa con il vettore e le parentesi scrive vettore: func [ vettore decim ][ return rejoin [ ‘(’ (formato decimale (pick vettore 1) decim) ‘, ’ (formato decimale (pick vettore 2) decim) ‘)’ ] 85 86 STRUMENTI E PROGRAMMI ] ;=== FORME === ; il formato: stringa di tikz con ’ pi ’ per i punti ; e ’ colore ’ per il colore, seguita dagli n punti forme: [ ‘quadrato’ [ ‘\draw [shape= colore ] p1 -p2 -p3 -p4 -cycle;^/’ [0.0 0.0] [1.0 0.0] [1.0 1.0] [0.0 1.0] ] ] ;=== IFS === ; formato di A (2x2) e B (1x2): ; [a 11 a 12 a 21 a 22 b 1 b 2] ifs: [ ‘equisierpinski’ [ [0.5 0.0 0.0 0.5 0.00 0.000] [0.5 0.0 0.0 0.5 0.25 0.433] [0.5 0.0 0.0 0.5 0.50 0.000] ] ] colori bordo: [‘gray!50’ ‘#1!80’] ;=== SCELTE === forma scelta: ‘quadrato’ ifs scelto: ‘equisierpinski’ livello max: 4 tipo: 1 ; 1 = colori in sequenza ; 2 = colori ’a blocchi’ ; 3 = random colore bordo: 2 ; 1 = bordo grigio STRUMENTI E PROGRAMMI ; 2 = stesso colore della forma decimali: 6 sovrapposto: 1 ; 1 = si disegna solo l’ultima iterazione ; 2 = si sovrappongono le iterazioni ;=== PROGRAMMA === stringa da cambiare: copy first select forme forma scelta ; la stringa di comandi tikz punti iniziali: copy next select forme forma scelta ; i punti della forma scelta trasformazioni: copy select ifs ifs scelto ; l’ifs scelto punti: copy reduce [punti iniziali] ; copiamo i punti iniziali per non perderli for livello 1 livello max 1 [ ; punti calcolati precedentemente punti livello: pick punti livello temp punti: copy [ ] ; calcoliamo l’immagine dei punti tramite l’ifs foreach trasformazione trasformazioni [ foreach punto punti livello [ append temp punti reduce [ trasforma trasformazione punto ] ] ] append punti reduce [temp punti] ] ; stringa iniziale del TeX stringa tex: copy ‘\tikzset{ shape/.style={ draw= bcolore , ultra thin, fill=#1!80 } } \definecolor{col01}{rgb}{1.0,0.0,0.0}; \definecolor{col02}{rgb}{0.0,1.0,0.0}; \definecolor{col03}{rgb}{0.0,0.0,1.0}; \definecolor{col04}{rgb}{0.0,1.0,1.0}; \definecolor{col05}{rgb}{1.0,0.0,1.0}; \definecolor{col06}{rgb}{1.0,1.0,0.0}; \definecolor{col07}{rgb}{0.5,0.2,0.3}; 87 88 STRUMENTI E PROGRAMMI \definecolor{col08}{rgb}{0.2,0.5,0.3}; \definecolor{col09}{rgb}{0.5,0.3,0.2}; \definecolor{col10}{rgb}{0.3,0.5,0.2}; \definecolor{col11}{rgb}{0.2,0.3,0.5}; \definecolor{col12}{rgb}{0.3,0.2,0.5}; \definecolor{col13}{rgb}{0.6,0.3,0.1}; \definecolor{col14}{rgb}{0.1,0.3,0.6}; \definecolor{col15}{rgb}{0.3,0.1,0.6}; ’ ; lista dei colori possibili (vedere sopra) colori: [ ‘col01’ ‘col02’ ‘col03’ ‘col04’ ‘col05’ ‘col06’ ‘col07’ ‘col08’ ‘col09’ ‘col10’ ‘col11’ ‘col12’ ‘col13’ ‘col14’ ‘col15’ ] ; quante sono le contrazioni dell’ifs? num trasform: length? trasformazioni ; e quanti i punti della forma? max interno: length? punti iniziali ; stabiliamo come colorare il bordo bordo colore: pick colori bordo colore bordo replace/all stringa tex ‘ bcolore ’ bordo colore ; o solo l’ultima, o tutte le iterazioni either (sovrapposto = 1) [ min sovrapposti: 1 ][ min sovrapposti: livello max + 1 ] ; ciclo esterno (ne servono due per la colorazione) for sovrapposti min sovrapposti (livello max + 1) 1 [ ; scegliamo l’insieme delle forme da disegnare punti disegno: copy (pick punti sovrapposti) ; quante sono le forme (non i punti)? max esterno: (length? punti disegno) / max interno ; divisione in parti (per la colorazione) parti: max esterno / num trasform for esterno 1 max esterno 1 [ ; o colori in sequenza, o a blocchi, o random... switch tipo [ 1 [colore: 1 + (mod (esterno - 1) num trasform)] 2 [colore: 1 + to-integer ((esterno - 1) / parti)] 3 [colore: random num trasform] STRUMENTI E PROGRAMMI 89 ] ; ...ma sempre tra 1 e 15 colore: 1 + (mod (colore - 1) 15) ; copiamo la stringa tikz tempor stringa: copy stringa da cambiare ; cambiamo il colore con quello calcolato sopra punto colore: pick colori colore replace/all tempor stringa ‘ colore ’ punto colore ; sostituiamo ’ pi ’ con le coordinate con i decimali giusti for interno 1 max interno 1 [ nome punto: rejoin [‘ p’ interno ‘ ’] posizione: interno + ((esterno - 1) * max interno) punto: pick punti disegno posizione coord punto: scrive vettore punto decimali replace/all tempor stringa nome punto coord punto ] ; scriviamo la stringa in coda al TeX append stringa tex tempor stringa ] ] nome file: rejoin [ ‘IFSS/’ ifs scelto ‘-’ forma scelta ‘-’ livello max ‘-’ tipo ‘.tex’ ] ; pronto per l’input! write to-file nome file stringa tex Il prossimo programma disegna invece n punti di un IFS con probabilità. In questo caso, le matrici delle contrazioni hanno un parametro in più; per , si hanno ad esempio tre contrazioni con probabilità 33, 66 e 100: il che vuol dire che la prima contrazione sarà scelta 33 volte su 100, la seconda 66 − 33 = 33 volte su 100, e la terza 100 − 66 = 34 volte su 100. Per determinare quale contrazione scegliere, si costruisce la seguente funzione (nel caso di ): G(x) = χ[1,33] (x) + 2 χ[34,66] (x) + 3 χ[67,100] (x) , e si estrae un numero casuale x tra 1 e 100: G(x) assume cosı̀ il valore 1, 2 o 3, e si usa la contrazione corrispondente. Nel programma si usa la seguente 90 STRUMENTI E PROGRAMMI definizione di funzione caratteristica dell’intervallo [α, β], con α e β interi: χ[α,β] (x) = [min{1, max{β − α + 1 − |2x − α − β|, 0}}] , dove come al solito [·] indica la parte intera. 1 α−1 α β β+1 Il grafico di min{1, max{β − α + 1 − |2x − α − β|, 0}} Una volta assegnate le probabilità, si tratta quindi di costruire la funzione G come sopra. Per farlo, si usa una delle caratteristiche interessanti del linguaggio REBOL. Infatti, viene prima definita la funzione caratteristica (con tre parametri) che non fa altro che calcolare la funzione χ[a,b] (x), e successivamente si costruisce la stringa alfanumerica funzione_probabili che inizia con probabile: func [ics], e prosegue concatenando stringhe della forma 1 * (caratteristica 1 33 ics), 2 * (caratteristica 34 66 ics), e cosı̀ via. Alla fine viene eseguito il comando do funzione_probabili che non fa altro che prendere la stringa funzione_probabili ed eseguirla come fosse un programma REBOL. Siccome la stringa è formata in modo da essere un corretto programma REBOL, il risultato è che viene creata la funzione probabile[ics], che vale 1 se ics è compreso tra 1 e 33, 2 se ics è compreso tra 34 e 66, e cosı̀ via. In altre parole, all’inizio dell’esecuzione del programma la funzione probabile non esiste, ma viene “creata” in corso d’opera a partire dai parametri probabilistici delle contrazioni dell’IFS. Una volta costruita tale funzione, il programma è molto semplice. REBOL [‘Random IFS’] ; === FUNZIONI === ; La stessa di prima trasforma: func [ ... ] ; La stessa di prima STRUMENTI E PROGRAMMI formato decimale: func [ ... ] ; La stessa di prima scrive vettore: func [ ... ] ; funzione caratteristica di [alfa, beta] ; vedere commenti caratteristica: func [ alfa beta ics /local temp ][ temp: abs ((2 * ics) - alfa - beta) temp: beta - alfa + 1 - temp temp: max 0 temp temp: min 1 temp return to-integer temp ] ; === IFS === ; A (2x2), B (2x1), P (1x1) ; [a 11 a 12 a 21 a 22 b 1 b 2 p] ifs: [ ‘equisierpinski’ [ [0.5 0.0 0.0 0.5 0.00 0.000 33] [0.5 0.0 0.0 0.5 0.25 0.433 66] [0.5 0.0 0.0 0.5 0.50 0.000 100] ] ] ; === PROGRAMMA === ; dati iniziali ifs scelto: ‘equisierpinski’ ; quanti punti disegnare? max punti: 1000 ; raggio del cerchio di ogni punto raggio: 0.001 trasformazioni: select ifs ifs scelto probabili: copy [0] foreach trasformazione trasformazioni [ 91 92 STRUMENTI E PROGRAMMI append probabili last trasformazione ] ; il vettore con tutte le p i funzione probabili: copy ‘probabile: func [ics][’ for indice 1 ((length? probabili) - 1) 1 [ append funzione probabili rejoin [ ‘(’ indice ‘ * (caratteristica ’ ((pick probabili indice) + 1) ‘ ’ (pick probabili (indice + 1)) ‘ ics)) + ’ ] ] append funzione probabili ‘0]’ ; il prossimo comando ’crea’ la funzione ’probabile[ics]’ ; spiegato in precedenza do funzione probabili ; la stessa - o quasi - di prima stringa tex: copy ‘\tikzset{ shape/.style={ draw=gray!50, ultra thin, fill=#1 } } \definecolor{col01}{rgb}{1.0,0.0,0.0}; ; ... ; come prima ; ... \definecolor{col15}{rgb}{0.3,0.1,0.6}; ’ colori: [ ‘col01’ ‘col02’ ‘col03’ ‘col04’ ‘col05’ ‘col06’ ‘col07’ ‘col08’ ‘col09’ ‘col10’ ‘col11’ ‘col12’ ‘col13’ ‘col14’ ‘col15’ ] ; il programma vero e proprio, molto semplice ; parte da un punto P 0, sceglie una trasformazione random ; calcola P 1 e lo aggiunge alla lista dei punti da disegnare ; definisce P 0 = P 1 e riparte; si ferma dopo max punti iterazioni punto iniziale: [0 0] for contatore 1 max punti 1 [ STRUMENTI E PROGRAMMI mappa scelta: probabile (random 100) mappa random: pick trasformazioni mappa scelta nuovo punto: trasforma mappa random punto iniziale append stringa tex rejoin [ ‘\draw [shape=’ (pick colori (1 + (mod (mappa scelta - 1) 15))) ‘] ’ (scrivi vettore nuovo punto 5) ‘ circle (’ (formato decimale raggio 4) ‘);^/’ ] punto iniziale: nuovo punto ] nome file: rejoin [ ifs scelto ‘-’ max punti ‘.tex’ ] write rejoin [%Random IFSS/ nome file] stringa tex 93 Indice analitico δ-ricoprimento, 56 K(X), 21 σ-algebra, 59 REBOL, 83 tikz, 81 disuguaglianza triangolare, 9 estensione di sottosuccessioni, 27 fattore di contrazione, 15 funzione continua, 12 funzione gamma, 56 funzione lipschitziana, 12 funzioni da K(X) in sé, 33 attrattore di un IFS, 42 calcolo della dimensione box counting di IFS, 70 calcolo della dimensione di Hausdorff di IFS, 76 caratterizzazione dei compatti, 19 caratterizzazione dei limiti in (K(X), h), 31 compattezza, 19 completezza, 15 completezza di (K(X), h), 28 confronto fra dimensione di Hausdorff e dimensione box counting, 66 continuità e compattezza, 20 contrazione, 15 contrazioni su (K(X), h), 34 convergenza in (X, d), 11 curva di von Koch, 45 IFS del quadrato, 40 IFS della curva di von Koch, 45 IFS della diagonale, 35 IFS di , 38 IFS di un albero, 49 insieme aperto, 10 insieme autosimilare, 43 insieme chiuso, 10 insieme invariante, 34 insieme limitato, 10 insieme misurabile, 59 insiemi chiusi e convergenza, 11 insiemi chiusi in spazi completi, 15 iterata n-sima, 16 metrica discreta, 9 metrica euclidea, 9 misura, 59 misura di Hausdorff, 57 misura esterna, 59 diametro di un insieme, 55 dilatazione, 25 dimensione box counting, 65 dimensione box counting di , 65 dimensione di Hausdorff, 61 distanza, 9 distanza da un punto, 12, 21 distanza di Hausdorff, 23 distanza di Hausdorff e convergenza, 26 distanza di Hausdorff e dilatazioni, 25 distanza orientata, 23 punto fisso, 15 sfera aperta, 10 sfera chiusa, 10 similitudine, 70 sistema di funzioni iterate (IFS), 41 95 96 INDICE ANALITICO sistema di funzioni iterate con probabilità, 52 spazio metrico, 9 stima dal basso della dimensione di Hausdorff, 73 successione di Cauchy, 13 suddivisione di una misura, 75 teorema del Collage, 44 teorema delle contrazioni, 16 teorema di Weierstrass, 21 totale limitatezza, 19 triangolo di Sierpinski, 40 unicità del limite, 11