Frattali oggi – 3

Com’è tradizione, le notti prive di sonno preannunciano la nascita di un nuovo numero di Frattali Oggi, il vostro punto di vista privilegiato sulle novità nell’allegro mondo del caos.

Ma prima, due parole.

Diffidate di ciò il cui nome termina in “a”. Diffidate perciò di Betta, Giulia, Luca, Andrea. Implicitamente ciò significa che potete fidarvi di Matteo, Sarah, Luppolo e Stephen King.

Uhm.

Ma, sopra ogni cosa, diffidate di un vinello nei confronti del quale mi rivolgerò amichevolmente come se fosse una donzella: la bonarda.

Non suicidatevi con la bonarda. No, davvero. Qualsiasi altro mezzo, ma non la bonarda.

Scaraventatevi giù da uno skate in corsa.
Concedetevi, dopo trecento addominali, a trecento ninfomani.
Assoldate un amico perchè vi tolga la vita a colpi di grattugia.

Ma non abusate mai di bonarda. Questo atto di violenza, infatti, spegnerebbe ogni vostro desiderio, sia quelli manifesti che quelli inconsci. Vi condurrebbe a detestare quella faccia da schiaffi che avete imparato ad amare con sforzo e fatica, e che vedete riflessa ogni giorno nello specchio. Vi costringerebbe a scrivere Frattali Oggi, invece di dormire il sonno del giusto.

Limoncello? Sì!
Mirto? Sì!
Genepy? Sì!
Fuoco dell’Etna? Sì!
Alcool denaturato? Sì!

Bonarda? Grazie, preferisco vivere.

è una campagna di sensibilizzazione contro l’abuso di bonarda.
Una volta, qui, era tutta campagna.

Ma veniamo al fulcro della nostra discussione.

Biforcazione

Si sa, ce n’è di gente strana.

Capita un giorno uno scemo a caso che mi dice: “L’oracolo,” (era erudito, aveva già appreso la necessità di anteporre sempre al mio nickname l’articolo) “avrei in mente di inventarmi una successione che funga da modello per la crescita di una popolazione di conigli. Una successione definita per ricorrenza, dove ogni iterazione rappresenti una nuova generazione, ed il cui valore sia il numero di coppie di conigli attualmente presenti nella conigliera. Tipo che all’inizio ho una coppia di conigli appena nati, che dopo una generazione trombano come dei conigli (giustamente), ed alla terza generazione mi trovo con
due coppie di conigli; poi quella iniziale persevera nell’attività trombatoria e mi sforna un’altra coppia, e nel frattempo quella appena nata raggiunge la fecondità ed inizia pure lei e sforna un’altra coppia… o qualcosa di simile. Magari ci lavoro su stanotte. Non so, una cosa come f(n+2) = f(n+1) + f(n), con f(0) = f(1) = 1.”

Io gli dico: “Sei proprio un minchione. Ma ti pare che si possa fare un modello matematico di una cosa così incasinata come il trombamento dei conigli? Va a fare trecento addominali, per favore, e poi…”

Com’è, come non è, quello era Fibonacci e tempo qualche anno si scopre che i rami nascono sugli alberi disponendosi a mò di coniglio che tromba, che ‘sta piffero di successione sbuca fuori dappertutto in natura, dalle conchiglie a chissà cosa. E lui ci fa un figurone, ed io sono ancora adesso un povero pirla che sta qui a scrivere alle sette di sabato mattina.

Cosa potevo fare io quando, qualche anno dopo, sbuca fuori un altro tizio strano, mi pare si chiamasse Malthus, e mi dice: “Mi è venuto in mente di provare a modellare la crescita di una popolazione di animali in una data zona usando una successione definita per ricorrenza…”?

Semplice, gli dico: “Vai! Sei troppo un grande! Sei troppo un gallodiddio! Fai, fai, e quando diventi famoso ricordati di me.”

Poi quello si mette a fare altre cose che non ricordo, in economia, e questa storia della successione passa sotto silenzio. Allora, giacchè mi rode (o rosico, come direbbero i romanacci), la ritiro fuori io e mi ci diverto un pochino.

