mercoledì 14 gennaio 2015

La complessità dei sistemi di numerazione e l’Università Stradale di Matematica


Il 28 Dicembre scorso sono stato a Napoli insieme ad amici e rispettive famiglie come ormai mi capita da diversi anni. Lo scopo e’ quello di trascorrere una giornata nella nostra Napoli visto che siamo “emigranti” ormai da piu’ di 20 anni. Rivivere le atmosfere colorate di Napoli, i suoni tipici del Natale, assaggiare i piatti tipici e visitare le mostre di presepi e’ diventata ormai una consuetudine. Non puo’ mancare una visita a San Gregorio Armeno, Piazza Miraglia, Via Duomo e le vie del Decumano.
Mentre passeggiavamo nella zona dei Tribunali all’altezza dell’ex Libreria Guida (vicino Scaturchio a Via Mezzo Cannone) ci siamo imbattuti in un gruppetto di persone che ascoltavano un signore con una bacchetta in mano che puntava dei cartelloni con su quadrati pieni di numeri. La sorpresa e’ stata tanta. E’ strano trovare per strada una persona che parli di matematica facendo divertire il pubblico incuriosito. Partecipando ad uno dei giochi proposti e con una piccola offerta si poteva ottenere una laurea in matematica niente di meno che dall’Universita Stradale Matematica di Napoli.



A consegnare l’onorificenza il signor Giuseppe Polone, campano con appena un diploma di quinta elementare alle spalle. Qui di seguito alcune fotografie scattate in strada.



Il Signor Polone e’ noto per aver partecipato ad alcune trasmissioni televisive come esperto di quadrati magici. Ha girato il mondo ed e’ tornato da poco dagli Stati Uniti per tentare di stabilire un record come lui stesso racconta: "Sono tornato a Napoli dagli Stati Uniti perchè ho intenzione di stabilire il guinnes world record". “Ho solo la quinta elementare ma riesco a fare calcoli estremamente complessi. Vere opere d'arte su carta".
Quando parla di "opere d'arte" Giuseppe si riferisce alla sua "invenzione". Una torre alta 35000 millimetri del peso di 35000 grammi che su ogni lato riporta una serie di quadrati riempiti da numeri sia di tre che di quattro cifre. "Se si somma una qualsiasi riga, colonna o diagonale di quattro numeri" continua Polone, "il risultato sarà sempre 35000".



L’opera matematica viene mostrata e spiegata a tutti, lasciando di stucco curiosi e turisti fermi ad osservare i velocissimi calcoli. "Voglio portare Napoli nel mondo" conclude Giuseppe, "grazie all'intelligenza e all'arte matematica".
Il giochino matematico a cui abbiamo assistito e’ diverso da quello della torre. Di seguito i dettagli. Polone propone 6 matrici con all’interno dei numeri. Chiede di pensare ad un numero da 1 a 60 e di mostrare in quali matrici e’ presente il numero pensato. Fatto cio’ con la meraviglia dei presenti Polone indovina il numero.



Tutti a bocca aperta a chiedersi ma come ha fatto? Appena ci siamo allontanati gli amici, ovviamente, mi hanno chiesto: “ tu che sei un matematico hai capito come ha fatto?”
Ho preso in mano il foglio con le 6 matrici e l’ho guardato. Dopo una decina di minuti, mentre passeggiavamo per le stradine di Napoli ho trovato la soluzione. Si trattava di utilizzare il sistema binario. Come tutti sanno il nostro sistema di numerazione (quello decimale) e’ un sistema posizionale con 10 cifre: 0,1,2,3,4,5....9
A seconda della sua posizione, ogni cifra puo’ avere un valore diverso. Tutto quello che serve sono le potenze di 10 e le dieci cifre da 0 a 9. In questo modo possiamo rappresentare tutti i numeri interi. Per esempio se consideriamo il numero 149 lo possiamo pensare come:
1*102 +4*101+9*100
Allo stesso modo per il sistema binario utilizziamo le cifre 0 e 1 e le potenze di 2. Lo stesso numero 149 in base binaria e’ dato da:
1*27+0*26+0*25+1*24+0*23+1*22+0*21+1*20
Questo significa che se consideriamo tutti i numeri interi tra 1 e 60 questi li possiamo rappresentare come somma di potenze di 2. Nell’immagine di seguito ho riportato una matrice dove vengono rappresentate le potenze di 2 (prima colonna a sinistra) da utilizzare per ottenere i primi 60 numeri interi (riportati nella prima riga). In parole povere una cella bianca indica uno 0 del sistema binario mentre una cella colorata un 1. Il numero 35, per esempio lo possiamo scrivere come:
35=1+2+32=20+22+25
Osservare il bellissimo pattern che emerge con chiare strutture nidificate.



