Sulla moderna base di calcolo di EvoX, il parallelismo tensorizzato e il Runtime unificato hanno giàscala di calcoloallargato notevolmente questo collo di bottiglia: popolazioni, risultati di valutazione e stati dell'algoritmo possono essere interamente eseguiti su GPU, dispositivi acceleratori o cluster distribuiti, e decine di migliaia di valutazioni candidate non richiedono più un'elaborazione seriale una per una. Una volta sbloccata la potenza di calcolo, il punto debole che limita l'efficacia dell'evoluzione si è spostato altrove —il metodo stesso con cui si generano le soluzioni candidate è ancora definito manualmente in anticipo e resta fisso durante l'esecuzione.
I limiti dell'ottimizzazione tradizionale: si occupa solo di trovare soluzioni, non partecipa al miglioramento della ricerca
Gli algoritmi di ottimizzazione tradizionali sono molto abili nel cercare soluzioni all'interno di uno spazio di ricerca dato: data una strategia di mutazione, un insieme di parametri e una struttura di vicinato, generano ripetutamente soluzioni candidate, le valutano e le selezionano. Il problema è che questo meccanismo di generazione delle candidate è una costante progettatadall'esternoe l'algoritmo non la modifica durante l'intero processo di esecuzione. In altre parole, viene cercata solo la «soluzione», mentre il «modo di generare le soluzioni» non viene cercato.
- La strategia di ricerca, i parametri o il meccanismo di generazione delle candidate sono definiti manualmente in anticipo e restano fissi durante l'esecuzione.
- Una volta fissato il metodo di generazione delle candidate, il sistema può solo ripetere lo schema prestabilito e difficilmente si adatta in modo estensivo al problema, all'ambiente e al feedback.
- Sebbene l'algoritmo sappia trovare soluzioni, esso stesso non partecipa al miglioramento del processo di ricerca.
L'azione chiave di EvoX: spostare il livello del problema verso l'alto
L'evoluzione dei metodi trasforma il «come generare le soluzioni candidate» da scelta progettuale esterna a oggetto ricercabile ed evolvibile. L'azione centrale di EvoX non è solo ottimizzare le soluzioni candidate, ma anche ottimizzare il metodo che le genera: ad esempio, impostazioni come la strategia di mutazione, il fattore di scala F e il tasso di incrocio CR nella differential evolution possono entrare nel ciclo evolutivo ed essere costantemente adattate in base al feedback.
Il sistema quindi effettua la ricerca simultaneamente su due livelli:«la soluzione» e «il modo di generare le soluzioni». Quando la forma del problema cambia, l'ambiente si sposta o il segnale di feedback varia, anche il livello del metodo può essere riscritto di conseguenza, invece di lasciare che una strategia euristica fissa affronti da sola ogni scenario.
Perché questa motivazione è il fondamento dei contenuti successivi
Spiega il punto di svolta tra EvoX e un normale ottimizzatore: come il confine dell'oggetto di evoluzione continua a espandersi verso l'esterno, come l'algoritmo stesso possa essere migliorato e come il sistema possa tendere verso l'evoluzione a cascata e continua, tutto si fonda su questo «spostamento verso l'alto» di livello. La base di calcolo risolve il «se sia possibile calcolare su larga scala», mentre l'evoluzione dei metodi risolve il «se, mentre si calcola su larga scala, anche il modo di ricerca possa crescere insieme».