Beh, l’idea è stupida come poche, in effetti. Mettiamoci in una valle ideale, Val Bonardia, un posto dove la Bonarda sgorga dai monti sotto forma di ruscelletti. Lì c’è solo Bonarda, nient’altro: niente erba, niente kinder Pinguì, un accidenti di niente.

Ci sono, in compenso, i bonardidi: sono animaletti con un lunga lingua e due occhi allucinati tipo Paolo Rossi. Il comico, dico… statisticamente, avrete almeno un parente che si chiama Paolo Rossi. No, non lui.

I bonardidi non hanno un’emerita sega da fare, e trascorrono la propria vita bevendo bonarda.

Sì, lo so, niente commenti: beh, se pensate che la vostra vita sia poi così migliore della loro fate un fischio…

Ah, già, fanno un’altra cosa oltre a bere bonarda: ecco, avete capito. Vedete che siete perspicaci?

Ahimè, la bonarda in Val Bonardia è però una risorsa limitata. Ce n’è un fottìo, ma prima o poi finisce…

Sia x il rapporto tra il numero di bonardidi attualmente viventi in Val Bonardia ed il numero massimo di animaletti che la valle può sostenere.

x = (bonardidi attuali) / (bonardidi massimi)

x è una frazione sempre compresa tra zero e uno.

La quantità di bonarda presente nella valle è dunque proporzionale a 1-x.

Con l’approssimarsi del numero di bonardidi al valore massimo sostenibile, la disponibilità di bonarda tende a zero.

Infiliamoci dentro un bel coefficiente di proporzionalità, che chiamiamo r, che terrà conto della fecondità dei nostri amichetti linguacciuti. Maggiore il valore di r, maggiore sarà la capacità della popolazione di riprendersi dopo un disastro.

La popolazione alla generazione n+1 dipenderà quindi dalla popolazione alla generazione n, dalla disponibilità di bonarda e dalla fecondità dei nostri piccoli amici.

Eccoci alfine giunti al modello vero e proprio:

x(n+1) = r · x(n) · (1 – x(n))

Quest’affare è noto in letteratura come “equazione logistica”, mi dicono.
Sì, tutto qua. Come equazione per modellare la vita di animaletti linguacciuti fa pietà, e se non ci credete ve lo giuro io. Simulare l’andamento demografico di un’intera popolazione è cosa ben più incasinata che mettersi a fare giochini con le equazioni.

Però però però… questa equazione fa giochini ben strani.

Ora prendo Matlab (che è un programma che fa conti) e mi metto a calcolare qualche valore, partendo sempre da un valore x iniziale di 0.5. Questo equivale a dire che ci sono un bel pò di bonardidi, in val Bonardia, ma non troppi: una quantità giusta. C’è ancora bonarda per tutti.

Parto da 0.5, mi calcolo un pò di valori successivi di x, e spero che non si verifichi sovrappopolazione. Il parametro su cui giocherò sara invece il coefficiente di trombamento degli animaletti, questo famoso r.

Piazziamo r uguale a 2, e vediamo cosa succede.

Calcoliamo.

x(1) = 0.5
x(2) = 0.5
x(3) = 0.5
x(4) = 0.5

…e che palle. In sostanza, il numero di bonardidi si mantiene costante, e non sono mai nè troppi, nè troppo pochi.

Distribuiamo qualche pasticca di Viagra, variando l’alimentazione delle povere bestiole, e alziamo r fino a 2.7. Che succede?

x(0) = 0.5
x(1) = 0.6750
x(2) = 0.5923
x(3) = 0.6520
x(4) = 0.6126
x(5) = 0.6408
x(6) = 0.6215
x(7) = 0.6351
x(8) = 0.6257
x(9) = 0.6323
x(10) = 0.6277
x(11) = 0.6310
x(12) = 0.6287
x(13) = 0.6303
x(14) = 0.6292
x(15) = 0.6300
x(16) = 0.6294
x(17) = 0.6298
x(18) = 0.6295
x(19) = 0.6297
x(20) = 0.6296
x(21) = 0.6296
x(22) = 0.6296

