Alla scoperta dell’incerto sulle orme di Mandelbrot — per la scuola, nel segno di Morin

Questa miniatura si trova sul frontespizio di una “bibbia moralizzata”. Le bibbie moralizzate erano pubblicazioni dove testi biblici selezionati venivano parafrasati, accompagnati da commenti morali e illustrati. Questa risale al 1220-1230 e attualmente si trova presso la Biblioteca Nazionale Austriaca. Famosa anche per essere stata utilizzata dal matematico Benoit Mandelbrot nel suo libro “The fractal geometry of nature” ( 1983, p. 276). Mandelbrot osserva che intorno al 1200, se scienza e filosofia languivano l’architettura fioriva — era l’epoca delle cattedrali gotiche — nessuna meraviglia quindi che Dio, intento alla creazione del mondo, usasse strumenti da architetto. La legenda della miniatura recitava: “Qui crea Dio il cielo e la terra, il sole e la luna e tutti gli altri elementi”. E Mandelbrot in questa illustrazione ravvisa tre forme geometriche, cerchi, onde e “ricccioli”, sottolineando come, mentre ai cerchi e alle onde era stata dedicata un’attenzione enorme nei secoli, i riccioli erano invece rimasti intonsi. Ha provveduto lui con la geometria frattale. Meravigliosa la consonanza, direi visionaria, fra l’intuito del miniaturista medievale e lo scenario matematico prospettato da Mandelbrot.
Riproduco questa immagine fedele in quanto disponibile nel Pubblico Dominio.

Premessa

Da quando esiste la scuola, quale istituzione destinata all’istruzione di massa, prevale l’idea che essa debba fornire competenze di base nelle discipline fondamentali. E che queste possano essere insegnate in maniera indipendente l’una dall’altra. Il quadro generale è ignorato, ancora oggi. Eventuali connessioni fra campi diversi sono incidentali, al più rare curiosità. Di conseguenza sono proprio i luoghi dove il sapere cresce più ricco a rimanere esclusi dalla formazione dei giovani. Nel panorama scientifico che la scuola lascia in eredità agli studenti manca quasi completamente il risultato più dirompente e pervasivo dell’esplorazione scientifica che ha caratterizzato il XX secolo: l’intimo intreccio tra certo e incerto che permea tutti i settori della scienza. La presenza più spettacolare dell’incerto sulla scena scientifica è probabilmente quella della meccanica quantistica, le cui leggi, delle quali l’incerto è un ingrediente fondamentale, non possono essere “comprese” nel senso che intendiamo nella vita comune. Le capiamo nel senso che le accettiamo, per un motivo molto semplice: perché funzionano, e fintanto che funzionano”. Ma perfino scienziati del calibro di Einstein non ci si sono mai realmente abituati. Ci si poteva consolare col fatto che fossero stranezze di un mondo microscopico nel quale in fondo noi non viviamo. Invece no, l’incerto ha poi fatto il suo ingresso trionfale in altri e assai diversi campi, apparentemente meno lontani dalla nostra esperienza diretta. Campi in cui non si può fare a meno di fare i conti con l’imprevedibile, a cui abbiamo dato il nome di caos.

Il caos si rivela in un’ampia gamma di fenomeni, dai più semplici, come il pendolo doppio, al moto dei corpi celesti – ci sono lune, come Hiperion di Saturno, o Nix e Idra di Plutone, i cui assi di rotazione hanno un orientamento caotico nel tempo, il che significa che è essenzialmente impossibile prevedere come tali lune gireranno nel futuro: un loro ipotetico abitante non potrebbe mai sapere esattamente quando e dove sorgerà il sole la prossima volta. O in contesti più complessi, come ad esempio quello degli eventi atmosferici – la famosa farfalla che potrebbe causare un tornado dall’altra parte del pianeta – o delle popolazioni – l‘equazione logistica è un famoso esempio di come il comportamento caotico possa emergere anche in modelli molto semplici. O, sottoforma di tracce grafiche, nelle innumerevoli forme frattali onnipresenti in natura (Peitgen et al, 1992).

L’incerto ha contaminato perfino territori che ne sembravano assolutamente immuni, come quello della logica matematica, con i teoremi di Kurt Gödel sui limiti dei sistemi assiomatici formali o quello dell’informatica teorica, con la dimostrazione di Alan Turing dell’impossibilità di risolvere il cosiddetto “problema dell’arresto”, ovvero l’impossibilità di scrivere un algoritmo per determinare se un programma si fermerà o continuerà indefinitamente – un problema con sostanziali implicazioni pratiche.

Un’altra invasione dell’incerto nel dominio matematico, meno conosciuta ma con importanti conseguenze pratiche, è quella che ha portato il matematico Jacques Hadamard (1865-1963) a definire la congenita “malposizione” di molti problemi inversi, cioè di quella categoria molto ampia di problemi con cui si vogliono rintracciare i fattori causali che hanno dato luogo a una serie di osservazioni. Ad esempio, il calcolo delle immagini tomografiche mediche, sia in radiologia che in medicina nucleare, è reso possibile dalla soluzione di un problema inverso, a partire dai dati delle radiazioni emesse dal corpo (medicina nucleare) o trasmesse attraverso di esso (radiologia). La nozione di problema mal posto descrive il fatto che, date certe condizioni sperimentali, la propagazione di piccoli errori nei dati sperimentali può causare enormi fluttuazioni nell’esito, limitandone così l’utilità. Questa è l’esatta ragione per cui, ad esempio, le immagini PET o SPECT non appaiono spazialmente ben definite come quelle della TAC.

A scuola non arriva nulla o quasi nulla di tutto questo. Si può obiettare che gli esempi precedenti richiedono trattazioni troppo complicate. A parte il fatto che delle soluzioni narrative adatte e istruttive si possono quasi sempre trovare, in realtà esistono anche degli esempi semplici. Quello della misurazione del perimetro di un’isola, che ci proponiamo di studiare in questo articolo, è un esempio di come persino cercando di risolvere un problema apparentemente “innocuo” ci si possa trovare improvvisamente nel dominio dell’incerto. È un esempio interessante perché può essere affrontato con abilità matematiche alla portata di uno studente della scuola secondaria superiore. È interessante anche perché offre prospettive di approfondimento diverse, nello spirito di Edgar Morin.

Riassunto senza matematica e con riferimenti didattici

