Cómo encontrar el máximo global y los valores que dan el máximo global para una función de 2 variables usando un algoritmo genético

Si tiene un gen binario de longitud [matemática] N [/ matemática], donde los dígitos [matemáticos] N [/ matemáticos] representan un número, ¿puede cambiarlo a un gen de longitud [matemática] 2N [/ matemática] , donde los primeros dígitos [matemáticos] N [/ matemáticos] representan un número y los segundos [matemáticos] N [/ matemáticos] representan un segundo número?

Como nota al margen: a medida que aumenta el número de variables, aumenta los grados de libertad / número de dimensiones, y se encontrará con la maldición de la dimensionalidad [1] aka. la explosión combinatoria [2]. Con los algoritmos genéticos (y la mayoría de los otros métodos adaptativos) nunca puede estar completamente seguro de que el resultado que encuentre sea el máximo global, ya que la búsqueda es (parcialmente) aleatoria. Para problemas con bajos grados de libertad, podemos estar bastante seguros, pero a medida que los grados aumentan, la certeza disminuye.

Notas al pie

[1] Maldición de dimensionalidad – Wikipedia

[2] Explosión combinatoria – Wikipedia

No estoy convencido de que una AG sea adecuada para este problema, pero aquí están mis ideas. Para N> 1, no usaría un GA en cuanto a bits. En cambio, convierta cada variable de punto flotante en un gen y diseñe su algoritmo de mutación usando el cambio porcentual + o -. Ejecutaría el GA en dos fases: 1-Búsqueda estándar, algoritmo 2-Twiddle. La fase 1 analizará todo el espacio de la solución y se centrará en las mejores soluciones. En la fase 2, tomaría el x% superior de la población y diseñaría un algoritmo twiddle para enfocar el mínimo / máximo preciso.

Debe saber que no se garantiza que un GA siempre encuentre la solución óptima, pero dado que parece que sus funciones son continuas y están limitadas por el rango, creo que puede lograr que esto funcione de manera confiable. ¡Buena suerte!

More Interesting

En la programación de ensamblaje (todos los tipos), ¿es útil / necesaria la instrucción de salto a desplazamiento (PC + x) si ya hay una instrucción de salto que apunta a un registro o valor absoluto? Estoy pidiendo una PC que estoy diseñando actualmente.

¿Qué curso debería estudiar para piratería ética después del 10?

¿Cómo manipulan las computadoras la aleatoriedad?

¿Debo confiar en los servicios de respaldo en línea?

¿Existe alguna aplicación de Android para aprender conceptos aleatorios de informática?

¿Cómo es estudiar informática en Princeton?

¿Podría la tecnología VR salvar o destruir el planeta? Si tener relaciones sexuales con realidad virtual es tan bueno, las únicas personas que tienen relaciones sexuales reales serían aquellas que desean formar una familia.

¿Cuál es el principio de localidad en informática?

¿Alguno de los IIT ofrece cursos de ingeniería inversa y desarrollo de exploits?

¿Cuáles son todos los tipos de aprendizaje automático y todos utilizan los mismos principios?

¿Qué hace Stratoscale?

¿Cuál es una buena explicación de la nueva Transformada de Fourier Rápida y Escasa del MIT para personas no técnicas?

Memoria de la computadora: ¿Qué es una dirección?

¿Qué se entiende por administración remota del servidor, herramientas de monitoreo?

Leí en alguna parte que "el semáforo es un mecanismo de señalización y el mutex es un mecanismo de bloqueo". Según tengo entendido, el semáforo también es un mecanismo de bloqueo, pero también estoy de acuerdo en que usamos el semáforo para despertar un hilo. ¿Por qué me confunde un poco?