Se avete passato dieci minuti a guardare i numeri qui sopra cercando un qualche oscuro disegno, con la bava alla bocca e la tipica espressione di Homer Simpson quando pensa alle ciambelle, non avete bisogno di Frattali Oggi ma di un buon medico.

Se, invece, siete scaltri, avrete notato a colpo d’occhio che alla fine la popolazione si stabilizza: viene sempre 0.6296, non si scappa.

A questo punto, uno crede di avere la soluzione in tasca: spegne il computer, stacca la spina, si attacca alla bottiglia e si riempie lo stomaco di bonarda, esprimendo solidarietà verso gli animaletti linguacciuti ma dimostrando di ignorare i miei saggi consigli.

“Vabbè”, dice l’incauto, “i numeri fanno un pò di casino, ma poi raggiungono un certo valore e finisce lì…”

“Ah!”, dico io. “Allora ti faccio vedere cosa succede per r = 3.3, dopo un pò.”

Giù di Viagra, e…

x(0) = 0.5
x(1) = 0.8250
x(2) = 0.4764
x(3) = 0.8232
x(4) = 0.4804
x(5) = 0.8237
x(6) = 0.4792
x(7) = 0.8236
x(8) = 0.4795
x(9) = 0.8236
x(10) = 0.4794
x(11) = 0.8236
x(12) = 0.4794
x(13) = 0.8236
x(14) = 0.4794
x(15) = 0.8236
x(16) = 0.4794
x(17) = 0.8236

Due valori?!? Non si stabilizza, persevera su due valori… roba da matti…

Viagra come se piovesse, voglio fare un esperimento… r = 3.5

x(0) = 0.8750
x(1) = 0.3828
x(2) = 0.8269
x(3) = 0.5009
x(4) = 0.8750
x(5) = 0.3828
x(6) = 0.8269
x(7) = 0.5009
x(8) = 0.8750
x(9) = 0.3828
x(10) = 0.8269
x(11) = 0.5009

Quattro valori, adesso! Ma come quattro valori…

Bè, gente, non voglio annoiarvi a morte con file e file di numeri. Volete sapere che succede? All’aumentare di r, prima il sistema oscilla tra due valori. Poi, improvvisamente, si mette ad oscillare tra quattro. Poi tra otto, poi sedici, poi trentadue, poi sessantaquattro… da un certo punto in poi, CAOS!

Osservate la figura. In ascissa ci sono i valori crescenti di r, in ordinata sono tracciati, per ogni ascissa, un bel pò dei valori assunti da x.

Bifurcation thumbnail

Succede esattamente quello di cui parlavamo. è inutile che vi dica che, se con un programma apposito, ingrandissimo in zone particolari questo grafico troveremmo un grafico del tutto simile all’originale, con una linea che si biforca e poi si biforca e poi si biforca… sì, tutto ciò è un frattale.

A queste considerazioni è arrivato un signore simpatico, un tal Feigenbaum. Lo stesso signore ha scoperto che la successione dei rapporti tra le lunghezze di due tratti successivi che hanno uno il doppio degli attrattori dell’altro (cioè la lunghezza del tratto con due valori diviso la lunghezza del tratto a quattro valori, e poi la lunghezza del tratto a quattro valori diviso la lunghezza del tratto ad otto, e poi quella del tratto ad otto diviso quella del tratto a
sedici e così via) tende ad un valore costante. Questo valore, detto “Costante di Feigenbaum” vale 4.669211660910299067185320382047…

Beh, non è un numero a capocchia. Gli hanno dato un nome perchè è una costante universale, una di quelle cose tipo Pi, e, Phi… e sbuca in un mucchio di posti. Alla faccia di Fibonacci.