A questo punto il gioco e’ fatto. Basta raccogliere in matrici 6x6 i numeri appartenenti allo stesso colore. Nella matrice che inizia con 1 avremo tutti i numeri dispari. Nella matrice che inizia con 2 tutti i numeri di colore verde chiaro e cosi via. Osservare che la prima matrice contiene i numeri con il pattern: una cella bianca e una colorata; la seconda i numeri che hanno 2 celle bianche e due colorate, la terza i numeri con tre celle bianche e tre celle colorate e cosi via. Se il nostro spettatore pensa al numero 45, indichera’ la prima, la terza, la quarta e la sesta matrice. Ai “maghi matematici” bastera’ sommare il primo numero in alto a sinistra delle matrici indicate per indovinare il numero pensato. Nel nostro caso avremo: 1+4+8+32=45. E il gioco e’ fatto.



Per chi di voi mi segue da un po’ avra’ capito guardando l’immagine nidificata di cui sopra che questa somiglia all’output di un tipico automi cellulari (vedi mio post). Questo fa pensare che alla base di un semplice sistema di numerazione possa esserci in agguato la complessita’. Non a caso Stephen Wolfram il papa’ degli automi cellulari ha dimostrato che partendo con delle semplici regole matematiche si possono generare delle strutture altamente complesse. La semplicita’ puo’ indurre la complessita’.
Ma e’ vero che dei semplici sistemi di numerazione possono dare origine a dei comportamenti complessi? Guardando alla maggior parte dei testi di matematica sembrerebbe di no. Eppure se guardiamo i risultati di esperimenti eseguiti al computer (quindi non quelli di calcolo a cui siamo abituati) facilmente ci accorgiamo che anche semplici sistemi di numerazione possono portare ad un comportamento complesso. Quale e’ l’origine di questa complessita’? E come e’ legata alla complessita’ degli automi cellulari? Si potrebbe pensare che questa sia una questione semplice e che essa abbia una risposta immediata. Eppure non e’ cosi. La matematica tradizionale non aiuta a trovare una risposta. Anzi secondo quanto riporta Wolfram nel suo voluminoso testo “A new kind of science” la matematica non fa altro che aggiungere confusione alla questione. Secondo lui, il problema di base e’ che i numeri nella matematica tradizionale vengono maneggiati in modo diverso da come vengono maneggiati nei computer. La matematica tradizionale assume che i numeri sono degli oggetti elementari il cui unico attributo rilevante e’ la sua grandezza (dimensione). Ma per un computer i numeri non sono oggetti elementari. In realta’ essi devono essere rappresentati in modo esplicito riportando in genere una sequenza di cifre. Il sistema di base utilizzato dal computer e’ il binario e non quello decimale perche’ l’informazione immagazzinata in un semplice condensatore di una memoria dinamica o il floating gate di una memoria flash e’ la presenza o meno di carica elettrica. Quindi il modo piu’ naturale per maneggiare questa informazione e’ quello di usare un sistema a due cifre. Questo significa che i numeri all’interno di un computer sono rappresentati da sequenze di 0 e 1 in modo simile a quanto succede con gli automi cellulari. E le operazioni con i numeri corrispondono ai diversi modi con cui si possono aggiornare le sequenze di 0 e 1. Nella matematica tradizionale i dettagli di come queste operazioni vengono eseguite sono considerate irrilevanti. Ma quello che vedremo qui e’ come la complessita’ si sviluppa nei sistemi basati su numeri e come essa e’ molto simile a quella degli automi cellulari proprio analizzando questi dettagli.
Per iniziare osserviamo cosa succede partendo col numero 1 e aggiungendo ad esso 1 ad ogni step. Il risultato sara’ la semplice successione dei numeri naturali 1, 2, 3, 4, 5, 6, 7, 8, ... La grandezza di questi numeri ovviamente forma una semplice progressione. Ma se invece di guardare alla grandezza dei numeri guardiamo alla sequenza delle cifre allora emerge qualche cosa di piu’ complicato. E infatti, come visto precedentemente la successione delle cifre in base due dei primi 60 numeri interi forma un pattern molto interessante con una struttura di base nidificata. L’immagine si seguito mostra cosa succede sempre in base 2 se uno invece di aggiungere 1 aggiunge dei numeri diversi come 2, 3, 4, 5… Ad un livello superiore tutte le strutture risultano simili tra loro.



Se invece dell’addizione usiamo la moltiplicazione i risultati che otteniamo sono completamente differenti. Vediamo cosa accade se uno parte con 1 e ad ogni step moltiplica per 2 il risultato precedente. In base due, l’operazione di moltiplicazione per 2 ha un semplice effetto: spostare di un posto verso sinistra la sequenza di cifre aggiungendo uno zero a destra. Il risultato e’ una semplice diagonale nera (vedi immagine a sinistra). Ma se il fattore moltiplicativo e’ 3 anziche’ 2, allora le cose vanno in modo completamente diverso come l’immagine a destra mostra. La complessita’ e’ veramente elevata con delle strutture triangolari che sembrano apparire in modo del tutto casuale. Eppure abbiamo fatto una semplice moltiplicazione per 3.



E se continuiamo a fare evolvere nel tempo questa procedura otteniamo una struttura simile con i triangoli disposti secondo una distribuzione apparentemente casuale.



Esattamente come per gli automi cellulari sembra che un semplice sistema di numerazione puo’ dare origine a comportamenti altamente complessi e apparentemente casuali. Si potrebbe pensare che la complessita’ osservata in questa immagine possa essere una conseguenza del fatto che stiamo osservando i numeri in termini della sequenza delle loro cifre e che questa sia assente nel caso in cui guardiamo i numeri in termini della loro grandezza (dimensione). Ma alcuni esempi mostreranno come cio’ non e’ vero.
Come primo esempio consideriamo cosa accade se moltiplichiamo n per 3/2 partendo con n=1.
1, 3/2 = 1.5, 9/4 = 2.25, 27/8 = 3.375, 81/16 = 5.0625, 243/32 = 7.59375, 729/64 =11.390625, ...
L’immagine di seguito mostra la sequenza delle cifre di questi numeri in base 2. Le cifre direttamente sotto e a sinistra dell’uno originale corrispondono alla parte intera di ogni numero (per esempio 1 in 1.5) mentre le cifre a destra corrispondono alla parte frazionaria (per es. 0.5 in 1.5).



Di nuovo la presenza di strutture complesse allo stesso tempo del tutto casuali. Un fenomeno simile puo’ essere visto anche in sistemi che coinvolgono numeri interi e non solo numeri frazionari. Consideriamo una piccola variante della procedura ora analizzata: se il numero ad un particolare step e’ pari allora va moltiplicato per 3/2; se il numero e’ dispari, allora prima aggiungere 1 e poi moltiplicare per 3/2. Ovviamente questa procedura genera sempre numeri interi e se partiamo con 1 la sequenza di numeri che si ottiene e’
1, 3, 6, 9, 15, 24, 36, 54, 81, 123, 186, 279, 420, 630, 945, 1419, 2130, 3195, 4794, ...
Alcuni di questi numeri sono pari mentre altri dispari. La comparsa di numeri pari e’ dispari sembra del tutto casuale.



Nonostante la mancanza di un ordine, la dimensione dei numeri cresce in modo regolare. Cambiando leggermente la procedura possiamo ottenere una crescita meno regolare. Come esempio possiamo prendere un numero ad un particolare step e se esso e’ pari moltiplicarlo per 5/2 altrimenti aggiungere 1 e moltiplicare per 1/2. Se si parte con 1 questa procedura ritorna 1 come output ad ogni step. Con diversi numeri come punto di partenza questa procedura da’ origine ad un comportamento ripetitivo. Ma qualche volta puo’ generare un comportamento decisamente piu’ complesso.



Anche se guardiamo alla semplice dimensione dei numeri naturali, quindi, possiamo ottenere una elevata complessita’ con comportamenti analoghi a quelli degli automi cellulari. C’e’ comunque da precisare che le regole utilizzate per gli automi cellulari sono molto differenti da quelle utilizzate per i sistemi di numerazione. Le regole degli automi cellulari infatti sono sempre locali: lo stato di una particolare cella dipende solo dallo stato della stessa cella ad un istante precedente e da quello delle celle vicine. Per i sistemi di numerazione, invece non c’e’ alcuna localita’. Nonostante questa differenza il comportmento globale e’ molto simile. Si conferma che usando semplici regole o procedure, anche partendo con una configurazione iniziale semplicissima come puo’ essere il numero 1 e’ possibile generare dei comportamenti altamente complessi. E come Wolphram ipotizza e’ possibile che sia proprio questo fenomeno alla base della maggior parte della complessita’ che osserviamo in natura.
http://www.wikio.it