Utente:Scardax88/Sandbox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Una strategia evolutiva (SE) è una tecnica di ottimizzazione stocastica basata su principi di adattamento ed evoluzione.[1] Fa parte della più ampia classe di algoritmi evolutivi, come gli algoritmi genetici e la programmazione genetica. Si differenzia da questi ultimi essendo usata principalmente in problemi definiti su variabili continue.

Le strategie evolutive risolvono problemi di ottimizzazione del tipo:

dove , ed è una generica funzione scalare definita su , detta funzione di fitness o funzione obiettivo. L'unico requisito imposto a tale funzione è che sia possibile valutarne il valore in ogni punto. Una SE è una tecnica evolutiva, iterativa, per risolvere tale problema senza fare uso di informazioni sul gradiente di .

Ad ogni iterazione, viene mantenuta una popolazione di possibili soluzioni al problema (dette individui), le quali vengono ricombinate e mutate per generare la popolazione successiva. Più nello specifico, ad ogni iterazione si seguono i seguenti passi:

  1. Vengono selezionati elementi dalla popolazione. In generale, quindi, si ha .
  2. Da questi elementi viene generato un nuovo individuo, tramite un processo detto di 'ricombinazione'. Sono possibili tre alternative:
    • Nella ricombinazione 'discreta', ciascun elemento del nuovo individuo è estratto con probabilità uniforme da uno dei suoi genitori.
    • Nella ricombinazione 'intermedia', il nuovo individuo è dato dalla media aritmetica dei genitori.
    • Nella ricombinazione 'pesata', il nuovo individuo è dato da una media pesata dei genitori. I pesi dipendono dal valore di fitness di ciascun genitore.
  3. Il nuovo individuo subisce un processo detto di 'mutazione' (vedi sezione successiva).
  4. I punti (1)-(2) vengono ripetuti volte. I nuovi individui vengono aggiunti alla popolazione esistente, o la sostituiscono completamente. Dalla nuova popolazione, vengono selezionati i migliori individui.

Variando i parametri , e è possibile ottenere diverse categorie di SE. È uso comune la notazione -SE per riferirsi ad una particolare istanza dei parametri, nel caso in cui al punto (4) la nuova popolazione sostituisce quella presente. Nel caso opposto, si usa la notazione -SE. Nel caso , è comune scegliere un metodo di selezione deterministico. In questo caso, la ricombinazione al passo (2) produce sempre lo stesso centroide, che può essere creato una sola volta per iterazione. Un altro caso degenere di interesse (soprattutto per analisi teoriche) è , detto uno scenario di 'steady-state'.

  1. ^ Back et al. (1997).