Per restare in ambito frattale: l’insieme di Mandelbrot, quell’immane aggeggio bitorzoluto di cui parlavamo nello scorso numero, ha un lungo “aculeo” sulla sinistra. Ad un certo punto su questo aculeo, c’è una copia in miniatura dell’intero insieme. Sull’aculeo a sinistra della copia, c’è un’altra copia più piccolina. A sinistra di questa copia, ce n’è un’altra ancora più piccola… indovinate un pò a cosa tende il rapporto tra le coordinate successive di tutte queste piccole coppie?

Fino ad ora, però, abbiamo parlato di numeri, grafici, calcoli. Tutte cose che non abbiamo molto presente quando ci stiamo ammazzando lo stomaco con la bonarda.

Eppure questo scenario di biforcazione, di frequenza che si raddoppia, si raddoppia ed infine sfocia nel caos è un pò dappertutto, basta cercarlo.

Fisici hanno scoperto fenomeni di biforcazione in esperimenti sulla convezione termica e sulla turbolenza; medici hanno scoperto che la fibrillazione del cuore è proprio un processo a cascata di questo tipo, e che le pulsazioni da regolari diventano doppie, poi quadruple, e infine si ferma tutto (e tocchiamoci…)

In effetti non bisogna poi fare troppa strada: avete presente un rubinetto con la guarnizione rotta? Pensate un attimo a come cadono le gocce, se provate ad aprire lentamente l’acqua.

Plic… plic… plic… plic… poi aprite, e…
Pli-plic… pli-plic… pli-plic…

e poi, di solito, il caos si innesca talmente in fretta che non avete tempo di rendervene conto. Ma da qualche parte c’è quel numero assurdo, e un ometto con il nome impronunciabile ride sotto i baffi.

E adesso, visto che di tempo ne ho ancora e che Frattali Oggi è comunque più breve di PC Professionale (ma qualcuno riesce a leggerlo tutto prima che ne esca un altro numero? o_O), due parole su qualcosa di più carino… almeno esteticamente.

I frattali di Lyapunov

L’equazione logistica con cui abbiamo giocherellato prima è la base per i frattali di Lyapunov. Sono frattali piuttosto recenti, e piuttosto facili da capire.

Abbiamo visto che al variare di r si passa dall’ordine al caos. Un certo Markus, insieme al suo amichetto Hess, studiava i processi digestivi al Max Planck Institute di Dortmund. Per farlo, usava un’equazione logistica modificata: invece di tenere r costante durante le iterazioni successive, faceva assumere ad r uno tra due valori, secondo una sequenza stabilita a priori.

In soldoni, questo pazzo si faceva tutta la trafila dei numeri che ho fatto io prima, ma in più cambiava pure r tra un’iterazione e l’altra. Ad esempio diceva: “Vediamo che succede se faccio valere r 2 per la prima iterazione, poi 3 per la seconda, poi di nuovo 2 per la terza, poi di nuovo 3 per la quarta…”

E questo quando andava bene e non si era scoppiato di Bonarda! In tali infausti casi, arrivava a certe seghe mentali del tipo “BWAHAHAHAH! SII! Adesso proviamo con r che vale 2.5, poi ancora 2.5, poi ancora 2.5, poi 2.9 per tre volte di seguito, poi di nuovo 2.5 magari per due volte…”

In sostanza, i valori possibili di r erano sempre due, ma il disperato li faceva variare secondo sequenze mefistofeliche.

Il grosso casino è che a lui serviva sapere se l’equazione si stabilizzasse oppure no, con r che oscillava tra due valori. E non solo: gli interessava saperlo non solo per una coppia di valori oscillanti di r, ma per una congerie di possibili coppie di valori!

Magari gli interessava verificare la stabilità per questa sequenza di valori di r:

3, 3, 4, 4, 3, 3, 4, 4…

però anche

3.1, 3.1, 4, 4, 3.1, 3.1, 4, 4…

o magari

3, 3, 4.1, 4.1, 3, 3, 4.1, 4.1…

…insomma, un gran casino.