Si inizia con il metodo empirico di misura della costa della Gran Bretagna del meteorologo inglese Lewis Fry Richardson (1881-1953). E già qui si potrebbe proporre un’interessante diversione: perché Richardson ad un certo punto si mise in testa di misurare il perimetro della Gran Bretagna? La ragione dell’interesse di Richardson non era solo imputabile all’anelito alla conoscenza comunemente e semplicisticamente attribuito ad ogni scienziato, ma una combinazione di cause, tra cui l’eccezionale circostanza storica, una propria visione di ciò che l’umanità dovrebbe essere e un impulso emotivo. Richardson non fu solo uno scienziato valente, ma anche un noto pacifista e i tragici eventi della Seconda Guerra Mondiale lo spinsero ad esplorare le ragioni di molti diverbi tra le nazioni, per esempio riguardo alla lunghezza delle coste e dei confini. Questo tipo di considerazioni potrebbero innescare delle riflessioni sul ruolo del contesto storico e sociale specifico ma anche, in generale, del contesto culturale, sociale, politico sullo sviluppo del pensiero scientifico, ben lontano da scorrere linearmente verso sorti magnifiche e progressive.

Poi, una volta esposto il metodo di misurazione di Richardson, ci siamo posti il problema di fare lo stesso con una regione circolare, al fine di capire meglio. Questo è un problema di geometria e invece di descriverlo direttamente potrebbe essere proposto agli studenti come un problema da risolvere o ripassare. Ad esempio nella forma di esercizio Logo per riprodurre la figura dei poligoni inscritti nel cerchio. Se gli studenti conoscono il concetto di limite, allora si può anche discutere il processo di limite del perimetro poligonale regolare verso quello della circonferenza, al crescere del numero di lati verso l’infinito.

Sorpresa: misurando il perimetro della Gran Bretagna o di un’immaginaria isola circolare succedono cose completamente diverse! Più che cerchiamo di essere precisi nella misura e più che il perimetro della Gran Bretragna aumenta. Invece, misurando allo stesso modo quello dell’isola circolare il risultato converge diligentemente al valore noto. Qui, confrontando i dati messi in grafico abbiamo un’ottima occasione di riflettere su cosa possa voler dire leggere un grafico (quanti cittadini sanno leggere i grafici che popolano i quotidiani?). In questo caso abbiamo due tipi di dati che si riferiscono allo stesso concetto (il perimetro di una figura piana) ma che hanno origini completamente diverse: stime calcolate a partire da dati sperimentali (mappa geografica della Gran Bretagna) e calcolo matematico esatto nel caso dell’isola circolare. Un altro approfondimento possibile è sul ruolo dei big data offerti come open data: nell’articolo si offre un codice per la misura dei perimetri a partire da dati geografici pubblici liberamente scaricabili.

Il grafico che abbiamo ottenuto ci turba alquanto: specialmente l’esplosione del perimetro della Gran Bretagna quando si usano regoli di misura progressivamente più piccoli. Viene in mente una legge di potenza. Rifacciamo il grafico in forma logaritmica, verficando che sì, è una legge di potenza perché il grafico si linearizza. Intanto ripassiamo la funzione logaritmo ma soprattutto abbiamo modo di riflettere con attenzione su cosa succeda a un grafico logaritmato (capitano anche sui quotidiani…).

Arrivati a questo punto ci facciamo guidare da Benoit Mandelbrot (1924-2010), padre dei frattali, e riproduciamo il ragionamento che fece nel famoso articolo, pubblicato su Science nel 1967 (pp. 636-637), dove propose il concetto di dimensione frazionaria alla comunità scientifica, concetto che caratterizza gli oggetti frattali. Facendo questo abbiamo una straordinaria occasione di approfondire cosa significhi pensare in modo matematico e l’attitudine fondamentale di pensare fuori dagli schemi (thinking outside the box). Seguiamo molto fedelmente il ragionamento di Mandelbrot a parte piccole semplificazioni. Per esempio lui propone una famiglia di curve matematiche matte (frattali) derivate da quella famosa di Helge von Koch (1870 – 1924). Noi utilizziamo solo questa invece, che è perfettamente adeguata per il nostro discorso. È proprio armeggiando con le approssimazioni della curva di Koch generate con Logo che abbiamo l’opportunità di immergerci nella natura ricorsiva e autosimilare dei frattali. Scopriamo che la lunghezza della curva di Koch, ancorché confinata fra due punti, estremi del segmento di partenza, ha lunghezza infinita! Presi dallo sconcerto, costruiamo un’isola delimitata da tre curve di Koch e ne calcoliamo l’area, la quale risulta invece essere finita e ben determinata! Ne conseguono riflessioni che, se ben seguite, potranno essere un tesoro per qualsiasi futuro studente STEM ma anche di vari ambiti delle scienze sociali. Insomma ovunque serva un po’ di analisi matematica.

Aggiungiamo al grafico i dati dell’isola di Koch per scoprire che essi si comportano in maniera molto simile a quelli della Gran Bretagna. Il confronto ci permette di ricavare la relazione fondamentale fra la pendenza di tali grafici e la corrispondente dimensione di frattale. Da qui discende poi una riflessione che consente di capire con precisione la differenza fra un frattale matematico e una forma naturale che riproduce, ma solo in parte quella di un frattale.

Insomma, la misurazione del primetro di un’isola: un problema apparentemente banale che ci introduce ad una delle tante regioni dell’incerto. Secondo Edgar Morin popoliamo isole di certezza sperse in un oceano di incertezza.

L’impossibilità di misurare la lunghezza delle coste

Il meteorologo inglese Lewis Fry Richardson (1881-1953) (1961) affrontò il problema della misurazione delle coste. Utilizzò un semplice processo per trovare il perimetro di un oggetto naturale percorrendo la costa con un regolo (metro) di una certa lunghezza. In questo modo scoprì un fatto sconcertante: la misurazione di una costa è un compito impossibile. O meglio: si può misurare, ma il metodo deve essere scelto tenendo presente l’obiettivo pratico specifico, perché il risultato dipende da come si effettua la misurazione. Ad esempio, diminuendo la lunghezza del regolo, il perimetro risultante aumenterà anziché convergere verso un valore preciso.

Forse il metodo è sbagliato? Proviamo ad applicarlo ad una figura geometrica della quale conosciamo tutto, compreso il perimetro, per esempio il cerchio. Il metodo di Richardson può essere riprodotto mediante una serie di poligoni regolari inscritti. I regoli di Richardson corrispondono qui ai lati dei vari poligoni.

La circonferenza c di un cerchio di raggio r è pari a c=2\pi r. L’angolo \alpha sotteso da ciascun lato di un poligono regolare con N lati inscritto è dato da 2\pi/N, e il lato è l=2r\sin{\pi/N}.

Approssimazione esagonale di un cerchio. La freccia verso l’alto indica la posizione iniziale e la direzione della tartaruga.
I primi 30 poligoni regolari inscritti nel cerchio, a partire dal triangolo equilatero. Il codice LibreLogo con il quale è stata fatta questa figura si trova nell’Appendice I.

Il fatto che i poligoni con un numero crescente di lati tendano ad approssimare il cerchio è intuitivo. Tuttavia, nel semplice caso del cerchio il risultato esatto è noto, poiché

