lunedì 16 aprile 2012

Come funziona il generatore automatico di testi

Nel post precedente ho parlato di un generatore automatico di testi in "lingua italiana". Ecco come ho fatto a costruirlo (ho usato il python perché mi piace, ma anche chi non lo conosce dovrebbe essere in grado di seguire il sorgente, il linguaggio non lo conosco bene nemmeno io e quindi non ho usato costruzioni strane e incomprensibili).

L'idea di base è questa: non faccio una analisi statistica del testo, perché tenere una tabella delle frequenze di tutte le possibili sestine diventa improponibile. Uso invece il testo stesso come generatore.

E cioè: leggo il testo in memoria e, quando ho bisogno di generare un carattere, estraggo una lettera a caso dal testo. E fin qua è facile.

Se devo generare delle coppie di caratteri, invece, faccio così: all'inizio leggo una lettera a caso, poi a partire da un punto casuale del testo cerco la prima occorrenza di quella particolare lettera, e scelgo la lettera immediatamente successiva. Memorizzo quest'ultima lettera e continuo così.

Se poi devo generare delle terne tengo in memoria una coppia di lettere, e a partire da un punto casuale del testo cerco quella coppia e prendo la lettera successiva, e così via.

Vediamo un po' se si capisce il sorgente. Partiamo così:

f=open("i_promes.txt","r")

testo=f.read()

testo=testo.replace("\x0D","")
testo=testo.replace("\x0A","")

N=len(testo)

from random import randrange

M = 1000 #dimensione massima del testo da generare
K = 6 #memoria del generatore casuale

buffer=testo[randrange(N)]
if K==0:
  buffer=""

output=""

Dovrebbe essere semplice: leggo tutto il file all'interno della variabile testo, tolgo dai piedi i caratteri di line feed e carriage return, memorizzo in N la lunghezza del testo, e importo la funzione che mi serve per generare numeri casuali. Poi definisco M, la lunghezza del testo che deve essere generato, e K, la memoria del generatore (nello scorso post ho mostrato il risultato per i valori di K che vanno da 0 a 6).

