Il mapping dei valori ridondanti
Quando un gene può assumere un numero finito di valori validi
discreti possono verificarsi problemi. Se si usa una
rappresentazione binaria e il numero dei valori non è una
potenza di due, allora alcuni dei codici binari sono ridondanti,
infatti non corrispondono a nessun valore valido del gene. Per
esempio se un gene rappresenta un oggetto selezionato tra un
gruppo di dieci oggetti, allora 4 bit saranno necessari per
codificare il gene ( infatti le cifre dopo 1001 che cosa
rappresenteranno?).
Durante il crossover e la mutazione non possiamo garantire che i
codici ridondanti non si manifestino. Il problema è cosa farne.
Questo problema non è stato studiato in maniera molto
approfondita perché gli studiosi si sono maggiormente
concentrati su funzioni continue dove questo problema non si
manifesta. Comunque sono state proposte delle soluzioni:
- scartare il cromosoma come illegale
- assegnare al cromosoma un basso fitness
- mappare un codice invalido verso uno valido (cioè assegnare a
un cromosoma non valido il valore di quello valido che gli sta più
vicino).
Le prime due soluzioni daranno molto probabilmente
risultati insoddisfacenti perché rischiamo di scartare cromosomi
con buoni geni. Ci sono buoni metodi di sviluppare la terza
incluse rimappamento fisso e rimappamento casuale. Nel primo un
particolare valore ridondante è rimappato verso un valore valido
specifico, questo è molto semplice, ma ha lo svantaggio che
alcuni valori sono rappresentati da due modelli con bit
differenti, mentre gli altri sono rappresentati da uno solo. (Nellesempio
precedente, i codici per i numeri da 10 a 15 possono essere
rimappati per i valori da 0 a 5, così questi valori sono
rappresentati due volte, mentre quelli da 6 a 9 hanno una
rappresentazione singola).
Nella random rimapping un valore ridondante è
rimappato verso un valore valido casualmente. Questo evita il
problema rappresentativo, ma passa meno informazioni ai figli.
Il rimappamento probabilistico è un ibrido tra queste due
tecniche. Tutti i valori dei geni (non solo quelli in eccesso)
sono rimappati verso uno dei valori validi in maniera
probabilistica, come se ciascun valore valido avesse uguale
probabilità di essere rappresentato.