\lim_{N\rightarrow\infty}{N2r\sin{\frac{\pi}{N}}=2\pi r=c}

Ma tornando alla misura di una costa, perché questa non dovrebbe essere possibile? Proviamo ad applicare il procedimento di Richardson alla costa della Gran Bretagna:

Misura del perimetro della Gran Bretagna con regoli delle seguenti misure:
400, 200, 100, 50, 25 e 10 km. Questa immagine e tutti i grafici seguenti sono stati prodotti con il codice R riportato in Appendice II.

Via via che la lunghezza del regolo diminuisce, il perimetro aumenta costantemente. Proviamo a fare un grafico di questo andamento.

I punti rossi rappresentano le stime del perimetro della Gran Bretagna con regoli pari a 10, 25, 50, 100, 200, 400 km, da sinistra a destra. I punti verdi rappresentano le stesse stime del perimetro di un cerchio di permietro pari a 3000 Km, per valori del regolo di misura (lato del poligono regolare inscritto) pari a 3, 4, 6, 8, 10, 12, 15, 20, 30, 60, 120, 300 km, da sinistra a destra. La linea orizzontale grigia rappresenta il valore esatto del perimetro del cerchio, 3000 km appunto.

Sorprendentemente, la stessa procedura, applicata alla Gran Bretagna o ad un’isola circolare di circa la stessa dimensione, dà risultati completamente diversi! Non solo, mentre nel caso dell’isola circolare la stima del perimetro tende asintoticamente al valore vero, quella della Gran Bretagna sembra esplodere, dando l’impressione di seguire piuttosto una legge di potenza, del tipo 1/x^n. La legge di potenza si linearizza se viene rappresentata in un grafico tipo log-log.

Anche qui, i punti rossi rappresentano le stime del perimetro della Gran Bretagna con regoli pari a 10, 25, 50, 100, 200, 400 km, da sinistra a destra. I punti verdi rappresentano le stesse stime del perimetro di un cerchio di permietro pari a 3000 Km, per valori del regolo di misura (lato del poligono regolare inscritto) pari a 3, 4, 6, 8, 10, 12, 15, 20, 30, 60, 120, 300 km, da sinistra a destra. La linea orizzontale grigia rappresenta il valore esatto del perimetro del cerchio, 3000 km appunto.

Se stimiamo la pendenza s della retta che approssima i dati di lunghezza della Gran Bretagna (punti rossi), otteniamo s=-0.22. Un risultato che ci servirà successivamente.

Fin qui il risultato empirico, di cui Richardson si servì per spiegare le discrepanze delle stime dei confini riportate da paesi diversi, nel corso delle sue ricerche sulle cause dei conflitti che contribuiscono alla guerra – oltre che un grande scienziato era un noto pacifista.

Non molti anni dopo, il matematico Benoit Mandelbrot (1924-2010) ha posto le basi della geometria frattale ragionando sui risultati empirici di Richardson in un famoso articolo pubblicato sulla rivista Science: “Quanto è lunga la costa della Gran Bretagna? Autosimilarità statistica e dimensione frazionaria”. Proviamo a seguire fedelmente il ragionamento di Mandelbrot, seppur con qualche piccola semplificazione (1967, p. 637).

Prendiamo un segmento di lunghezza 1 e suddividiamolo in tre parti più piccole, lunghe 1/3 ciascuna. Ognuna delle parti più piccole è derivata dal segmento iniziale attraverso una similitudine di proporzione pari a 1/3. In generale possiamo esprimere tale rapporto con r(N)=1/N, dove N è il numero di parti (3 in questo esempio). Facciamo ora un’operazione analoga partendo da un quadrato di lato 1 e decomponiamolo in sottoquadrati uguali, ognuno di lato 1/3; i quadrati che si ottengono così sono 9. Analogamente, possiamo decomporre un cubo di lato uno in cubetti di lato 1/3: ne otterremo così 27. Questa progressione da una a tre dimensioni suggerisce che fra il numero di elementi N in cui dividiamo una figura geometrica e il rapporto di autosimilarità valga la seguente relazione: r(N)=1/N^{1/D}, dove D è la dimensione dello spazio occupato dalla figura: unidimensionale, bidimensionale o tridimensionale per la linea, il quadrato e il cubo, rispettivamente.

OggettoNumero di elementiRapporto di autosimilarità
Segmento31/3
Quadrato91/9^{1/2}=1/3
Cubo271/27^{1/3}=1/3

Tutto abbastanza comprensibile, per ora. Quasi banale. Ma proviamo a “fare il matematico” e concentriamoci sulla relazione di auto-similarità.

r(N)=1/N^{1/D}

e proviamo a ricavarne il valore della dimensione D:

D=-\frac{\log{N}}{\log{r(N)}}

E qui ci serve un po’ di fantasia: se noi troviamo delle figure che possono essere scomposte esattamente in N parti eguali, ognuna ridotta di r(N), perché non ricavare il corrispondente valore di D? Così posta, la domanda pare quasi stupida se rimaniamo ancorati al contesto di partenza, dove la dimensione può valere uno, due o tre. Come può esistere qualcosa di diverso?

Riflessione: thinking outside the box

Esistono figure di questo tipo? La capacità di pensare fuori dagli schemi è l’essenza della creatività matematica e questa domanda ne è un buon esempio. La semplice equazione che abbiamo scritto per il rapporto di autosimilarità ha fornito un quadro solido, dipendente dalla comoda nozione di dimensione, che può valere uno, due o tre; come potrebbe essere altrimenti? Sì, sappiamo che gli scienziati possono parlare di spazi con più dimensioni — pensiamo allo spazio-tempo quadridimensionale di Einstein. Ma in ogni caso, l’idea è sempre quella di descrivere la dimensionalità per mezzo di numeri interi, anche quando si tratta di risolvere problemi matematici che richiedono di pensare in termini di spazi con molte migliaia di dimensioni — per esempio, la produzione di immagini mediche richiede la soluzione di questo tipo di problema. Le nostre decisioni di fronte al nuovo sono sempre frutto di un compromesso tra curiosità e timore dell’ignoto. Spesso, la sensazione di disagio nel territorio del nuovo induce a preferire la sicurezza di un rifugio familiare, ma così non si realizza nessuna crescita! La matematica richiede immaginazione, per trarre vantaggio dall’esplorazione matematica bisogna liberare l’immaginazione. Ma per uscire dagli schemi occorre l’atmosfera giusta, bisogna sentirsi bene. L’opposto dello stato d’animo che si ottiene con l’esecuzione di esercizi automatici di cui non si capisce il senso, in contesti competitivi e con vincoli temporali: questi sono veleni che impediscono lo sviluppo del pensiero matematico, e del pensiero in generale. E questo è anche ciò che ci stanno dicendo le neuroscienze, con l’enfasi sulla natura emotiva dei processi cognitivi (Lucangeli, 2019, pp. 215-239):

