Come si può selezionare il numero corretto di parametri per un algoritmo genetico per modellare un determinato sistema?
Ad esempio, supponiamo che tu voglia ottimizzare la produzione di automobili e che tu abbia 1.000 misurazioni di efficienza oraria in varie attività per ciascuno di 1.000 impiegati diversi. Quindi, hai 1.000.000 di punti dati. È probabile che la maggior parte di questi siano debolmente correlati all'efficienza complessiva della vostra fabbrica, ma non così debolmente da poter affermare che sono irrilevanti con la fiducia statistica. Come si fa a scegliere gli input per il proprio GA in modo da non avere più di 1.000.000 di gradi di libertà, con conseguente convergenza molto lenta o nessuna convergenza?
In particolare, quali sono gli algoritmi che si potrebbero usare per preselezionare o eliminare selettivamente le funzionalità?
Un approccio Io stesso ho utilizzato in questo scenario è quello di evolvere la selezione parametro stesso, quindi potrei avere genitori come {a,b,c}
, {b,d,e,q,x,y,z}
e così via. Vorrei quindi mutare i bambini per aggiungere o eliminare funzionalità. Funziona bene per alcune dozzine di funzionalità. Ma il problema è che è inefficiente se esiste un gran numero di gradi di libertà. In tal caso, stai esaminando le 10^n
combinazioni (nell'esempio sopra, 10^1,000,000
), il che rende fondamentale un pre-filtro delle funzionalità per ottenere qualsiasi tipo di prestazione utile.