La mayor parte de la literatura que he leído sobre GA sugiere usar un valor cruzado de alrededor de 0.7, por lo que toma el primer 70% de los genes de un cromosoma y el último 30% del otro para producir un nuevo cromosoma.
Si está eligiendo los cromosomas parentales tomando los dos primeros (clasificados según su estado físico), entonces puedo ver la lógica aquí, ya que está dando más peso a los genes del cromosoma de mayor calificación. Sin embargo, si está utilizando un método estocástico (como una rueda de ruleta) para elegir a los padres, entonces, ¿cuál es el punto de usar algo que no sea 0.5 como valor cruzado? Dado que ha elegido los cromosomas A y B como los padres, es tan probable que elija A primero y B segundo como B primero y A segundo, ¿verdad?
De hecho, solo he escrito un GA hasta ahora (todavía en la parte inferior de la curva de aprendizaje, ¡pero avanzando rápidamente gracias a una gran ayuda aquí!), Pero los experimentos sobre eso muestran que 0.5 da una convergencia más rápida a la solución que Cualquier otro valor.
¿O me estoy perdiendo algo?
Most of the literature I've read about GAs suggests using a crossover value of around 0.7
<- una cosa a tener en cuenta es que muchos de estos tipos de valores en la optimización heurística se derivan más o menos en función de qué valores parecen conducir a buenos resultados (en lugar de una derivación empírica). Estoy menos familiarizado con GA, pero sé que en otros métodos de optimización basados en la población, las constantes se determinaron de manera bastante arbitraria, ya que algunos investigadores hicieron algunos experimentos básicos, encontraron valores que funcionaban mejor y luego esos valores fueron adoptados por la comunidad de optimización en general .