Generazione casuale
Per iniziare ho creato un algoritmo molto semplice basato sul caso e ho lasciato lavorare la macchina.
ALGORITMO CASUALE:
– Il software genera una matrice di valori casuali compresi tra 0 e 9;
– Sceglie a caso quale pilastro modificare;
– Assegna un nuovo valore compreso tra 0 e 9 scelto a caso.
Il risultato è stato in linea con quanto mi sarei aspettato: una sequenza lunghissima di forme astratte, devo dire accattivanti esteticamente, ma assolutamente non riconducibili ad alcun pattern noto. Queste configurazioni le ho chiamate “Caos”.

10 iterazioni 
100 iterazioni 
1000 iterazioni
Come si nota guardando le figure qui sopra non c’è nessuna relazione tra la forma e il numero di iterazione; la probabilità che si possa riconoscere un qualche pattern o una qualche simmetria è davvero molto bassa.
Da questo caos ho provato manualmente a cercare una qualche forma di ordine ed è nata la prima opera, dedicata a mia moglie: “Some order”:
Assegnare uno score alla forma
Per farmi aiutare dal software a generare delle forme più sensate, ho quindi implementato un semplice algoritmo in grado di associare ad ogni forma un punteggio estetico (score) da utilizzare come criterio di scelta per il valore da assegnare ad ogni pilastro.
Evidentemente sono determinanti le regole con cui viene definito lo “score”. Come primo esperimento ho usato le seguenti caratteristiche premianti:
- la simmetria
- la presenza di trend lineari per riga e per colonna.

Caos (Score 14) 
Some order (Score 35) 
Pyramid (Score 139)
Per maggior chiarezza, nella figura sopra si può vedere lo score calcolato per alcune forme: più la configurazione è simmetrica e lineare più cresce il valore.
ALGORITMO CASUALE:
– Il software genera una matrice di valori casuali compresi tra 0 e 9;
– Sceglie a caso quale pilastro modificare;
– Assegna un nuovo valore compreso tra 0 e 9 che massimizza lo score.
Con l’introduzione di un obiettivo di score, le forme astratte iniziano a lasciar spazio a pattern riconoscibili:

10 itrz (Score 24) 
100 itrz (Score 92) 
1000 itrz (Score 129)
Tuttavia, dopo qualche centinaio di iterazioni, il modello converge ad uno score stabile e non migliora più (il valore 129 è apparso poco dopo la trecentesima iterazione).
Un po’ di caso aiuta
Per provare a smuovere le acque modifichiamo l’algoritmo, introducendo un piccolo elemento casuale ogni ottantuno iterazioni.
ALGORITMO MISTO:
– Il software genera una matrice di valori casuali compresi tra 0 e 9;
– Sceglie a caso quale pilastro modificare;
– Assegna un nuovo valore compreso tra 0 e 9 che massimizza lo score;
– Il software genera una matrice di valori casuali compresi tra 0 e 9;
– Ogni 81 iterazioni assegna un nuovo valore compreso tra 0 e 9 a caso.
Lasciando girare il sistema si nota quasi sempre la caduta dello score nel momento dell’inserimento del numero casuale, anche se spesso dopo alcune iterazioni vengono raggiunti nuovi massimi.

500 itrz (Score max 132) 
1000 itrz (Score max 137) 
3000 itrz (Score max 138)






Leave a comment