Il pover uomo era già pronto al passo estremo, ed aveva in mano la Grande Bottiglia Finale di Bonarda, quando le venne una grossa idea (era un uomo, ma gli diamo del lei e quindi usiamo “le”. Non siete d’accordo? Andate anche voi a comprare la vostra bottiglia…)

Anzi, un paio di grosse idee!

Versione edulcorata:

Idea 1: “Poffarbacco, ma io sono un drago a calcolare l’esponente di Lyapunov di un sistema dinamico a tempo discreto fatto così!”

Idea 2: “Accipicchia, perchè non provo a visualizzare su uno schermo di un computer l’esponente di Lyapunov per un bel pò di coppie di valori di r, diciamo magari per tutti i pixel di un bello schermo in 1024 x 768?”

Versione realista:

Idea 1: “Cazzo, ma io sono un drago a calcolare l’esponente di Lyapunov di un sistema dinamico a tempo discreto fatto così!”

Idea 2: “Cazzo, perchè non provo a visualizzare su uno schermo di un computer l’esponente di Lyapunov per un bel pò di coppie di valori di r, diciamo magari per tutti i pixel di un bello schermo in 1024 x 768?”

Beh, sia che abbiate scelto la versione edulcorata che quella realista non dovreste avere grossi problemi ad entrare nell’ottica dell’idea 2: stabiliamo a priori la sequenza assassina (tipo abababab… oppure abbabbabbabb… oppure aaaabaaaabaaaab…) di possibili valori di r, e poi facciamo i calcoli assegnando ad a l’ascissa di un pixel, a b la sua ordinata.

Sull’idea 1 ci andrei più cauto… che piffero è l’esponente di Lyapunov?

Beh, quanti tra noi hanno avuto a che fare con sistemi dinamici ricorderanno che il metodo di Lyapunov è un metodo amorevole per verificare la stabilità di un sistema non lineare nei pressi di un punto di equilibrio. Se ricordo bene.

L’esponente di Lyapunov sembra essere qualcosa di simile… con un procedimento algoritmico che so applicare, ma di cui ignoro vita, morte e miracoli, prende un sistema dinamico e spara fuori un singolo numero, l’esponente di Lyapunov.

Questo numero è una sorta di logaritmo medio della variazione del valore dei parametri del sistema, ed ha una interessante caratteristica: se è minore di 0, il sistema è stabile. Altrimenti no.

Ovviamente, questo esponente si calcola con una procedura numerica e approssimata, per cui per ottenere una buona stima è necessario un buon numero di iterazioni…

Per gli algoritmici tra voi, il processo funziona così (beccatevi lo pseudocodice copiato pari pari dalle mie fonti):

