Scopriamo come funziona il codice di un algoritmo genetico: creiamo la popolazione

Continua lo studio degli algoritmi genetici. In questo articolo scopriremo come creare una popolazione di oggetti, necessari alla formazione di un dataset per realizzare il nostro GA.

Nel cercare di ricreare l’esempio delle scimmie nel codice creeremo una popolazione di frasi ossia una stringa di caratteri.
Incombe allora una domanda: Come creeremo questa popolazione? E’ qui che applicheremo il principio darwiniano della variazione. Intendiamo dire, per semplicità, che noi cercheremo di evolvere la frase “cat” a partire da una popolazione di tre frasi:

hug
rid
won

Nonostante ci sia varietà nelle tre frasi sopra, anche se provassimo a mescolare e abbinare i caratteri non otterremo mail la parola “cat”. Non c’è abbastanza varietà per evolvere alla soluzione ottimale. Tuttavia, se avessimo una popolazione di migliaia di frasi, tutte generate casualmente, è probabile che almeno un membro della popolazione abbia una “c” come primo carattere, uno avrà una “a” come secondo carattere, e un terzo una “t” come terzo. Molto probabilmente una grande popolazione ci darà abbastanza varietà per generare la frase desiderata (anche se ricordiamo che nella seconda parte dell’algoritmo, avremo un’altra opportunità per introdurre ancora più variazioni nel caso in cui non ce ne siano abbastanza in questa fase). Quindi potremmo essere più specifici nel descrivere il passaggio 1 dicendo:

CREA UNA POPOLAZIONE DI ELEMENTI GENERATI CASUALMENTE

Questa situazione ci porta ad un’altra importante domanda. Che cos’è questo elemento? Comunque noi analizziamo l’esempio, vedremo differenti scenari; potremmo avere una popolazione di immagini, o una popolazione di veicoli (si veda pg 308). La chiave, è che ogni membro della popolazione ha un DNA virtuale, un set di proprietà (che chiameremo geni), che descrive come un dato elemento appare o si comporta. Nel caso dell’esempio della scimmia, il DNA per esempio, è semplicemente una stringa di caratteri. 

Nel campo della genetica, c’è un importante distinzione tra il concetto del genotipo e quello del fenotipo. Il codice genetico attuale è un elemento genotipico. E’ ciò che viene ereditato generazione dopo generazione. Il fenotipo, è invece l’espressione di quel dato. Questa differenza è fondamentale per capire come useremo l’algoritmo genetico. Come progetteremo gli oggetti del nostro fenotipo? E del genotipo che li deve archiviare? Il grafico sotto ci aiuta nella comprensione di queste differenze.

 

Come si può vedere dal grafico sopra, ilgenotipo sono le informazioni digitali. Ogni colore è una variabile archiviata come intero che abbaimo scelto di rappresentare come un colore. Ora il modo in cui scegliamo di rappresentare il dato è arbitrario. Ad esempio in un altro caso avremmo potuto scegliere di rappresentare l’intero con la lunghezza di una linea, come sipuò vedere dallo schema che segue.

La cosa bella riguardo il nostro esempio delle scimmie, è che non c’è differenza tra genotipo e fenotipo. Il dato del DNA stesso è una stringa di caratteri e la rappresentazione del dato è essa stessa una stringa di caratteri. Possiamo ora essere più precisi nella definizione del primo passo che deve attuare il nostro algoritmo gentico:

CREARE UNA POPOLAZIONE DI N ELEMENTI, OGNUNO DEI QUALI E’ CONTINE UNA DNA GENERATO CASUALMENTE

COMMISSIONA UN'OPERA

Prenota una Call Online di 30 minuti per parlare del tuo progetto. Che si tratti di una opera pittorica, un murales d’interno o d’esterno, un ritratto…contattami ora!

VISITA LO SHOP

Scegli uno dei miei design, e vivi l’arte direttamente a casa tua. Scopri tutti i design, scegli le dimensioni, i colori e e ordina un’opera su misura per te!

Pittura, Scultura, Stampa 3D, Mosaico e tanto altro. Scopri tutti i corsi di formazione e accedi all’Accademy!

Ti potrebbe interessare

L’Arte come Ponte tra Culture: La Summer School all’Accademia Dei Romani con gli Studenti Cinesi di Qingdao & Wuhan – 2023

L’Arte come Ponte tra Culture: La Summer School all’Accademia Dei Romani con gli Studenti Cinesi di Qingdao & Wuhan – 2023

L’arte ha da sempre avuto il potere di andare oltre le barriere linguistiche e culturali, creando un legame unico tra individui provenienti da contesti diversi. La recente Summer School presso l’Accademia Dei Romani di Guidonia Montecelio ha dimostrato ancora una volta come l’arte possa essere uno strumento straordinario per favorire l’incontro e la comprensione tra culture diverse