Poi inizializzo un buffer che memorizzerà i caratteri che dovrò cercare (ma se K è uguale a zero il buffer non mi serve, quindi lo riazzero (lo so, era più elegante inserire un if, ma questa è una correzione dell'ultimo minuto…), e preparo la variabile che memorizzerà l'output e che si chiama, giustamente, output.

Ora viene il bello: la funzione che cerca, all'interno del testo, la prima occorrenza dei caratteri contenuti nel buffer. Il testo viene immaginato infinito, quando arrivo alla fine ricomincio dall'inizio.

def trova(lista,posizione):
  #restituisce il carattere successivo a quelli presenti nella lista
  #a partire dalla posizione data, cerca la prima occorrenza di lista
  #(l'ho chiamata lista, ma e' poi una stringa, ehm)
  l=len(lista)

  if l==0:
    return randrange(N)
  
  trovato = False
  c=0
  j=(posizione) % N

  while not trovato:

    if lista[c]==testo[j]:
      c+=1
    else:
      j=j-c #devo riportare indietro j, maledetto
      c=0

    if c==l:
      trovato=True

    j+=1
    j%=N

  return j%N


Questa funzione trova la posizione in cui compaiono tutti i caratteri di lista, a partire dalla posizione indicata dalla variabile posizione. Le prime righe fanno funzionare il generatore senza memoria: se la lista l è vuota, restituisci un numero casuale e basta. Altrimenti vai avanti.

La variabile trovato si occupa di fare terminare il ciclo; all'inizio non ho ancora trovato niente e quindi è settata a False. La variabile c serve per scorrere il buffer, e la j invece scorre il testo (la j viene sempre usata modulo N, in modo da essere riazzerata se supera N).

Poi comincia il ciclo di ricerca: fino a che non è stato trovato tutto ciò che è contenuto nel buffer si fa una ricerca: se il primo carattere del buffer è uguale al carattere nel testo, aumento c di 1 (così successivamente proverò col secondo carattere del buffer, col terzo, eccetera), altrimenti vado avanti. Il vado avanti mi ha fatto penare, e questo è il motivo del commento nella riga j=j-c.

Le cose stanno in questo modo: supponiamo che il buffer contenga le lettere "abc" e che nel testo siano presenti invece le lettere "aabc". Allora il primo confronto ha successo, ma il secondo no: c viene riazzerato, ma j non deve proseguire dal terzo carattere del testo, cioè b, ma deve tornare indietro. So che mi sono spiegato male, ma provate a togliere la riga maledetta e vedrete che non funziona più.

Il resto è facile: se c è uguale alla lunghezza del buffer l, ho trovato tutto quello che cercavo. Segnalo il tutto settando la variabile trovato e restituisco j (che è stato già incrementato di 1 e che quindi punta al primo carattere dopo la stringa trovata). Ed ecco fatto.

Manca il programma principale, molto semplice:

for i in xrange(M):
    j=trova(buffer,randrange(N))
    buffer+=testo[j]
    output+=testo[j]
    if len(buffer)>K:
      buffer=buffer[1:] #cancello il primo carattere


print output

Faccio un ciclo lungo M, all'interno del quale chiamo la funzione trova. Aggiungo al buffer e a output il nuovo carattere restituito da trova, e se il buffer è troppo lungo lo accorcio.

Fine.

Se avete idee per migliorare, dite pure. Con un generatore a memoria 6 comincia a diventare lento.

domenica 15 aprile 2012

Sul concetto di entropia

Prima di parlare del concetto di entropia, ecco una citazione di Shannon, cioè di colui che l'ha definita nell'ambito della teoria dell'informazione:

La mia più grande preoccupazione era come chiamarla. Pensavo di chiamarla informazione, ma la parola era fin troppo usata, così decisi di chiamarla incertezza. Quando discussi della cosa con John Von Neumann, lui ebbe un'idea migliore. Mi disse che avrei dovuto chiamarla entropia, per due motivi: "Innanzitutto, la tua funzione d'incertezza è già nota nella meccanica statistica con quel nome. In secondo luogo, e più significativamente, nessuno sa cosa sia con certezza l'entropia, così in una discussione sarai sempre in vantaggio".

Quindi l'entropia è una cosa misteriosa (alla fine, un numero) che rappresenta la quantità di informazione trasportata da un messaggio, o anche una misura dell'imprevedibilità con cui si susseguono i caratteri del messaggio stesso.

Mi spiego meglio: se il messaggio è "1111111111", non è che esso trasporti una gran quantità di informazione. Se una sorgente trasmette sequenzialmente dei caratteri, e io vedo che questi sono sempre degli 1, bé, non sarò sorpreso se, mettendomi in ascolto, osservo in continuazione degli 1. Detto in un altro modo: un libro in cui l'unico carattere utilizzato è 1 è un libro abbastanza noioso, e non ho problemi a immaginare come andrà a finire.

Se invece apro un libro e leggo "Il cielo sopra il porto aveva il colore della televisione sintonizzata su un canale morto", ecco che già faccio fatica a prevedere cosa succederà dopo, e mi vien voglia di andare avanti a leggere (poi cambierò idea dopo tre pagine, ma questa è un'altra storia). Il testo trasporta più informazione di quello banale composto solo dalla cifra 1, anche se in esso è presente ancora della ridondanza. Ad esempio, riconosco il fatto che si tratta della lingua italiana. So che se vedo una "q" è molto probabile che dopo ci sia una "u".

Se poi mi trovo davanti a un testo completamente disordinato, qualcosa del tipo "k853LhbzTF" (testo generato tramite il servizio random.org, che assicura di generare in modo davvero casuale i caratteri), ecco che esso è completamente irriconoscibile e imprevedibile. Non posso sapere quale sarà il prossimo carattere.

Bene, non dirò nient'altro sull'entropia, prima devo studiare… Però vorrei mostrare i risultati di un esperimento.

Ho preso un testo della lingua italiana (di cui non rivelerò ora il titolo), ed ho fatto una statistica sulle frequenze delle singole lettere. Dopodiché ho costruito un generatore casuale di testi che rispetti la statistica trovata: ecco il risultato:

h ban se;ldf lnam idecos ao uobuguceandoi rozin rt iiemPeoiadoroel:r tangvaaanitirnata n ie r aaoin lcrl iigmmprci,n'neriu eaìvrs dl n omgPruunnsed!ais e vrauaeabito va.' ennictu o h ie iso onemn c msfa ete eo ete.n'c oauaonreo asemi ae oszào, iie ef s o rrrihlie ePirgeoreunssad ioedatc arte,t ecal i olseo quiirom cp qia vram aiuhnr lesaanacponeaaho eìcnidcfo elsrenrtlcioaoauichis egoo.eevss fhspie lu ehenrbo gaodelnaomoo:oftpzitn oe uodacaau A qvtm àmlaa od na l,u aud romrudia d ai, etfcssinid s iunldanaouvi giuleer hngr io ouaanrncnoios vo,- oan iaaiscìutir:sn; rt ipp -i faeecqQseenhu btir cen aeetev mn spesoaot se ,sia mclnnuden eitn eascsnacpeet a tao nuaoe soreeecesig pò o o oe cctoiòiaiu' oaai cete ?,lfas p nlnl etrteria ersnoeaneaenaqrplen o reaangoileo'enrloeitltc aùittvnn ,qaussst-i i uuna r i oozitsptevcrinotgliiolnccpa aea;tv aiciEotnanoeoa clIcaepofeetttenaslin aeais ntrn c,o a o t rrt urn nbdvo eeel sne osmnartsg ùna-ignstzcr itcnu madom nn

Totalmente incomprensibile, ma se fate un'analisi delle frequenze, scoprite che l'andamento è quello della lingua italiana.

Questo generatore di testi è senza memoria: ogni lettera non dipende dalla precedente, il sistema non ricorda nulla. Se esce una "q", dopo potrebbe uscire qualunque lettera.

Ho allora provato a costruire un generatore diverso, a memoria 1, in cui ogni lettera dipende, in un qualche modo, dalla precedente. Ho insomma seguito la statistica delle coppie di lettere della lingua italiana. Ecco qua:

eno sutrtiaitrila fagugl è e ce ment'è APo, - che ssi a e'eri dia meva seroves' da Viniso enongntencomatuell'è E vina. rglunti, anunorelosì diuofono, ltel veradadi era guerd'aneverorina crove e sisare Laramen di d'e, liabrsici querirtttisuche le fenne pe.Litò, de, ciatrò no.Ini ater nn funnuti diguerovi emevamen a be pechemisto, spitto all'astenevera, cavenio bbernzimo ss'avamichen'etelllla chi Tri scenochemei io merso, duscranontade avelotò a'ive, de chanto. bin o, coratomo me a e quaronn pesue aruo devesté enzavò erte ve pprbavosego, n e ma inda. ma e cuia arva qungilantovavirinelche, cori din Ciù cinovi nto. i illì? to nderela po, enzi dò danzzidisuonacoi anelun del ua, dincheti; ceve spre Di - ccal stedopproste Indasase, lendosomia quore pe di, a pennta i apopomisccore enessere evantanzzaler cicia con iù a, co. esi che cigi si Avenzina chol'orone patrbendeli di l ginqunove le; ccassstolerca erolltrero. pittol di futerm'atti. che a, co. sa Ehe vevoran Ve tenca iarinonongl'i la, di F

Visto cosa succede? Vengono generate delle parole che assomigliano, in modo molto vago, a parole italiane. Se volete giocare, non andate avanti nella lettura e provate a capire quale romanzo è stato usato per istruire il generatore. Secondo me non ci si riesce ancora, ma forse passando a un generatore a memoria 2 (cioè che tenta di seguire la statistica delle terne di lettere della lingua italiana) si riesce a capire qualcosa di più:

iona mo, che, doti: no nella quessarle come posio, più corresta unoripore che che farete nonervi miluttibito cappessacomene diatto anombacch'eranombo più ra Ma segli spel che guil po' mi che, ogno diver tumio, se inta ner lui, mezza, e. Il se inato d'er darcio: le ogolo l'un l'alerse pe verla vogolortiremispersichione no l'ormoste quer unon quanda che par che fostitandissi più di me fato que' verobasciate suovermagio. Scaveneva po e ta, - E quai. E, diste, lì ano chiancato, il pregna che distrimaizion rangue rità. Ne alchigno inonnizio co a corsigna maccribenz'avederno lortava, ganch'esen tire che ra medesto pova quallegrassigo ce no vi menzabittero sappezzo si e da e lo c'essempada partudeverancorava lavate, ri paggiorio, - Si Maggianducambe alibrazi trosappere sciusome paglitano dole da suoi il no da Gettorsi tre; in in griver la pia in purlo, in crivò occoricenno, d'unavanchia luole do be te se ri ve; e Rodre chi soperani fato, né il co campiù mun posta, ci, e no fati, posennal 386.

Un indizio c'è… Ma è certamente più facile risolvere il quesito con un testo generato da un generatore con memoria 3:

dott'effensolla finessuno s'asperfino; e, non mondo, per la tale si racchie dunquella scoppo che gli e invano, com'è accorso, in que' tempossata. Perchessar non sonaria, 13 fero Renza convenion venti par raccio; e racchi ricava in quella.- La gli chi, acco! magine, perca ho tro, e ancorre i botto, le conte Amare ad astata il 1629, ricura sbravamo. Giovarolentivamente: voci parebbe con fuorecissi, zamportunni.- Zittigato ancia e picchiozze, quellire: il che rappensiemeri in cera, che sequillecielargo se prime nella cheneficinquelloquesta in creder che s'ace dopo, inari mando dal sorroratichie difest'invenece arri tire: a fiori, fino, vede col tempresumano don anza sta letervitazio: e tutto: una più per rimaste d'una farsi in quel parlò da l'altri, non la stella tava più precausa. Alloro pre a rimiti, in questamenturba, riposse essegrido che lontare o che una sta andettere di passigno, padre, figli anche ne diverso la l'uominare? Non celli amincorso della suo rimammele me stra quale, in

Qui si riconoscono intere parole. Vado avanti ancora un po', ecco quello con memoria 4:

rebbe far cosa?- Io stare non ha regoli. Avuto fermaron si povero. Renzo ebbe vitato parte megliamento quell'idee superfluo. Prestarsi tutte passarmi stessero di spasimo; lasciò a così che stare, affaccente a ogni porti, lascicantando, questa padrone; ha facesse addosson ne sospetta, si tutto proprivaron tutto. " Ha delle giorno tutte le pane si dànno del vicenda; ma e con un'inchino al privile aveva piazioni poteva, si diede a forse, gettò deferenico andavanti argo. - Ben preti, dà lui con gli stesso. Socchiamaron desto d'Agnescolta, eran facenzo, e con si ragazza tutto asse forza di può con gli era un altri. - Senza, facevamo poi posalità, come poueri d'estralascio; ma che, di boccettare in cui o gli riveste dall'aria disse: - mi causa, divere: diver aprir consonaggio d'esser avvicinò, e che, e più alla monache, sentì necessi, confuso che la viotto da essendo da poco, guardando signor del cominaccia; nessuno, e dondo della se niente a di no, insegnetto, d'avessero malgrado signore? C

Memoria 5:

mo che, o piuttosto a' suoi prova innanzi don Federigo Borromeo, dovesse verso sudice qui, e si storia, che tempo è...?Ma in visto, bisogno d'ubbidirla, come scappa la grazia, rimescolata: ora il cappello, a guardata, che una tese ben essersi trovale, una nuova partite qualche spinge in fretta loro un po' di...! - Meno aspo; e senza arrivava, che, forusciti ad imitava colui che mette comanda, una parte scorsi che noi, per buon se le farmi il passo fissato.- Un po' di sorte, che andato, distribuiti alla mezzo a intrappeso, al peggio che lì, per verità: giacché il carattenzione di venendo legittima.- Renzo tanti, in buona grande davanti nobile incontrasti. Gli atti, era solitudine, legati posto all'acquistata con una scellera, guardando furono di bene. Chi è dovere una presenza terrotte piccolo quotidi, " il conti, vederei. A nessuno di cosa, doveva sentì in mezzi a torbidandosela con quale s'appagorgia, si volesse; e sarebbe a un tempo. Vinse la bianchi degni di corpo, bisogna pecorelle

E infine memoria 6:

mpo aspettata racconterò poi s'avveda.- Basta, aumentaneamenti, d'aspettava in vece vi desideri, l'immaginazioni, ai sacchi, e d'osteri, l'incarico. Una di quelli arruffate, dicendo: - è qui apposta a' monatti, il più fitti che s'avesse più alieni da dove fosse un po' dall'altra parola, arrivasse immoto; spoglia, s'alzò mezzo della morte mia, dal suo paese, avendo risaputo tenere provar la vedremo lasciar andar loro facesse ora che passeggiero era di nuovo in colloquio che credeva quindi disse, con un parentado: dice uno; onde l'orrore, figliuola; e si potesse di protezione, non provare. Ma vogliam crederlo lì quel desiderio, aveva infatti... coll'aiuto m'accorgersi e fautorità spontanetto, che potesse alla carità... gran fatti, alcuno di colui?- Sì, signoria inediti, e spediti e a male prode nelle stanza trovando pur dare avanti, il povero. - Brava gli animi alternativamento di fare una parte, più esperimento che non s'era poi, qualche di sopra questo Raccolse questi momento? - domand

Se non avete ancora capito (impossibile), vi dirò che in una prova che ho fatto mentre mettevo a punto il programma che ho usato per generare tutti questi testi è saltato fuori un certo Don Abbondanza…

giovedì 12 aprile 2012

Steampunk

Se il Nautilus fosse un essere vivente, invece che un sottomarino, secondo me potrebbe avere dei figli fatti così:





Questo cosino si chiama disfenoide camuso, ha 12 facce triangolari, ed è molto simpatico.

mercoledì 11 aprile 2012

È una specie di magia

Il divertimento nel costruire poliedri col Geomag non consiste soltanto nel soddisfare la fame della propria sindrome di Peter Pan (cosa che, comunque, dà una certa soddisfazione): c'è anche qualcosa di più. Il fatto è che tu sei lì, con mille magnetini in mano che ti scappano da tutte le parti, cerchi di fare stare insieme l'aggeggio che stai costruendo puntellando un po' qua, un po' là e, quando metti l'ultimo pezzo, tac, ecco la magia: ci sta! La figura si chiude perfettamente, ti accorgi che è giusta così, e a volte ti chiedi come sia possibile che tutto si combini.

Poi, magari, ti chiedi anche come hanno fatto a studiarli e a capire che mettendo insieme un po' di quadrati e di triangoli si sarebbe ottenuta una figura stabile e chiusa. E ti immagini che salti di gioia avrebbero fatto Euclide o Archimede con in mano una scatola di Geomag, o con l'accesso a un computer con un software di geometria dinamica.

Comunque sia, non ho abbastanza pezzi per costruire altri solidi archimedei (accidenti, non riesco a fare il pallone da calcio). Alcuni solidi hanno poi facce troppo grandi (ottagoni, o decagoni) che andrebbero sostenute con un interno rigido, che non esiste in commercio. E allora ho provato a costruire qualche poliedro ancora più strano.

Questo piccolino qui, ad esempio:



si chiama ebesfenomegacorona e, sì, l'ho scelto principalmente per il nome. Wikipedia riporta l'etimologia: hebes sta per ottuso, in latino, sphenós sta per cuneo, in greco, mégas sta per grande, sempre in greco, e corona è corona sia in latino che in italiano. Quindi potremmo chiamarlo anche grande corona ottusa cuneiforme. Tre quadrati e diciotto triangoli che magicamente stanno insieme.

martedì 10 aprile 2012

Chiralità

Questo poliedro apparentemente poco regolare




è uno dei tredici poliedri archimedei. La sua particolarità (oltre al nome, naturalmente: si chiama cubo camuso oppure cubo simo) è quella di essere chirale: questo significa che se lo mettiamo davanti a uno specchio, l'immagine che vediamo non è identica a quella reale — un po' come quando osserviamo una nostra mano allo specchio.

Dunque esistono due versioni di cubo simo: una destrogira e una levogira. Quella che vedete è quella destr levog è una delle due.

Nomi fantastici

Se si prende un cubo e si troncano sia i vertici che gli spigoli (cosa che non si riesce a fare con Geomag, purtroppo, questa volta le misure dei magneti non si adattano al troncamento) si ottiene una figura che si chiama rombicubottaedro, che già di per sé è un nome importante.



Se osserviamo bene, possiamo notare una specie di cintura fatta di quadrati (costruita con magneti blu), sui cui bordi sono appoggiate due scodelle, una con la concavità verso l'alto e una con la concavità verso il basso (costruite con magneti rossi). Bene, questa constatazione ci permette di chiamare questo solido anche col meraviglioso nome di ortobicupola quadrata elongata.

E non è finita qui: se allineiamo le due scodelle in modo che a un quadrato della parte superiore corrisponda un triangolo della parte inferiore, e viceversa, otteniamo un nuovo poliedro, che non è più un solido archimedeo:



e che viene detto girobicupola quadrata elongata.

lunedì 9 aprile 2012

Il tetraedro troncato

A partire da un tetraedro,



eliminando i quattro piccoli tetraedri ai vertici si ottiene il tetraedro troncato, composto da quattro esagoni e quattro triangoli (qui gli esagoni sono stati riempiti da triangoli, altrimenti la figura non sta in piedi)



Ed ecco il cubottaedro

A partire da un ottaedro un po' grosso,

 

tagliando le sei piramidi a base quadrata, si ottiene un bel cubottaedro, composto da otto triangoli e sei quadrati.



venerdì 6 aprile 2012

Babbo, ma quando posso giocare io?

Il figlio piccolo ha tirato fuori la scatola dei Geomag, e io non ho potuto resistere. Volevo costruire una struttura autoportante, ma non il solito icosaedro. E allora ho costruito un icosaedro più grande…

 

La struttura è solidissima, e mette in evidenza le sotto-strutture pentagonali che non appaiono quando si costruisce un icosaedro più piccolo.

E allora, rimuovendo le piramidi a basi pentagonali e sostituendole con pentagoni di plastica che hanno lo scopo di rendere la struttura più solida, e aggiungendo poi qualche triangolino, si può costruire anche un fantastico icosidodecaedro:



Dodici pentagoni e venti triangoli, sessanta spigoli e venti vertici: uno dei tredici poliedri archimedei.

A me pare bellissimo.

martedì 3 aprile 2012

Snumeratezza

Si stava parlando, in seconda, di pi greco (ogni tanto capita, si vede che è un numero che attira la curiosità, non so) e uno studente ha domandato: ma è vero che qualcuno ha calcolato sei miliardi di cifre di pi greco?

Io ho risposto che, sì, certamente qualcuno le avrà calcolate; e ora scopro che il record attuale è di oltre mille miliardi, ma non è questo il punto. Il punto è che lo studente poi, stupito, si è chiesto quanto tempo ci avrà messo, questo pazzo furioso, a calcolarsi sei miliardi di cifre di pi greco a mano.

Allora io gli ho fatto notare che il pazzo furioso ha certamente usato un computer, che è impossibile che se le sia calcolate a mano, e gli ho chiesto di provare a calcolare quanti quaderni gli ci sarebbero voluti per contenere sei miliardi di cifre, utilizzando una cifra per ogni quadretto. E lui mi ha guardato strano, come se gli avessi assegnato un compito impossibile.

E l'ho invitato a provarci, partendo dai quadretti contenuti in un foglio. Aiutandosi magari con un righello (i quadretti sono da 4 millimetri, di solito) si trova che in un foglio ce ne stanno circa 52×73, cioè 3796. Un quaderno standard ha 20 fogli piegati a metà, cioè 40 fogli, 80 facciate, per un totale di 303680 quadretti.

I numeri cominciano a diventare grossi, e non è semplice immaginarseli; ora si può calcolare il numero di quaderni necessari per contenere sei miliardi di cifre di pi greco: una semplice divisione ci dà il risultato di 19757, facciamo 20000.

Quanto spazio occuperanno ventimila quaderni? Quanti ce ne stanno in questa stanza? Quanto è grande questa stanza? Ma come facciamo a calcolarlo, dobbiamo prendere un metro?

Ho risposto che non serviva una misura precisa, che sarebbe bastato dare un'occhiata alle mattonelle sul pavimento, che sono quadrati di circa 20 centimetri di lato. Per farla breve, è risultato che l'aula può contenere più di 400000 quaderni. È impossibile, ha esclamato qualcuno. Abbiamo sbagliato i conti! E allora io l'ho invitato a fare una stima più semplice, quella del numero di mattonelle presenti sul pavimento. E lui ha risposto che, boh, saranno state cinquanta, forse cento. In realtà con una divisione si è scoperto che sono 900. Così tante? Impossibile!

Poi è saltato fuori anche un altro argomento, classico quasi quanto il pi greco: quante volte si può piegare un foglio di carta. Ho iniziato con un problema noto (a quelli pratici dell'ambiente, naturalmente): se si potesse piegare un foglio di carta quante volte quante si vuole, quante pieghe si dovrebbero fare per arrivare fino alla Luna? Gli studenti hanno stimato a occhio che sarebbero serviti milioni di pieghe, mentre tutti sanno che la risposta è un semplice 42. Effettivamente è una risposta che ha dell'incredibile, ma è giusta.

Sembra che il record per la piegatura di un foglio di carta sia, attualmente, pari a 12 volte (quello di 13 pieghe non è stato omologato perché il malloppo risultante non stava in piedi da solo, ma aveva bisogno della stabilizzazione fornita dal peso di qualche studente). Qualcuno mi ha chiesto perché non si riesce a fare di più, in fondo basta avere a disposizione un foglio molto grande. L'ho invitato a fare il calcolo, prendendo ad esempio un foglio di carta grande quanto un campo da calcio (in ogni classe c'è sempre qualche studente che conosce le misure di un campo da calcio al millimetro).

Le misure di un campo da calcio sono variabili, per un'area che va dai 6400 agli 8250 metri quadrati: facciamo 8000. Dopo la prima piega diventano 4000, poi 2000, poi 1000, 500, 250, 125 (facciamo 128), 64, 32, 16, 8, 4, 2, 1. E siamo arrivati alla misura di un foglio A0. Dividiamo ancora una volta e otteniamo un A1, poi un A2, un A3 e infine un A4. Totale: 17 pieghe, che corrispondono a uno spessore di 217 pagine, cioè 131072. Piegando un foglio delle dimensioni di un campo da calcio si ottiene un libro di più di 130 mila pagine. Vedete, ho detto prendendo in mano un foglio A4, su un campo da calcio ci stanno centotrentamila fogli fatti così. E qualcuno, nonostante l'evidenza matematica, ha detto che era impossibile.

Ecco, tutto questo per dire che noi ci preoccupiamo di spiegare argomenti complicati come le disequazioni, i radicali o la geometria euclidea, usiamo l'algebra per astrarre sempre più, tendiamo a non eseguire più operazioni ma ci accontentiamo di indicarle, mentre chi ci sta davanti ha pochissima praticità già con i semplici numeri, quando sono un po' grandi (dove grande significa superiore a 20, di solito (le dita delle mani più quelle dei piedi, sì)).

E anche io, che ho scritto queste cose, ho un po' paura a schiacciare il bottone pubblica, perché potrei avere fatto qualche errore di calcolo. Sai che figura, dopo.