totale = 0
per n = 1 a iterazioni
x = r · x · (1 – x)
totale = totale + (ln(abs(r – 2 · r · x))/ln(2)
lyap = totale / iterazioni

lyap è questo fantomatico esponente di Lyapunov.

Se volete buttarvi nella programmazione, ricordate di definire una opportuna finestra di visualizzazione e ricordate che le cose non sono semplici come sembra qui, ma nemmeno troppo complesse: ad ogni ciclo dovete anche cambiare il valore di r secondo una sequenza definita a priori.

Beh, e se adesso parlassimo di qualcosa di utile? Tipo, ma che razza di immagini vengono fuori?

Date un’occhiata alla figura, ed avrete un’idea.

Lyapunov thumbnail

La figura mostra una sezione abbastanza ampia dello spazio di Lyapunov (così chiamano codesto tipo di frattale i letterati, o meglio, i frattalati) risultante dalla sequenza aaaaaabbbbbb.

Di solito, infatti, i programmi che generano frattali di Lyapunov vi chiedono di specificare la sequenza di “cambi forzati” di r da adoperare per generare l’immagine. La cosa divertente è che potete divertirvi a vedere cosa viene fuori, ad esempio, dalla struttura metrica di un sonetto: abbaabbaabab… ed altre amenità.

Come notate, il look è radicalmente diverso da quello dei frattali di Julia e dall’insieme di Mandelbrot: questo tipo di frattale è frastagliato in certe zone e fluido in altre…

La regione in nero è quella completamente caotica: in corrispondenza di quei valori dei parametri, l’equazione logistica non si assesta mai su nessun valore, e i poveri bonardidi vedono la loro popolazione aumentare e diminuire repentinamente. Questo anche in virtù del fatto che voi somministrate quantità diverse di Viagra ai padri ed ai loro figli, con esiti del tutto imprevedibili…

Le regioni che nella figura sono in bianco, o addirittura nuovamente in rosso dopo aver fatto un giro completo della gamma cromatica, sono invece regioni superstabili in cui il sistema logistico obbligato mostra un comportamento molto regolare (ad esempio, ammette un numero contenuto di attrattori).

Appare molto evidente la lotta tra ordine e caos: regioni superstabili si trovano ogni tanto all’interno di filamenti sospesi sopra ad un mare di pura entropia.

La quantità di calcoli è purtroppo piuttosto imponente: per ottenere l’immagine che vedete ho usato 10000 iterazioni per pixel, ed ogni iterazione implica il calcolo di un logaritmo… tutto pane per le unità floating point dei vostri processori. Beh, vi comprate ‘sti computer smodati, vorrete fare qualcosa di più che giocare a campo minato (pardon, fiorito)?

Anche con 10000 iterazioni si intuisce che manchi qualcosa del grande disegno complessivo. Quando finalmente arriverà a casa mia il computer quantico che ho ordinato la settimana scorsa da chl mi divertirò a usare valori di iterazioni improbabili, e calcolerò un poster che ricopra l’intera superficie del muro sopra il mio letto con una risoluzione di 600 pixel per pollice.

Oppure potrei risparmiare per far installare quegli specchi sul soffito… naah, so già come andrebbe a finire: li userei solo per vederci la mia faccia da schiaffi riflessa alla mattina. Faccia che già detesto per via della bonarda. A volte, la vita è davvero triste.

Se qualcuno desiderasse ricevere l’immagine originale da cui è tratto il ridotto jpg, mi faccia pure un fischio. è tutta un’altra cosa, visto che è un bel frattale di 2048 x 2048, ma…

a) sono due mega di file .png
b) piuttosto che scaricarlo, scaricatevi un qualunque programma per generare frattali e generatene uno uguale

Bene, amici frattalofili, anche per questa volta è tutto. Complimenti per la tenacia (io non sarei mai arrivato fino in fondo…) ed a risentirci prossimamente, con un nuovo numero di Frattali Oggi.

Bibliografia

“Caos – La nascita di una nuova scienza”, James Gleick (sempre lui)

“L’angolo matematico”, di Dewdney, su “Le Scienze” n.279, novembre 1991

L’help in linea di Fractint, da sempre una miniera di utili informazioni.

9 pensieri su “Frattali oggi – 3

  1. ypocrites

    ..non era l’ultimo episodio, vero?

    Mi sono sempre chiesta che cosa ci stanno a fare due occhioni da civetta sospesi e immobili (e senza il resto della civetta) in uno spazio che ha una dì in meno della (da noi immaginata) realtà.

    Insomma, ho bisogno della Matematica dei Puffi per capire perché quell’affare attrasse tanto Lorenz!

    ..in un’attesa forse insperata di un’altra notte insonne..

  2. oracolo Autore articolo

    Ach, una richiesta esplicita!

    Non posso sottrarmi: la prossima puntata parlerà dell’attrattore di Lorenz (e di qualche altro metodo per fare la pasta con lo spazio delle fasi di un sistema dinamico :-))

  3. ale

    dai!! quando esce la quarta rivista online????

    non vorrai fare restare l’acquolina in bocca per altri 3 anni a ypocrites?????

  4. ale

    beh, a dir la verità ho scoperto questi articoli sono 1 settimana fa ;)
    perchè pensavo di fare una tesina per la maturità sui frattali ;)

    se esce la prossima puntata ne sarò contentissimo! sei veramente bravo! grandeeee ;)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *