fractalZip 0.0.1 alpha

Fractal Galaxies Dopo aver letto l’articolo sull’innovativa rete Netsukuku (di cui Punto Informatico ha trattato in ben 3 pagine ricche di speculazioni sulla teoria del caos e sui frattali) mi sono chiesto se le teorie millenaristiche delle mente catanesi fossero attuabili.
La loro idea parte dal presupposto che per svincolarsi dai network centralizzati occorre creare una rete neurale pura, nella quale ogni nodo svolge la funzione di un router che quindi non sono più dedicati: insomma un sistema di routing peer-to-peer che sfrutta un fantomatico protocollo Npv7 che risolve l’angusto problema computazionale con un non meglio precisato meta-algoritmo di routing (meta perché non esegue una sequenza di istruzioni matematiche definite ma sfrutta il caos, che non richiede alcun calcolo) chiamato QSPN che sfruttando il caos evita un consumo elevato di CPU (in altre parole, anche una semplice calcolatrice puo’ usare il QSPN per stare connessa in Netsukuku) mentre usando i frattali riesce a mantenere la mappa dell’intera rete costantemente sotto i 2Kb (un frattale di prima specie è una struttura matematica che si può comprimere all’infinito, proprio perché, al suo interno, ogni sua parte è formata dal frattale stesso, mentre un frattale di seconda o terza specie (Julia e Mandelbrot, rispettivamente) riproducono se stessi solo con similarità, ma sono comunque rappresentabili matematicamente in modo relativamente semplice).
Il tutto si potrebbe anche estendere alla telefonia mobile: invece di sfruttare una rete gerarchica a celle, la rete decentralizzata Netsukuku renderebbe superflua l’esistenza degli attuali gestori di telefonia mobile.
Ora questi sono scenari futuribili ma ancora lontani dalla realtà odierna: prima di creare un programma in linux occorre innanzitutto porre le basi matematiche ai propri ragionamenti. Purtroppo tale matematica non è stata ancora sviluppata e le scoperte sulla compressione frattale sono ancora lungi da venire.

Ed è discutendo queste assurdità con Davide che lui ha avuto la bella idea di scrivere un articolo sulla compressione frattale di un ipotetico programma simile a Winzip: fractalZip (il nome l’ho coniato io, il resto dell’articolo è farina del suo sacco).

fractalZip 0.0.1 alpha Questo articolo non è la presentazione di un nuovo software ma vorrebbe esserlo. Infatti <strong>fractalZip</strong> è il nome che si potrebbe dare ad un software di compressione dati basato su algoritmi che sfruttano i <strong>frattali</strong>. Mi spiego meglio: prendete un frattale di Julia. Fatto? Bene. Un esempio è quello in figura. Ebbene, <strong>i frattali sono figure autosimili, con livello di dettaglio infinito</strong>. Ingrandendo un immagine come questa infatti, vedreste zone piccolissime del frattale che assomigliano al frattale a livelli di ingrandimento inferiore. E’ vero che questi ingrandimenti successivi si assomigliano ma da uno zoom all'altro vengono introdotti dettagli di complessità diversa. Questo significa anche che <strong>esistono sequenze di pixel (e in definitiva di bit) di ordinamento qualsiasi</strong>.

Ma siccome questi oggetti matematici sono disegnabili a partire da formule matematiche ricorsive basate sui numeri complessi ma in definitiva abbastanza semplici, è possibile calcolare facilmente queste sequenze di bit. Se quindi volessimo ricavare da un frattale una particolare sequenza di bit di lunghezza <em>L</em>(corrispondente ad un file), ci basterà individuare il punto di inizio x<sub>0</sub>, y<sub>0</sub> (che corrisponderà al bit iniziale), il valore <em>s</em> dello step (l'intervallo di avanzamento lungo l'asse <em>x</em>, ad esempio) e la lunghezza <em>L</em> del file.<br /> Inviando dunque x<sub>0</sub>, y<sub>0</sub>, <em>s</em>, <em>L</em> e l'equazione del frattale (per il tipo Julia è a<sub>n+1</sub>= a<sup>2</sup><sub>n</sub> + c) ad un qualunque altro computer, questo sarà in grado facilmente (dipende ovviamente dalle capacità di calcolo di tale computer) di ricostruire il file orginale, indipendentemente dalla grandezza di tale file. Questo significa che <strong>il rapporto di compressione sarebbe enorme, impensabile con le tecnologie attuali.</strong>

Fin'ora tutto bene, ma <strong>questo ragionamento potrebbe funzionare solo se in un frattale di Julia ci fossero tutte le combinazioni possibili di bit </strong>(e non solo un infinito di ordine inferiore). Mi spiego: l'insieme dei numeri pari è un insieme infinito perché infiniti sono i numeri pari, ma non descrive ovviamente tutti i numeri possibili perché mancano i numeri dispari. L'insieme di tutti i numeri interi è comunque un infinito dello stesso ordine dei soli pari, perché possono essere messi in corrispondenza biunivoca. Se invece prendiamo un piano, l'insieme di tutti i suoi punti è un infinito di ordine 2 (praticamente infinito elevato al quadrato) rispetto all'insieme dei punti di una retta, che è un infinito di ordine 1. Rapportato a fractalZip, da questo ragionamento si evince che <strong>pur essendoci una infinita varietà di sequenze di pixel e bit in un frattale, forse non ci sono <em>tutte</em> le possibili combinazioni e quindi non tutti i file sarebbero comprimibili. Ma è ancora tutto da dimostrare</strong>. In ultimo, ma non per importanza, potremmo non riuscire mai a trovare il punto x<sub>0</sub>, y<sub>0</sub> sul piano complesso da cui far partire l'algoritmo. <strong>Insomma questo tipo di compressione, seppur un viaggio affascinante nella matematica e nella tecnologia informatica, potrebbe non essere realizzabile. Ma è ancora da dimostrare il contrario</strong>. E se qualcuno dovesse trovare un modo per risolvere i problemi su esposti può scrivere un breve commento a questo articolo oppure, a scelta, prenotarsi per il prossimo premio Nobel. :D


Lascia un messaggio

Il tuo commento:


Chiudi
Invia e-mail