2011-01-22 19 views
11

Estoy haciendo un proyecto de último año sobre algoritmos genéticos, específicamente del tipo Dawkins Weasel. He hecho la selección de ruleta y la selección de torneos, aún para hacer una selección de estado estacionario, pero no estoy seguro de qué es exactamente y las referencias que encuentro en línea son bastante vagas.Algoritmo genético: ¿qué es la selección de estado estable?

¿Alguien sabe cómo debe implementarse? Cualquier punto sería genial.

Muchas gracias.

Respuesta

19

Normalmente, la ejecución de un algoritmo genético se divide en generaciones: cada generación su proceso de selección y reproducción reemplaza a todos (o al menos a la mayoría) de la población. En un algoritmo genético de estado estacionario solo reemplazas unas pocas personas a la vez.

Use una técnica de selección estándar para elegir a los padres para producir estos pocos descendientes. Luego, seleccione aleatoriamente el mismo número de personas, mátelas y reemplácelas con las crías (puede seleccionar individuos no aptos para la muerte, pero eso puede eliminar la diversidad de la población en un problema no trivial).

Solo debe evaluar el estado físico una vez por persona. Después de evaluar la condición física, guárdela y vuelva a utilizarla en el futuro. Protip: cuando se crea una nueva persona, se marca como no evaluada y luego se evalúa la primera vez que se necesita (de esta manera, si se crea una persona y luego se selecciona al azar para la muerte antes de usarla, no se consume tiempo evaluando su estado físico).

Una implementación básica debería ser bastante simple, pero puede consultar Essentials of Metaheuristics (páginas 45-46, libro electrónico disponible gratis).

Cuestiones relacionadas