“Negative emotions crush our brain’s learning potential, whereas providing the brain with a fear-free environment may reopen the gates of neuronal plasticity.” (Dehaene, 2020, p. xxi)

Bisogna essere molto curiosi ma anche molto fiduciosi per lasciar fluttuare la variabile D, accettandone anche valori non interi. Quando si esplora fuori dagli schemi è necessario liberarsi dalla necessità di capire perfettamente tutto subito. Bisogna invece accettare l’idea che ci vuole un po’ di tempo per familiarizzare con nuovi scenari. Nel nostro esempio, il primo passo è quello di accettare l’idea che il valore di D possa essere non intero, ma ciò non implica che si capisca subito il senso di questo passo. Tuttavia, concedendosi tempo e giocando con le iterazioni del processo di Koch, alla fine potrà emergere l’idea che una linea molto circonvoluta occupi una porzione significativa del piano e che al limite sia qualcosa di ibrido fra una linea e una figura piana, e che possa essere caratterizzata da una dimensione compresa fra 1 e 2. Un processo mentale di questo genere appartiene al dominio dell’intuizione e sta alla base della creatività matematica. La sistematizzazione teorica viene dopo. L’articolo di Mandelbrot “How long is the coast of Britain? Statistical self-similarity and fractional dimension” (1967) non riporta una teoria completa sulle dimensioni frazionarie (che sarebbe la dimensione di Hausdorff per essere precisi) ma gli elementi essenziali dell’intuizione primigenia: “Non sorprende che Benoit Mandelbrot, che ha legato il proprio nome alla geometria frattale, dichiari che egli pensa sempre per immagini” (Damasio, 2007, p. 163).

Ovviamente non ci aspettiamo di dover avere sempre intuizioni del calibro di quella di Mandelbrot ma l’esplorazione di nuovi concetti matematici dovrebbe essere sempre vissuta con questo tipo di stato d’animo, e per farlo bisogna prima di tutto sentirsi bene e sentirsi bene con se stessi: “È fondamentale che gli insegnanti siano a conoscenza del legame tra emozioni e apprendimento, perché se l’apprendimento si lega a emozioni negative lo studente metterà in atto dei meccanismi di difesa e cercherà di evitare tutti gli apprendimenti che riattivano queste emozioni sgradevoli; in questo modo si può incorrrere nel rischio di allontanamento dall’apprendimento.” (Lucangeli, 2019, p. 231).

Per mostrare quindi come possano esistere curve così strane da essere associate a una dimensionalità frazionaria, Mandelbrot suggerisce di studiare la curva di Koch (o altre curve da essa derivate ma per noi è sufficiente quella fondamentale). Essa fa parte di una serie di “mostri matematici” inventati dai matematici del XIX e XX secolo, curiosità senza apparente utilità. La curva di Koch è costruita come limite di un processo iterativo. Al passo 0, tracciamo un segmento di lunghezza 1. Il passo 1 è quello di disegnare una linea spezzata composta da 4 segmenti di lunghezza 1/3 nel modo seguente:

Iterazioni 0 e 1 del processo di costruzione della curva di Koch

Qui abbiamo scomposto una figura geometrica, un segmento di lunghezza 1, in quattro elementi (N=4), ciascuno ridotto di un fattore R(N)=1/3 . Il processo viene poi ripetuto nelle fasi successive:

Iterazioni 2 e 3 del processo di costruzione della curva di Koch

Con il procedere delle iterazioni, la curva diventa più dettagliata. Tuttavia, nessun miglioramento particolare si vede al di là della settima iterazione, perché i dettagli sono troppo fitti per essere rappresentati con la risoluzione spaziale del dispositivo di rappresentazione grafica e la linea è così contorta che finisce con l’apparire come una linea più spessa e meno dettagliata.

Iterazione 7 del processo di costruzione della curva di Koch

Anche se non lo possiamo vedere, possiamo immaginare che con il procedere delle iterazioni, la linea “occupi” una quantità crescente di spazio, all’interno della linea spessa che vediamo nella figura.

Detto questo, siamo pronti a dare un significato all’equazione D=-\log{N}/\log{r(N)}. Infatti, se vi sostituiamo N=4 e r(N)=1/3, otteniamo D=-\frac{\log{4}}{\log{1/3}} cioè

D=\frac{\log{4}}{\log{3}}=1.26

Nel nostro discorso abbiamo preso le mosse dal concetto familiare di una, due o tre dimensioni e l’idea di una dimensione frazionaria appare certamente strana. Tuttavia l’idea di una linea che è così contorta da occupare “molto spazio” può evocare quella di dimensione frazionaria: non così sottile come una linea, non così spessa come una figura piana. Ebbene, questa è proprio una caratteristica tipica dei frattali, che per l’appunto hanno dimensione frazionaria. La curva di Koch è un frattale con dimensione D=1.26.

La curva di Koch sembra la mappa di una costa ed è per questo che l’abbiamo introdotta qui, avendo preso le mosse dal problema di misurare il perimetro della Gran Bretagna. Ebbene, consideriamo allora un’isola immaginaria: l’isola di Koch.

Per costruire l’isola utilizziamo il codice Logo con cui abbiamo disegnato la curva di Koch, precisamente l’approssimazione che si ottiene alla settima iterazione:

TO KOCH FF ITER 
   IF ITER = 1 [
      FORWARD FF
   ] [
     KOCH FF/3 ITER-1
     LEFT 60
     KOCH FF/3 ITER-1
     RIGHT 120
     KOCH FF/3 ITER-1
     LEFT 60
     KOCH FF/3 ITER-1
   ]
END

RIGHT 90
KOCH 150 7

La funzione ricorsiva KOCH richiede come parametri in ingresso la lunghezza del segmento di partenza, FF, e il numero di iterazioni desiderate, ITER. Ad ogni iterazione, la funzione viene chiamata tre volte, ruotando in accordo con la forma della curva di Koch; cioè viaggiando da sinistra a destra: disegno il primo segmento, giro 60° a sinistra, secondo segmento, giro 120° a destra, terzo segmento, giro 60° a sinistra, infine disegno il quarto segmento.

I segmenti sono ridotti a 1/3 rispetto a quelli dell’iterazione precedente. Ad ogni passo, il parametro ITER viene diminuito di uno, in modo che solo quando ITER raggiunge il valore di 1 il processo ricorsivo si interrompe e viene effettivamente disegnato un segmento. Così, alla iterazione k, la curva è composta solo da segmenti lunghi (1/3)^k. La funzione KOCH è definita nelle istruzioni 1-13, mentre essa viene effettivamente eseguita all’istruzione 16. L’istruzione 15 “RIGHT 90”’ determina l’orientamento della curva — questo ci torna utile per costruire l’isola. A questo punto si tratta semplicemente di disegnare una sorta di triangolo equilatero barocco, usando le curve di Koch al posto delle linee rette.

