[Archivo] Matemáticas puras, física, química, etc.: problemas de entrenamiento cerebral no relacionados con el comercio de ninguna manera - página 451

 

Este es el resultado con SMax=3000

2011.01.15 19:14:26 MetaSage (EURUSD,M1) //+---- Max = 3000 -------------------+
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=163; P=4192; a=32; b=131
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=127; P=1776; a=16; b=111
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=89; P=1168; a=16; b=73
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=65; P=244; a=4; b=61
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=17; P=52; a=4; b=13
2011.01.15 19:14:21 MetaSage (EURUSD,M1) //+---- Cantidad máxima = 3000 -------------------+

 
¿Cuánto duró el recuento? No cinco segundos...
 
Mathemat:

1. En general, hay que eliminar las restricciones de la cantidad. Todo el razonamiento sigue siendo esencialmente el mismo, sólo que más.

2. A juzgar por el hecho de que en la cita el hombre necesitaba un Cray 1, su algoritmo estaba menos optimizado que el tuyo :)

1. Grande no es posible - mi tabla de expansión de multiplicadores no cabe en la memoria ya en SMax=3400.

¿Algún avance con el lema del producto máximo para un SMax dado?

Aquí está la impresión del 3300:

2011.01.15 19:18:12 MetaSage (EURUSD,M1) //+---- Suma máxima = 3300 -------------------+
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=163; P=4192; a=32; b=131
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=127; P=1776; a=16; b=111
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=89; P=1168; a=16; b=73
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=65; P=244; a=4; b=61
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=17; P=52; a=4; b=13
2011.01.15 19:18:06 MetaSage (EURUSD,M1) //+---- Max = 3300 -------------------+

.

2. No, es que mql5 es un lenguaje muy rápido... :)

 
Mathemat:
¿Cuánto duró el recuento? No cinco segundos...
Como un minuto.
 
MetaDriver: ¿Algún avance con el lema del trabajo máximo para un SMax dado?
Todavía no, sólo me pregunto si merece la pena :)
 

Comprobado en SMax=3350. El resultado es el mismo. Cuenta durante un minuto, incluso menos.

La principal limitación ahora mismo es la memoria. Tenemos que limitar la tabla de descomposición del multiplicador.

Versión actual de PMax=SMax*(SMax/2-1). ¿Puede reducirse aún más? ¿Puedes habilitarlo?

Creo que es bastante fácil demostrar que PMax<=SMax*(sqrt(SMax)-1). Intentaré ejecutarlo ahora y si se bloquea es que estoy equivocado. :)

 
Permíteme que le dé sentido.
 

No funcionó (construyó una mesa, pero parecía ser demasiado pequeña), pero logré encontrar una solución más (!) :-)

2011.01.15 19:40:28 MetaSage (EURUSD,M1) Matriz fuera de rango en 'MetaSage.mq5' (100,47)
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=343; P=9952; a=32; b=311
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=163; P=4192; a=32; b=131
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=127; P=1776; a=16; b=111
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=89; P=1168; a=16; b=73
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=65; P=244; a=4; b=61
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=17; P=52; a=4; b=13
2011.01.15 19:40:24 MetaSage (EURUSD,M1) //+---- Cantidad máxima = 4000 -------------------+
2011.01.15 19:40:24 MetaSage (EURUSD,M1) //============== START ========================

 

Ahora bien, si pudiéramos asegurarnos de que no se trata sólo de soluciones potenciales, sino de soluciones reales.

Bien, podemos pensar más allá estableciendo un límite de, digamos, 10.000.

P.D. ¿Cuántos números tienes en la tabla a 3300?

¿3300*(3300/2-1) ~ 5 millones?

 
Mathemat:

1. Ahora bien, si pudiéramos asegurarnos de que no son sólo soluciones potenciales, sino soluciones reales.

Bien, podemos pensar más allá estableciendo un límite de, digamos, 10.000.

2. P.D. ¿Es esa la cantidad de números que tienes en la tabla a 3300?

¿3300*(3300/2-1) ~ 5 millones?

1. Bueno, el guión es la forma de asegurarse. Cámbialo por una versión de verificación. Lo haré, pero tratemos primero con PMax.

2. SÍ.

Aquí hay que juguetear con el tamaño de la tabla. Obtuve los resultados con SMax=4100.

PMax ajustado como sigue: SMax*(uint)(SMax/6-1) = 2796200

2011.01.15 20:21:29 MetaSage (EURUSD,M1) //+---- Max = 4100 -------------------+
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=343; P=9952; a=32; b=311
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=163; P=4192; a=32; b=131
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=137; P=4672; a=64; b=73
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=127; P=1776; a=16; b=111
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=89; P=1168; a=16; b=73
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=65; P=244; a=4; b=61
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=17; P=52; a=4; b=13
2011.01.15 20:21:18 MetaSage (EURUSD,M1) //+---- Max = 4100 -------------------+
2011.01.15 20:21:18 MetaSage (EURUSD,M1) //============== START ========================

2011.01.15 20:21:00 MetaSage (EURUSD,M1) SMax*(uint)(SMax/6-1) = 2796200

.

Como vemos, hay una solución más en el medio: S=137; P=4672; a=64; b=73.