Home  |  Map  |  BasiSci

Strutture evolutive automo-cellulari

Sistemi evolutivi CA

Premessa

L'insieme degli elementi fisico-matematici a cui è stato fatto cenno nelle precedenti pagine di questa sezione, offre lo spunto per un'ultima significativa tematica con potenziali ricadute di pittura generativa. L'elemento base di tale tematica è noto in letteratura con il termine automa cellulare (CA) e le forme associate sono indicate con il termine sistemi evolutivi CA. Agli automi cellulari si è già fatto esplicito riferimento nel sito in tema di forme logiche mVpO

Quando si considera la tematica degli automi cellulari in letteratura, gli esempi più diffusi sono nello spazio 2D e più raramente nello spazio 3D. Grazie alle sue caratteristiche native, il software generativo sviluppato da Turlon si presta ad affrontare e rappresentare problematiche evolutive definibili in iperspazi nD. Tuttavia l'argomento è particolarmente articolato e necessità di attività propedeutiche nello spazio 2D. 

E' a tale tipo di attività che si riferiscono le ricadute pittorico-generative sulle opere attualmente categorizzate negli autitopi. Per questioni legate al tempo dedicato agli aspetti teorici e alla programmazione software, il numero di tali opere è risultato, nei fatti, particolarmente ridotto.

I cenni matematici che seguono sono strettamente limitati al chiarimento di alcuni termini che possono comparire nella descrizione delle opere o tra gli esempi in itinere nelle varie pagine del sito.

Aspetti generali

Un automa cellulare (CA) è un modello matematico utilizzato in vari contesti per descrivere sistemi costituiti da un numero finito di elementi caratterizzati da uno stato iniziale e da stati in itinere che evolvono in accordo a un insieme di regole. Dette  regole, specifiche di ciascun CA, sono basate unicamente sullo stato in itinere di ciascun elemento e  sugli stati in itinere di elementi considerati vicini in base a criteri prefissati. L'evoluzione è scandita da un parametro progressivo t che funge da temporizzatore (ordine di evoluzione). L'insieme degli stati in itinere che compongono il CA, ad un dato ordine di evoluzione, è detto sistema CA di ordine t mentre l'insieme riferito a t=0 è detto sistema iniziale CA.

Nei contesti pittorico-generativi gli stati sono tipicamente rappresentati da colori, il criterio di vicinanza è generalmente associato all'adiacenza di elementi reticolari (es. pixel video) e il parametro progressivo è l'indice di una istruzione Loop

Fissata una base reticolare multi-dimensionale di numeri interi, il termine sistema evolutivo CA è utilizzato in questa pagina per caratterizzare tutte le forme riferibili a un nucleo originale costituito da uno o più punti base che si sviluppano cromaticamente e iterativamente in punti considerati vicini sulla base di sistemi oscillativi, funzionali nD, intero-funzionali o logiche mVpO

La costruzione di forme evolutive con le caratteristiche citate origina in generale strutture particolarmente complesse e di difficile lettura. La questione si semplifica nel caso si restringa l'operatività allo spazio 2D. Nella fattispecie, è particolarmente utile che  i passi evolutivi siano descrivibili da elementi contigui non sovrapponibili (es. sequenza monodimensionale di celle di una griglia) e che sia possibile congelare in una immagine piana bidimensionale lo stato complessivo dell'evoluzione in forme variabili a seconda dell'ordine di evoluzione. Gli esempi che seguono si riferiscono a tale costruzione semplificata, hanno carattere puramente descrittivo e si limitano a illustrare le possibilità offerte dal software per rappresentare pittoricamente i sistemi evolutivi CA.

Elementi operativi

La distribuzione degli elementi, che costituiscono un sistema CA di dato ordine t, avviene tipicamente associando tra loro coordinate di pixel video e elementi di una matrice che funge da sostegno (griglia). Il valore allo stato t associato a ciascun elemento è rappresentato da un colore univoco appartenente a una prefissata scala cromatica. L'assegnazione univoca del colore allo stato t dipende dalle regole del CA applicate agli elementi considerati vicini allo stato t-1. Di norma gli elementi considerati vicini sono pixel contigui ma, nella libertà dell'espressione pittorica, nulla vieta di allestire collegamenti cromatici tra punti non contigui definendo, di fatto, regole del sistema CA dinamicamente variabili. Un importante elemento di supporto a fini cromatici è la possibilità di perturbare il sistema CA introducendo a piacere elementi casuali di variazione degli stati sulla base di criteri probabilistici dettati da opportunità di composizione grafica.

 Sistema iniziale CA