REPEAT 3 [
   KOCH FF 5
   LEFT 120
]
Quinta iterazione dell’isola di Koch

Ora inizia il divertimento: quanto è lungo il perimetro dell’isola di Koch? La derivazione matematica è semplice. Concentriamoci sulla curva di Koch, ovvero uno solo dei “lati barocchi” dell’isola. Se la lunghezza iniziale del segmento al passo 0 vale 1, la lunghezza al passo 1 sarà eguale a quattro volte un terzo: 4/3, dato che ognuno dei quattro sottosegmenti è lungo 1/3. Al passo 2 il processo viene ripetuto per ogni sotto-segmento, quindi 4(1/3)(4/3)=(4/3)^2. Quindi, al passo n, dove la lunghezza sarà di (4/3)^k. Ora, sappiamo che finché n aumenta, la lunghezza aumenterà sempre più — in termini matematici:

\lim_{k \to +\infty} {a^{k}}= \infty

a condizione che a>1, come nel caso di 4/3. Il risultato si estende facilmente al perimetro dell’isola di Koch, poiché anche la somma di insiemi infiniti è un insieme infinito:

\lim_{k \to +\infty} {3(4/3)^{k}}= \infty

E allora? La lunghezza della curva di Koch è quindi infinita? C’è qualcosa che non va? Proviamo a indagare ulteriormente calcolando l’area racchiusa da questo perimetro.

Calcolo dell’area nelle approssimazioni dell’isola di Koch. Nella fase iniziale l’isola è solo un triangolo equilatero (verde). Al secondo passo si aggiungono tre triangoli più piccoli (arancione), scalati di 1/3. Al terzo passo 3\times4 triangoli più piccoli (rosso), al quarto passo 3\times4\times4 triangoli più piccoli (viola) e così via.

All’inizio abbiamo solo un triangolo equilatero (in verde). Se il lato è l, la sua area è A_0=l^2\sqrt{3}/4. Al passo 1 dobbiamo aggiungere tre triangoli (in arancione) scalati di 1/3; al passo 2 i nuovi triangoli (in rosso), più piccoli di 1/3, sono 3\times4; al passo 3 abbiamo 3\times4\times4 nuovi triangoli (in viola) e così via. In generale, al passo k, il numero di lati sarà di n_k=3\times4^{k-1}. I lati dei triangoli più piccoli sono derivati da una riduzione successiva di un fattore di 1/3, cioè l_k=l(1/3)^k. Quindi, se A_k è l’area dell’approssimazione al passo k, abbiamo la seguente relazione di ricorrenza:

A_{k+1}=A_{k}+ n_k l_k^2 \frac{\sqrt{3}}{4}=A_{k}+l^2 \frac{\sqrt{3}}{12} \left(\frac{4^{k-1}}{9^{k-1}}\right)

Questa espressione può essere espansa nel modo seguente:

A_{k+1}=A_{0}+ l^2\frac{\sqrt{3}}{12}\left(1+\frac{4}{9}+\frac{4^2}{9^2}+\dots+\frac{4^{k-1}}{9^{k-1}}\right).

Si vede qui che l’espressione tra parentesi è la somma parziale dei primi k termini della serie geometrica \sum_n \left(\frac{4}{9}\right)^n. Considerato che

\sum_n \left(\frac{4}{9}\right)^n=\frac{1}{1-4/9}=9/5,

otteniamo il seguente valore per l’area di un’isola di Koch generata dal triangolo equilatero di lato l:

A=A_0+l^2\frac{\sqrt{3}}{12}\frac{9}{5}=l^2\frac{\sqrt{3}}{4}+l^2\frac{\sqrt{3}}{12}\frac{9}{5}=l^2\frac{2}{5}\sqrt{3}.

Questo conferma lo strano risultato: un’area finita è racchiusa da un perimetro infinitamente lungo. A quanto pare, qui ci troviamo di fronte a un nuovo concetto di perimetro. In realtà, la nostra idea di perimetro è profondamente legata alle classiche figure della geometria: quadrati, cerchi e così via. Ma qui abbiamo a che fare con una costa, o qualcosa di molto simile, come la costa dell’isola immaginaria di Koch. E qual è la differenza fondamentale? I dettagli. Le coste hanno molti più dettagli delle normali figure geometriche. Questo risultato favorisce una riflessione sui concetti di finito e infinito, che è di natura intuitiva ma prepara il terreno per l’apprendimento dei concetti di base dell’analisi matematica.

Riflessione: finito e infinito

L’isola di Koch è un’astrazione matematica: possiamo disegnare qualsiasi passo intermedio, ma non il risultato finale, che è un limite matematico. La figura ottenuta ad ogni passo è composta da segmenti, anche se progressivamente più piccoli con il progredire delle iterazioni, e il numero totale di essi è sempre finito, anche se in aumento. Pertanto, il perimetro di ogni approssimazione intermedia è finito perché la somma di un numero finito di segmenti ha lunghezza finita. L’infinito emerge invece attraverso il processo del limite matematico, che “contiene il passaggio all’infinito”. Ciò significa che non possiamo disegnare la vera curva di Koch, né possiamo rappresentarla in forma digitale. Esattamente come accade con i numeri irrazionali, come \pi, che non possono mai essere rappresentati come numeri digitali, ma solo come approssimazioni (tipo 3.14 anziché \pi, con le sue infinite cifre decimali). Per esempio, non c’è alcun vantaggio ad andare oltre la settima iterazione quando si disegna la curva di Koch, perché la risoluzione grafica di qualsiasi dispositivo di imaging non permette di vedere i dettagli più fini della curva.

Ma giocando con il numero di iterazioni, riflettendo sulla quantità di dettagli visibili, cercando di ottenere immagini ingrandite per vederne di più, rendendosi conto che non si otterrà mai la vera curva ma ad ogni iterazione se ne potrà sempre aggiungere una successiva per migliorare l’approssimazione, ebbene tutte queste riflessioni sono utili per aprire la strada al concetto di limite, che sarà fondamentale per chiunque debba un giorno affrontare lo studio dell’analisi matematica — tutte le discipline STEM ma anche altre nel dominio delle scienze sociali. E per gli altri saranno comunque riflessioni utili per allargare la mente.

