2011-09-25 40 views
8

Los problemas de decisión no son adecuados para el uso en algoritmos evolutivos ya que una simple medida de aptitud correcta/incorrecta no puede optimizarse/evolucionar. Entonces, ¿cuáles son algunos métodos/técnicas para convertir los problemas de decisión en problemas de optimización?¿Convertir problemas de decisión a problemas de optimización? (algoritmos evolutivos)

Por ejemplo, actualmente estoy trabajando en un problema donde la forma física de un individuo depende en gran medida de la salida que produce. Dependiendo del ordenamiento de los genes, un individuo no produce salida o salida perfecta, no "entre" (y por lo tanto, no hay colinas que escalar). Un pequeño cambio en el orden de genes de un individuo puede tener un efecto drástico en la aptitud de un individuo, por lo que el uso de un algoritmo evolutivo esencialmente equivale a una búsqueda aleatoria.

Algunas referencias bibliográficas serían buenas si conoce alguna.

+0

¿Son todas las salidas perfectas igualmente perfectas? ¿Es probable que todos los resultados no estén cerca de un resultado perfecto? –

+0

Para su primera pregunta, sí. Para su segunda pregunta, algunos podrían estar más cerca de una solución perfecta en términos de estructura genética, pero desde el punto de vista de la condición física, dado que no producen ningún producto, tienen la misma deficiente aptitud física que aquellos que pueden no estar tan cerca. –

+0

Pareces haber respondido a tu propia pregunta: si no hay una colina que escalar, cualquier forma de optimización de escalada simplemente no puede obtener ninguna tracción. Además de agitar las manos en general sobre incrementalismo y soluciones parciales, es difícil imaginar que sea posible una solución general. –

Respuesta

1

Aplicación a entradas múltiples y examen del porcentaje de respuestas correctas.

Cierto, una medida de aptitud correcta/incorrecta no puede evolucionar hacia más rectitud, pero un algoritmo puede aplicar una función mutable a cualquier entrada que se necesite para producir una decisión correcta o incorrecta. Entonces, sigues mutando el algoritmo, y para cada versión mutada del algoritmo lo aplicas a, por ejemplo, 100 entradas diferentes, y verificas cuántas de ellas obtuvo correctamente. Luego, selecciona los algoritmos que dieron más respuestas correctas que otros. Quién sabe, eventualmente podrías ver uno que los solucione.

No hay referencias literarias, solo se me ocurrió.

0

Bueno, creo que debes trabajar en tu función de acondicionamiento físico. Cuando dice que algunos individuos están más cerca de una solución perfecta, ¿puede identificar estas soluciones en función de su estructura genética? Si puede hacer eso, un programa también podría hacer eso y, por lo tanto, no debería calificar al individuo basándose en la salida sino en su estructura.

Cuestiones relacionadas