La tipica distribuzione degli elementi che costituiscono il sistema iniziale CA avviene lungo una griglia monodimensionale di pixel variamente posizionata (segmento). In base alle caratteristiche del CA, potrà essere necessario allestire anche due o più segmenti adiacenti. Fissati gli elementi e supposte note le regole evolutive del CA, i valori cromatici iniziali sono generalmente assegnati in base a criteri o funzioni algebriche elementari. A titolo esplicativo, sono illustrati in F01 e F02 quattro esempi, riferiti a una scala monocromatica giallo-oro tra nero e banco, in cui i primi due segmenti di griglia, a partire dall'alto, sono stati, da sinistra a destra,  rispettivamente cromatizzati con una legge lineare, con una sequenza di Fibonacci, con un oscillatore e con una funzione casuale

La F01 si riferisce a un CA con regole riconducibili alla legge di Fibonacci mentre la F02 si riferisce a un CA che segue le regole dell'operatore logico XOR. A tali riconoscibili tipi di CA sarà fatto implicito riferimento nella quasi totalità degli esempi successivi.

 Il posizionamento del sistema iniziale CA lungo un segmento laterale superiore non è l'unico consentito dal software. A titolo di esempio e riferiti al medesimo CA, sono illustrati in F05 cinque esempi, da sinistra a destra, rispettivamente di distribuzioni laterale sinistra, perimetrale, centrale, circolare e funzionale arbitraria.

Perturbazioni e ordine di vicinanza

Come già accennato in precedenza, una delle opportunità offerte dal software è quella di poter inserire a piacere delle valorizzazioni casuali volte a perturbare la regolare evoluzione del CA. Tali perturbazioni possono essere propagate, con legge opportuna, ad elementi non solo immediatamente contigui ma anche sequenzialmente contigui di numero arbitrario v (ordine di vicinanza). A titolo esplicativo, sono illustrati in F05 cinque esempi, da sinistra a destra, con le risultanze perturbative riferite rispettivamente a v=1,2,4,8 e 16.

Distribuzione delle perturbazioni

L'uso di perturbazioni conferisce alle forme pittoriche significativi connotati estetici. E' pertanto fondamentale poter governare la distribuzione delle perturbazioni nella griglia in modo sia prefissato sia probabilistico. A titolo esplicativo, in F05 è illustrato un esempio di probabilità di perturbazione verticale crescente dall'alto verso il basso e, viceversa, di perturbazione orizzontale decrescente in corrispondenza di un valore prefissato in posizione aurea.

Combinazioni

Perturbazioni, ordine di vicinanza e distribuzioni probabilistiche possono essere liberamente combinate tra loro fino a ottenere le risultanze più varie e imprevedibili. Esempi in tal senso sono illustrati in F06,F07 e F08.

Tipologia CA

Come già più volte accennato, il software si presta a rivisitare i vari elementi introdotti in tema di operatori logici e funzionali nel quadro dello sviluppo di arbitrari sistemi CA. Ciascun sistema, integrato con opportuni elementi operativi, è in grado di originare complesse e articolate forme generative con precisi connotati estetici. Senza entrare in dettagli, sono illustrati di seguito tre esempi di generazione riferiti rispettivamente all'operatore logico XOR (F09), a una funzione variazionale (F10) e a una funzione di natura eterogenea (F11).

Considerazioni conclusive

Quanto sopra esprime solo in minima parte le potenzialità del software in tema di sistemi evolutivi CA. Un elemento trascinante è costituito dall'osservare come sia sufficiente introdurre semplici gradi di libertà a livello codice di programmazione (es. perturbazioni) per dar vita a nuovi, sconfinati e spesso imprevedibili scenari pittorici. 

Paradossalmente, nel contesto degli automi cellulari, sono molto più coinvolgenti non tanto le costruzioni pittoriche quanto le attività sul codice e le immediate ricadute a livello evolutivo.

Galleria sciart

Come già anticipato in premessa, il numero di opere realizzate in tema di sistemi evolutivi CA è risultato limitato. Quattro esempi di tipologia varia sono riscontrabili tra gli autitopi. In particolare, l'esempio in O063 si riferisce a un CA di origine logica mentre gli esempi in O060, O062 e O066 si riferiscono a funzionali di natura varia. In tutti i quattro casi sono evidenti i contributi perturbativi a cui è stato fatto cenno in precedenza.