Sembra quindi che, dal punto di vista geometrico, la Gran Bretagna abbia molto in comune con l’isola di Koch, nonostante la sua natura astratta — diciamo piuttosto folle — anziché con qualche forma geometrica classica. Riflettiamo su questo ponendo i dati perimetrali dell’isola di Koch nel grafico precedente, insieme a quelli della Gran Bretagna e dell’isola circolare. Per fare questo, osserviamo che la curva di Koch, ad ogni passo, N, è composta da segmenti, che possiamo assimilare ai regoli usati da Richardson per calcolare le lunghezze delle coste. Ecco cosa otteniamo:

Questo è lo stesso grafico precedente, ma con l’aggiunta dei dati dell’isola di Koch. I punti rossi sono relativi alla Gran Bretagna, quelli verdi all’isola circolare e quelli blu all’isola di Koch. Le dimensioni complessive dell’isola di Koch sono state adeguate all’incirca al valore della Gran Bretagna.

Le pendenze della retta interpolata per la Gran Bretagna e della retta sottesa dai dati dell’isola di Koch sono simili. Abbiamo visto in precedenza che la stima della pendenza ottenuta dall’adattamento statistico della curva della Gran Bretagna ha dato s=-0.22. Qual è invece la pendenza della curva di Koch? Questa può essere stimata con calcoli diretti. Per ogni passo k, cioè per ogni punto del grafico relativo all’isola di Koch, questo riporta la lunghezza del segmento, ovvero del regolo, l_k=(1/3)^k, sull’ascissa e la lunghezza del perimetro, L_k=(4/3)^k, sull’ordinata. Ora, ricaviamo L_k in funzione di l_k. Da queste definizioni possiamo scrivere

L_k=\left(\frac{4}{3}\right)^k=4^k\left(\frac{1}{3}\right)^k=4^kl_k

Abbiamo visto che D=\log4/\log3, Se teniamo conto dell’identità 4=3^\frac{\log4}{\log3}, abbiamo che

L_k=\left(3^\frac{\log{4}}{\log{3}}\right)^k l_k=4^k\left(\frac{1}{3}\right)^k=4^kl_k=3^{Dk}l_k

Poiché l_k=(1/3)^k, possiamo scrivere

L_k=3^{Dk}\left(\frac{1}{3}\right)^k=\left[\left(\frac{1}{3}\right)^k\right]^{-D}\left(\frac{1}{3}\right)^k=l_k^{1-D}

Questo risultato è interessante perché stabilisce la relazione tra la dimensione D dei perimetri e le pendenze delle relazioni fra perimetro e lunghezza dei regoli utilizzati per la sua misura, che risulta essere

s=1-D

o viceversa

D=1-s

Questa equazione ci permette di dire che il valore della pendenza in un grafico di questo tipo è una misura di quanto una curva sia “strana” rispetto alle forme geometriche regolari. Se la curva ha una pendenza in valore assoluto maggiore di zero(|s|>0) allora D>1 e tanto maggiore sarà la pendenza tanto più D si discosterà da 1. Poiché abbiamo visto cher la dimensione D della curva di Koch è 1.26, otteniamo s=-0.26, vicino al valore -0.22 ottenuto per la Gran Bretagna.

Un altro punto interessante è questo: questo risultato ci permette di dire che le coste sono frattali? Non esattamente. Nel grafico i dati della Gran Bretagna e dell’isola di Koch si comportano in modo simile ma dobbiamo tenere presente che le due linee sono di natura diversa: l’approssimazione di Koch si ottiene per mezzo di un processo matematico ben definito ottenuto mediante la riproduzione iterativa di una forma di base e, ad ogni passo, l’applicazione di un fattore di scala riduttivo, che è la definizione di frattale. La costa della Gran Bretagna (o di una qualsiasi isola vera e propria) invece è stata modellata nel tempo da una complessa concomitanza di molti fattori. Pertanto, in questo caso i dettagli hanno una natura statistica. Così, le coste naturali (e molte altre forme naturali) hanno una natura frattale, magari su una vasta gamma di scale, ma non sono frattali in senso matematico.

Il lutto della ricerca

Lutto della ricerca. Edgar Morin (2017, p.7) definisce così la deriva disciplinaristica dello scibile, che si propaga all’accademia e alla scuola. Non saprei in quale categoria porre questa piccola esplorazione, matematica? Fisica? Informatica? Data science? Non lo so ma non provo alcun interesse per trovare una risposta perché la domanda mi pare mal posta, fuorviante e inutile, specialmente nel contesto della formazione. Il sapere vero comporta la comprensione di problemi e eventualmente la capacità di risolverli, altrimenti è ridotto a informazione. In questo articolo abbiamo messo a fuoco un problema specifico al fine di estrarne una serie di spunti e possibili punti di partenza per altre esplorazioni, in campi diversi. Gli approcci descrittivi consentono di rendersi conto di cosa si stia ragionando ma la comprensione profonda di un argomento emerge quando se ne esplorano le connessioni con il resto del mondo. Altrimenti si produce conoscenza morta — per questo Morin parla di lutto. I danni sono manifesti perché il confronto fra i titoli conseguiti in qualsiasi ordine di scuola e la reale autonomia di pensiero raggiunta sono sempre impietosi. Difficile trovare datori di lavoro o insegnanti degli ordini di istruzioni successivi che siano soddisfatti della preparazione con cui i giovani affrontano le nuove sfide della loro vita. Vi sono dei casi eclatanti. Ne cito uno perché riguarda le mie attività attuali. I corsi universitari di informatica sono molto gettonati ma presentano una mortalità molto alta già al primo anno se ne perde una buona metà. Perché? Semplice: dopo pochi mesi, gli studenti scoprono che l’informatica è in buona parte una branca della matematica, spauracchio della maggioranza. Nel pensiero comune l’informatica si identifica con qualche applicazione software e con la costruzione di siti web, o poco più. Il fatto tragico è che la scuola sembri non essere minimamente in grado di correggere questa percezione errata. Non è solo un problema italiano. Hromkovič e Lacher hanno posto la questione in termini tanto precisi quanto aperti ponendo la questione in una prospettiva storica, dalla quale emerge come le idee di fondo e i dispositivi mentali che oggi ricadono nel dominio della computer science siano in realtà prodotti del pensiero che risalgono a oltre 2000 anni fa (2017). L’analisi di Hromkovič e Lacher è interessante perché non si riduce a una mera promozione del “proprio settore” ma propone una rivisitazione dell’insegnamento della scienza, della tecnologie e delle humanities, non focalizzando i contenuti quali “prodotti finali” ma sui processi che consentono di acquisire autonomamente nuove conoscenze. Una visione dove la computer science non è una “materia” da aggiungere alle altre[1] ma un insieme di metodi e strumenti matematici che consentono di mettere le tecnologie a frutto per la promozione di tutti i campi del sapere e al collegamento fra di essi.

