Che cos’è l’ottimizzazione genetica?

L’ottimizzazione genetica è l’uso di algoritmi di programmazione per trovare la migliore soluzione a un problema. Questo ha le sue origini nel lavoro dei matematici a partire dagli anni ‘1950 che hanno preso modelli che hanno visto in biologia e li hanno applicati a problemi non lineari che erano difficili da risolvere con mezzi convenzionali. L’idea è di imitare la biologia, che si evolve nel corso delle generazioni per creare la popolazione più adatta possibile. Nella programmazione, è possibile simulare questo processo per trovare una soluzione creativa a un problema.

I problemi non lineari possono essere difficili per i matematici. Un esempio può essere visto nella negoziazione di titoli, dove possono esserci una serie di possibili decisioni che si diramano rapidamente per creare un albero di scelte. Calcolare in modo indipendente le probabilità associate a ciascuna scelta richiederebbe molto tempo. Il matematico potrebbe anche perdere una soluzione ottimale non riuscendo a combinare possibili scelte per esplorare nuove permutazioni. L’ottimizzazione genetica consente ai ricercatori di eseguire calcoli di questa natura in modo più efficiente.

Il ricercatore inizia con un argomento di interesse, noto come “popolazione”, che può essere suddiviso in individui, talvolta noti come creature, organismi o cromosomi. Questi termini, presi in prestito dalla biologia, riflettono le origini di questo approccio alla programmazione. Un computer può iniziare a eseguire una simulazione con la popolazione, selezionando i singoli organismi all’interno di una generazione e consentendo loro di mescolarsi per creare una nuova generazione. Questo processo può essere ripetuto attraverso diverse generazioni per combinare e ricombinare possibili soluzioni, arrivando idealmente all’opzione più adatta alle condizioni date.

Questo può essere estremamente pesante in termini di risorse. I calcoli utilizzati nell’ottimizzazione genetica richiedono una potenza di calcolo significativa per confrontare e selezionare rapidamente un numero di opzioni e combinazioni contemporaneamente. Le prime ricerche sull’ottimizzazione genetica erano talvolta limitate dalla potenza di elaborazione disponibile, poiché i ricercatori potevano vedere le potenziali applicazioni, ma non potevano eseguire programmi complessi. Con l’aumento della potenza del computer, aumenta anche l’utilità di questo metodo, sebbene calcoli grandi e complessi possano ancora richiedere un computer altamente specializzato.

I ricercatori nel campo della matematica possono lavorare con l’ottimizzazione genetica in una varietà di contesti. Lo sviluppo continuo di nuove formule e approcci illustra le evoluzioni in matematica man mano che le persone apprendono nuovi modi di considerare problemi complessi. Alcune semplici ottimizzazioni genetiche possono essere viste all’opera in ambienti come software per commercianti di titoli e programmazione per giochi e realtà virtuale in cui i programmatori vogliono che gli utenti abbiano un’esperienza più naturale.