Domanda

che sto facendo un ultimo anno di progetto su algoritmi genetici - in particolare di tipo Dawkins Weasel. Ho selezione roulette fatto e selezione del torneo, ancora da fare selezione stato stazionario, ma non so esattamente che cosa è e riferimenti trovo online sono tutti piuttosto vago.

Qualcuno sa come dovrebbe essere attuata? Tutti gli indicatori sarebbero grandi.

Molte grazie.

È stato utile?

Soluzione

In genere, l'esecuzione di un algoritmo genetico è diviso in generazioni - ogni generazione il processo di selezione e di riproduzione sostituisce tutti (o almeno la maggior parte) della popolazione. In uno stato stazionario algoritmo genetico si sostituisce solo poche persone alla volta.

Utilizzare una tecnica di selezione standard per prendere i genitori per la produzione di questi pochi prole. Poi selezionare casualmente lo stesso numero di individui, ucciderli, e sostituirle con la prole (è possibile selezionare gli individui inadatti per la morte, ma che potrebbe spazzare via la diversità demografica in un problema non banale).

Si dovrebbe valutare solo di forma fisica una volta per ogni individuo - dopo a valutare l'idoneità, salvare e riutilizzare quel numero in futuro. Protip: quando un nuovo individuo si crea, bandiera come essendo non valutata, e quindi valutare la prima volta ha avuto bisogno di (in questo modo, se un individuo si crea e quindi selezionato in modo casuale per la morte prima di essere utilizzato, non si consumano tempo a valutare la sua forma fisica).

Un'implementazione di base dovrebbe essere abbastanza semplice, ma è possibile controllare Essentials di Metaeuristiche (pagine 45-46, ebook disponibili gratuitamente).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top