[1] A coloro che desiderino approfondire in cosa consistano le frontiere della computer science quale scienza di base, consiglio le affascinanti avventure algoritmiche proposte da Juraj Hromkovič (2009). Un testo divulgativo ma impegnativo dove, armandosi di un po’ di buona volontà, il lettore si può fare un’idea abbastanza approfondita ad esempio del ruolo del concetto di infinito (che abbiamo incontrato anche in questo articolo) nell’informatica, del fatto che ci sono problemi che non saremo mai in grado di risolvere con il computer e del fatto che non saremo mai in grado di prevedere se un qualsiasi algoritmo avrà o meno termine, dello straordinario ruolo giocato dai metodi casuali per la soluzione di fondamentali problemi concreti, dei segreti della crittografia, dei computer quantici o biologici.

Appendice I

Questo è il codice LibreLogo usato per produrre la figura con i poligoni inscritti nel cerchio. Questo codice può essere fatto manipolare agli studenti per esercizio oppure, ancora meglio, si proporre loro di scriverlo ex-novo, guidandoli opportunamente.

R = 150                   ; raggio cerchio
C = 2*PI*R                ; circonferenza

CLEARSCREEN
HIDETURTLE
PENSIZE 0.5

REPEAT 30 [
   HOME
   PENUP
   LEFT 90 FORWARD 150 RIGHT 90 ; mi sposto 
   PENDOWN                      ; 150 pt a sn                
   N = REPCOUNT+2         ; REPCOUNT contatore
   A = 2*PI/N             ; delle iterazioni
   A2 = A/2
   L = 2*R*SIN(A2)        ; lato poligono
   D = PI/2-(PI-A)/2
   DD = D/PI*180          ; deviazione 
   RIGHT DD               ; tartaruga
   REPEAT N [             ; disegno N lati
      FORWARD L
      RIGHT DD*2
   ]
]
HOME                      ; disegno il vero 
PENUP                     ; cerchio
LEFT 90 FORWARD 150 RIGHT 90
PENDOWN
N = 360
A = 2*PI/N
A2 = A/2
L = 2*R*SIN(A2)
D = PI/2-(PI-A)/2
DD = D/PI*180
RIGHT DD
REPEAT N [
   FORWARD L
   RIGHT DD*2
]

Appendice II

Questo è il codice R utilizzato per produrre le mappe della Gran Bretagna e tutti i grafici seguenti dei perimetri in funzione dei regoli adoperati per misurarli.

Il linguaggio R è utilizzabile come software libero. Si tratta di un linguaggio per eseguire calcoli statistici. Con il tempo si è evoluto fino a diventare uno strumento estremamente potente per l’elaborazione e la visualizzazione dei dati e, in particolare, i big data. Oggi sono R e Python i due linguaggi più usati dai data scientists, che non di rado utilizzano entrambi traendo i vantaggi da i rispettivi punti di forza.

Riporto il codice a beneficio di coloro che vogliano provarlo e remixarlo, nel rispetto della licenza sotto riportato. Tuttavia il linguaggio R non fa parte degli obiettivi didattici del presente testo, al contrario di Logo e della Turtle Library di Python, rispettivamente nelle versioni LibreLogo e
TigerJython
.

Nel listato seguente alcune linee sono lunghe. Pre leggerle occorre manovrare lo slider in fondo al blocco, Oppure si può fare copia-incolla nel proprio editore di testo preferito.

# Original code: Spatial Data Science: The length of a coastline 
# https://rspatial.org/raster/cases/2-coastline.html
# © Copyright 2016-2020, Robert J. Hijmans 
# CC BY-SA 4.0 

# Remixed by
# © Copyright 2020, Andreas Robert Formiconi
# CC BY-SA 4.0 

# high spatial resolution (30 m) coastline for the 
# United Kingdom from the Database of Global Administrative 
# Areas (GADM).

library(raster)
uk <- raster::getData('GADM', country='GBR', level=0)
par(mai=c(0,0,0,0))
plot(uk)

# This is a single "multi-polygon" (it has a single feature) and
# a longitude/latitude coordinate reference system.
data.frame(uk)

# Let's transform this to a planar coordinate system. 
# That is not required, but it will speed up computations. 
# We used the "British National Grid coordinate reference system, 
# which is based on the Transverse Mercator (tmerc) projection.

# latitude to the British National Grid.
prj <- "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m"

# Note that the units are meters.
# With that we can transform the coordinates of uk from longitude 

library(rgdal)
guk <- spTransform(uk, CRS(prj))

# We only want the main island, so want need to separate (disaggregate) 
# the different polygons.

duk <- disaggregate(guk)
head(duk)

# Now we have 920 features. We want the largest one.

a <- area(duk)
i <- which.max(a)
a[i] / 1000000
b <- duk[i,]

# Britain has an area of about 220,000 km**2.

par(mai=rep(0,4))
plot(b)

# Now the function to go around the coast with a ruler (yardstick) 
# of a certain length

measure_with_ruler <- function(pols, length, lonlat=FALSE) {
    # some sanity checking
    stopifnot(inherits(pols, 'SpatialPolygons'))
    stopifnot(length(pols) == 1)
    # get the coordinates of the polygon
    g <- geom(pols)[, c('x', 'y')]
    nr <- nrow(g)
    # we start at the first point
    pts <- 1
    newpt <- 1
    while(TRUE) {
        # start here
        p <- newpt
        # order the points
        j <- p:(p+nr-1)
        j[j > nr] <- j[j > nr] - nr
        gg <- g[j,]
        # compute distances
        pd <- pointDistance(gg[1,], gg, lonlat)
        # get the first point that is past the end of the ruler
        # this is precise enough for our high resolution coastline
        i <- which(pd > length)[1]
        if (is.na(i)) {
            stop('Ruler is longer than the maximum distance found')
        }
        # get the record number for new point in the original order
        newpt <- i + p
        # stop if past the last point
        if (newpt >= nr) break
        pts <- c(pts, newpt)
    }
    # add the last (incomplete) stick.
    pts <- c(pts, 1)
    # return the locations
    g[pts, ]
}

# Let's call the function with rulers of different lengths.

y <- list()
rulers <- c(10,25,50,100,200,400) # km
# rulers <- c(50, 100, 250) # km
for (i in 1:length(rulers)) {
    y[[i]] <- measure_with_ruler(b, rulers[i]*1000)
}

# Object y is a list of matrices containing the locations 
# where the ruler touched the coast. We can plot these on top 
# of a map of Britain.
# plot-maps.png

