Campeonato de optimización de algoritmos. - página 98
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Hay moderadores en el foro?
Por supuesto, debes hacerlo. Si no hay sugerencias de funciones por vuestra parte, publicaré la versión final de los códigos, tras lo cual pasaremos al segundo paso del campeonato.
Quizás pueda sugerir alguna variante de la función propia después de ver tu ejemplo. Si eso se considera legítimo...)
Sí, claro, no hay problema.
pow(cos(0.2e1 * 0.3141592654e1 * x2 * x2) + cos(0.1884955592e1 * y2) - 0.11e2, 0.2e1) + pow(cos(0.1256637062e1 * x2) + cos(0.2e1 * 0.3141592654e1 * y2 * y2) - 0.7e1, 0.2e1)
и
0,3e1 * (doble) (int) pow((doble) (1 - x3), (doble) 2) * exp((doble) (-x3 * x3 - (int) pow((doble) (y3 + 1), (doble) 2)) - 0,10e2 * (0,2e0 * (doble) x3 - (doble) (int) pow((doble) x3, (doble) 3) - (doble) (int) pow((doble) y3, (doble) 5)) * exp((doble) (-x3 * x3 - y3 * y3)) - exp((doble) (-(int) pow((doble) (x3 + 1), (doble) 2) - y3 * y3)) / 0.3e1;
Aquí hay dos ejemplos de funciones como f(x1, x2).
Sí, claro, no hay problema.
pow(cos(0.2e1 * 0.3141592654e1 * x2 * x2) + cos(0.1884955592e1 * y2) - 0.11e2, 0.2e1) + pow(cos(0.1256637062e1 * x2) + cos(0.2e1 * 0.3141592654e1 * y2 * y2) - 0.7e1, 0.2e1)
и
0,3e1 * (doble) (int) pow((doble) (1 - x3), (doble) 2) * exp((doble) (-x3 * x3 - (int) pow((doble) (y3 + 1), (doble) 2)) - 0,10e2 * (0,2e0 * (doble) x3 - (doble) (int) pow((doble) x3, (doble) 3) - (doble) (int) pow((doble) y3, (doble) 5)) * exp((doble) (-x3 * x3 - y3 * y3)) - exp((doble) (-(int) pow((doble) (x3 + 1), (doble) 2) - y3 * y3)) / 0.3e1;
He aquí dos ejemplos de funciones de la forma f(x1, x2).
Se puede ver cierta discontinuidad en la escritura de las funciones...
El formato correcto es: fy = (x1 + x2 + ...xn) proporciona las partes izquierda y derecha de la ecuación. El número de parámetros en estos retazos de fórmulas es obviamente pequeño. Pensé que serían 500 o más...
Tal vez pueda sugerir alguna variante de la función propia después de ver tu ejemplo. Si eso se considerara legítimo...)
Sólo hay un punto que me gustaría discutir antes de publicar las fuentes del banco de pruebas.
La cuestión es que no conozco funciones que sean lo suficientemente interesantes en términos de complejidad para el algoritmo en todo el rango de su definición en los parámetros [-DBL_MAX; DBL_MAX]. Por lo que todo el mundo sabe, los números dobles pueden tener 17 dígitos (16 decimales) y si tomamos el rango [-DBL_MAX; DBL_MAX], las funciones no serán sensibles a los cambios de parámetros (porque tendremos que escalar el rango de valores de entrada en el rango de sensibilidad de las funciones) porque el paso no será continuo y uniforme.
Por lo tanto, propongo utilizar el rango [-2,0; 2,0] en pasos de 0,0. De hecho, debido a las limitaciones del número doble obtenemos el paso 0.0000000000000001, que es interesante en términos de complejidad del problema, por lo que podemos utilizar plenamente todas las oportunidades de número doble (número de pasos de parámetros obtendrá 4E16, y si tenemos en cuenta que los parámetros son 500, está claro que hay muchas variantes de valores FF, por decirlo suavemente).
Parece que hay cierta discontinuidad en la escritura de las funciones...
El formato correcto es: fy = (x1 + x2 + ...xn) proporciona los lados izquierdo y derecho de la ecuación. El número de parámetros en estos retazos de fórmulas es obviamente pequeño. Pensé que serían 500 y más...
Este es un ejemplo de dos funciones de la forma f(x1, x2). El campeonato FF constará de 255 funciones de este tipo, los parámetros se mezclarán entre sí, todas estas funciones individuales se volverán dependientes y se afectarán mutuamente (cómo exactamente - el árbitro generará una secuencia de llamadas a funciones individuales y una secuencia de llamadas a parámetros).
Si puedes, dame un ejemplo de una función de este tipo de la forma f(x1, x2) y la incluiré en el FF general.
Sólo hay un punto que me gustaría discutir antes de publicar las fuentes del banco de pruebas.
La cuestión es que no conozco funciones que sean lo suficientemente interesantes en términos de complejidad para el algoritmo en todo el rango de su definición en los parámetros [-DBL_MAX; DBL_MAX]. Como todos sabemos, los números dobles pueden tener 17 dígitos (16 decimales) y si tomamos el rango [-DBL_MAX; DBL_MAX], las funciones se volverán insensibles a los cambios de parámetros porque el paso no será continuo.
Por eso sugiero utilizar el rango [-2,0; 2,0] en incrementos de 0,0. De hecho, debido a las limitaciones del número doble obtendremos un paso de 0,0000000000000001, que es interesante en términos de complejidad de la tarea, por lo que podemos utilizar plenamente todas las posibilidades del número doble.
No lo entiendo. El paso 0,0 significa que no hay paso...
Pues bien, para utilizar todas las posibilidades del número doble, el rango debería ser [-DBL_MAX; DBL_MAX], con paso 0,0000000000000001.
Por mucho que hayamos exagerado...
No lo entiendo. Paso 0.0 significa que no hay paso...
Pues bien, para aprovechar al máximo el número doble, el rango debería ser [-DBL_MAX; DBL_MAX], con un paso de 0,0000000000000001.
Por mucho que hayamos exagerado...
Paso 0.0 y significa paso 0.0000000000000001. En cuanto a la gama, que he descrito anteriormente. No he podido encontrar ninguna función que se ajuste al rango [-DBL_MAX; DBL_MAX] y que esté garantizado que funcione en este rango (requeriría una investigación para comprobarlo, para la que no tengo tiempo).
Piensa en ello hasta mañana, es importante que te des cuenta.
Este es un ejemplo de dos funciones de la forma f(x1, x2). El campeonato FF consistirá en 255 funciones similares, los parámetros se mezclarán, todas estas funciones individuales se volverán dependientes y se influirán mutuamente (cómo exactamente - el árbitro generará una secuencia de llamadas a las funciones individuales y una secuencia de llamadas a los parámetros).
Si puedes, proporciona un ejemplo de dicha función de la forma f(x1, x2) y lo incluiré en el FF general.
Según tengo entendido, combinará 255 retazos similares de funciones analíticas en una sola ecuación. El problema es encontrar su máximo en el número mínimo de llamadas al FF.
Todo lo que necesitas saber es el rango, el paso y el número de parámetros.
No creo que mi personal surrealismo matem ático sea necesario aquí) aceptaré sus fórmulas .
Paso 0.0 y significa paso 0.0000000000000001. En cuanto a la gama, que he descrito anteriormente. No he podido encontrar ninguna función que se ajuste al rango [-DBL_MAX; DBL_MAX] y que esté garantizado que funcione en este rango (requeriría una investigación para comprobarlo, para la que no tengo tiempo).
Piénsalo hasta mañana, es importante que te des cuenta.