png(filename="/Users/Andreas Formiconi/arf/Didattica/PROJECTS/POWERFUL-IDEAS/Turtle-book/coastlines/plot-maps.png")
par(mfrow=c(2,3), mai=rep(0,4))
# for (i in 1:length(y)) {
for (i in length(y):1) {
    # plot(b, col='lightgray', lwd=2)
    plot(b, col='lightgray', lwd=1)
    p <- y[[i]]
    # lines(p, col='red', lwd=3)
    lines(p, col='black', lwd=1)
    # points(p, pch=20, col='blue', cex=2)
    bar <- rbind(cbind(525000, 900000), cbind(525000, 900000-rulers[i]*1000))
    lines(bar, lwd=2)
    points(bar, pch=20, cex=1.5)
    text(525000, mean(bar[,2]), paste(rulers[i], '  km'), cex=1.5)
    # text(525000, bar[2,2]-50000, paste0('(', nrow(p), ')'), cex=1.25)
    text(525000, bar[2,2]-50000, paste0('(', nrow(p)*rulers[i], ' km)'), cex=1.25)
}
dev.off()

# Here is the fractal (log-log) plot. Note how the axes are on
# the log scale, but that we used the non-transformed values for 
# the labels.

# number of times a ruler was used
n <- sapply(y, nrow)

# Plot of perimeter lengths vs ruler lengths 
# Britain and circular isle data
# plot-lin.png

png(filename="/Users/Andreas Formiconi/arf/Didattica/PROJECTS/POWERFUL-IDEAS/Turtle-book/coastlines/plot-lin.png")
# set up empty plot
plot(rulers, n, type='n', xlim=c(5,500), ylim=c(2000,6000), axes=FALSE,
    xaxs="i",yaxs="i", xlab='Ruler length (km)', ylab='Approximated perimeter (km)')
xtics <- c(0,100,200,300,400,500,600)
ytics <- c(1000,2000,3000,4000,5000,6000)
axis(1, at=xtics, labels=xtics)
axis(2, at=ytics, labels=ytics, las=2)
# linear regression line
m <- lm(log(n)~log(rulers))
abline(m, lwd=1, col='red')
# add observations
# points(log(rulers), log(n), pch=20, cex=2, col='red')
points(rulers, n*rulers, pch=20, cex=2, col='red')
poly_n <- c(300,120,60,30,20,15,12,10,8,6,4,3)
c_rulers <- 3000/pi*sin(pi/poly_n)
points(c_rulers, poly_n*c_rulers, pch=20, cex=2, col='green')
abline(h=3000, lwd=1, col="green")
dev.off()

# Log-log plot of perimeter lengths vs ruler lengths 
# Britain and circular isle
# plot-log.png

png(filename="/Users/Andreas Formiconi/arf/Didattica/PROJECTS/POWERFUL-IDEAS/Turtle-book/coastlines/plot-log.png")
# set up empty plot
plot(log(rulers), log(n*rulers), type='n', xlim=c(1,7), ylim=c(7.5,9), axes=FALSE,
      xaxs="i",yaxs="i", xlab='Ruler length (km)', ylab='Approximated perimeter (km)')
xtics <- c(5,10,25,50,100,200,300,400,500,600,700,800,900,1000)
ytics <- c(2000,2800,3600,4400,5200,6000)
axis(1, at=log(xtics), labels=xtics)
axis(2, at=log(ytics), labels=ytics, las=2)
# linear regression line
m <- lm(log(n*rulers)~log(rulers))
abline(m, lwd=1, col='red')
# add observations
points(log(rulers), log(n*rulers), pch=20, cex=2, col='red')
poly_n <- c(300,120,60,30,20,15,12,10,8,6,4,3)
c_rulers <- 3000/pi*sin(pi/poly_n)
points(log(c_rulers), log(poly_n*c_rulers), pch=20, cex=2, col='green')
abline(h=log(3000), lwd=1, col="green")
dev.off()

# Log-log plot of perimeter lengths vs ruler lengths 
# Britain, circular isle and Koch data
# plot-log-koch.png

png(filename="/Users/Andreas Formiconi/arf/Didattica/PROJECTS/POWERFUL-IDEAS/Turtle-book/coastlines/plot-log-koch.png")
# set up empty plot
plot(log(rulers), log(n*rulers), type='n', xlim=c(1,7), ylim=c(7.5,9), axes=FALSE,
     xaxs="i",yaxs="i", xlab='Ruler length (km)', ylab='Approximated perimeter (km)')
xtics <- c(5,10,25,50,100,200,300,400,500,600,700,800,900,1000)
ytics <- c(2000,2800,3600,4400,5200,6000)
axis(1, at=log(xtics), labels=xtics)
axis(2, at=log(ytics), labels=ytics, las=2)
# linear regression line
m_b <- lm(log(n*rulers)~log(rulers))
abline(m_b, lwd=1, col='red')
# add observations
points(log(rulers), log(n*rulers), pch=20, cex=2, col='red')
poly_n <- c(300,120,60,30,20,15,12,10,8,6,4,3)
c_rulers <- 3000/pi*sin(pi/poly_n)
points(log(c_rulers), log(poly_n*c_rulers), pch=20, cex=2, col='green')
abline(h=log(3000), lwd=1, col="green")
k_step <- c(1,2,3,4,5) 
k_n <- 4**k_step
k_rulers <- 1500*((1/3)**k_step)
# linear regression line
m_k <- lm(log(k_n*k_rulers)~log(k_rulers))
abline(m_k, lwd=1, col='blue')
points(log(k_rulers), log(k_n*k_rulers), pch=20, cex=2, col='blue')
dev.off()

Bibliografia

Damasio, A.R. (2007). L’errore di Cartesio. Adelphi, Milano.

Dehaene, S. (2020). How we learn. Penguin, London.

Hromkovič J. (2009). Algorithmic adventures — From knowledge to magic. Springer, Heidelberg.

Hromkovič J., Lacher R. (2017). The Computer Science Way of Thinking in Human History and Consequences for the Design of Computer Science Curricula. In: Dagienė V., Hellas A. (eds) Informatics in Schools: Focus on Learning Programming. ISSEP 2017. Lecture Notes in Computer Science, vol 10696. Springer, Cham. https://doi.org/10.1007/978-3-319-71483-7_1.

Lucangeli, D., Bonichini, S., De Gennaro, M.A. (2019). Lo sviluppo cognitivo: dalla cognition alla warm cognition. In Lucangeli, D., Vivari S., Psicologia dello sviluppo. Mondandori, Milano.

Mandelbrot, B.B. (1967). How long is the coast of Britain? Statistical self-similarity and fractional dimension. Science, 156, 636-638.

Mandelbrot, B.B. (1983). The fractal geometry of nature. W.H. Freeman and Company, New York.

Morin, E. (1977). Il metodo 1. La natura della natura. Cortina, Milano.

Peitgen, H.O., Hartmut, J, Saupe, D. (1992). Chaos and Fractals. Springer, Berlin.

Richardson, L. F. (1961). The problem of contiguity: An appendix to Statistic of Deadly Quarrels. General Systems Yearbook, 6, 139.

%d blogger hanno fatto clic su Mi Piace per questo: