Si digo (fíjense sólo la "TABLA 1"):
(si usan Google Crome haganle clic derecho a la img y pongan "abrir en otra ventana"Ç; no ´se cómo hacer que quede bien la img en este foro).

¿entonces cuales serían las acciones a aplicar a V para lograr los resultados buscados?
Ninguna. Esto es sólo un ejemplo sencillo para que entiendan lo que preciso.
O sea, cuando V vale 0, quiero que V modificada (Nueva V) sea como máximo 0, mínimo 0, y en promedio 0, pero entonces no hay en realidad "V modificada". Cuando V vale 1, ocurre algo similar.
Pero en la TABLA 2 no sé qué debo hacer. Se me ocurre esto:
V=100+V*10-Math.random()*100
...pero, bueno, al aumentar V aumenta el mínimo como corresponde, bien, pero las chances de que el resultado sea 100 son mayores a cualquier otro, por más que, en promedio también esté bien (creo).
Nota: Si el resultado es mayor que 100, pasa a ser 100.
Creo que me sirve más así, que sea 100 en la mayoría de los casos (manteniendo el promedio), pero quisiera que las chances para cada resultado especificado como posible, sean las mismas. Por ejemplo si V es 9, usando esa fórmula sucederá que:
Si el random*100 resulta 0, V será 100.
si el r*100 resulta 1, V será 100.
Y así sucesivamente hasta cuando r*100 > 0,9
Hay como 90% de posibilidades de que NV sea 100, cuando yo lo que quiero es que las chances de que sea entre 90 y 100, sean las mismas para cada valor intermedio entre ellos, incluyéndolos. Supongo que es posible, pero no se me ocurre cómo. Si eso no es posible, díganme siendo 90; 90,1; 90,2; etc, los posibles valores (es decir, siendo uno sólo el número tras la coma).
¡Pero eso también es un ejemplo! Algo más sencillo de lo que quiero, aunque igual de eso quisiera la solución. Vamos al siguiente nivel:

[b]La TABLA 4 es la que más me interesa, pero quisiera la solución a la 3 y a las otras[/b].
Gracias desde ya.
Si "k * Math.random()" devuelve un número entero entre 0 y k-1 con distribución uniforme, entonces "10*V + (100 - 10*V) * Math.random()" devuelve un número entre 10*V y 100 con distribución uniforme.
Si querés que un valor tenga mayor probabilidad que otros, usá un if.
if (Math.random() < 0.4) {
_ v = 0;
}
else {
_ v = 10*V + (100 - 10*V) * Math.random();
}
Eso le da un 40% de probabilidad de cero forzado, y un 60% a un valor entre 10*V y 100.
Replying to @NaBUru38's post: Math.random da números decimales, de 0 a 1, olvidé aclararlo ^^u
Igual no entiendo por qué sería entre 0 y k-1...
"Si querés que un valor tenga mayor probabilidad que otros, usá un if."
Es todo lo contrario NabUru, quiero que tengan las mismas posibilidades (los que estén especificados como posibles), y en lo posible no quiero usar ifs (pero bueno, sería el último recurso digamos).
Hoy la tabla 2 (en la imagen 1) la "resolví" así:
NV = random(1000001-V*100000)/10000+V*10
No sé si está bien, pero creo que sí. No es lo ideal porque la mínima variación con eso sería (según mis suposiciones): 0.00001
Yo quisiera que fuera menos, por eso dije resolví entre comillas.
Pero bue... y aún faltan resolver las tablas 3 y 4.
Replying to @NaBUru38's post: Ya entendí lo de k, pero creo que sería simplemente k, no k-1. Igual es un consejo muy útil me parece, no me había dado cuenta.
------------------------------------------------------
Algo que escribí, no sé si sirve de mucho pero a mí sí:
Creo que ya entiendo por qué el problema es TAN difícil. Supongamos que fuera mínimo 0, máximo 1, promedio 0, y no importara V inicial (no habría tal cosa). Sería como una moneda que en promedio cae en cara ¿cómo corno se puede lograr ese promedio?
Cara = 0
Cruz = 1
El promedio se haya sumando y luego dividiendo por la cantidad, bueno... sería algo así:
(0*X+1)/(X+1) = 1
¿no?
Intento hallar cuántas veces en N veces tendría que caer en Cara para que el promedio sea Cara, pero que 1 vez en esas N veces caiga en Cruz.
Supongamos que N fuera 2:
(0+1)/2 = 0.5
Significa que el promedio No es Cara, pues para que lo sea el resultado debe ser 0. Aquí, decimos que de cada 2 (N) veces que se tira la moneda, 1 cae en Cara y la otra en Cruz. El promedio es... 50% c/u.
Ahora digamos que en 3 tiradas, sale 2 veces cara y 1 cruz. Es:
(0*2+1)/3
Si 3 (tiradas) es X, entonces:
(0*(X-1)+1)/X
(0*(3-1)+1)/3
(0*2+1)/3
Es parecido a lo que dije al principio. Entonces hay que hallar X de forma tal que:
(0*(X-1)+1)/X = 0
y X sea >= 2.
Yo tengo el presentimiento de que es imposible.
Si hacemos así (al revés de cóimo hicimos hasta ahora):
Cara = 1
Cruz = 0
Sería:
(1*(X-1)+0)/X = 1
Bueno, de la primera forma lo probé en Excel y el resultado es X/X^2 creo, cuando es 10, el resultado es 0,1, cuando pongo 100, me da 0,01, y así sucevamente, ES IMPOSIBLE QUE SEA 0.
Y de la segunda manera... sucede algo muy similar, ES IMPOSIBLE QUE SEA 1. Pongo 10 y me da 0,9, pongo 100 y me da 0,99.
Todo eso lo estuve haciendo porque partiendo de lograr los promedios en la tabla 3, así:
R(51-5V)+50+5V
(parecido a lo que dijo csgutier)
...precisaba que los mínimos pudieran ocurrir, entonces iba a poner un if, algo como, se lanza una moneda: Si es cara, se aplicará esa ecuación, sino, se aplicará otra que debía descubrir. Pero la posibilidad de que esa otra ecuación se aplicara, si se quiere conservar el promedio, depende de él. Entonces no es lanzar una moneda, es más bien otro random y especificar a partir de qué valor se aplica la acción.
Cuando V vale 0:
Resultado A:
R(51-5V)+50+5V = 50~100
Resultado B:
0~49
El tema es ver qué posibilidad debe tener el B, para que, el promedio de todos los posibles resultados, sea 75 (y estoy hablando sólo de cuando V es 0, la segunda fórmula precisa corrección).
Y esto es como lo de la moneda que dije al principio, lo único que sería así creo:
Cara: 75
Cruz: 25
Bueno... ¿cuántas veces en N veces debe caer en Cara, como para que el promedio sea 75?
(75*(X-1)+25)/X = 75
No sé despejar X pero pruebo en Excel:
ES IMPOSIBLE que resulte 75, al menos usando ifs, creo...
Miren:
J = R(1000001)
Si J es > 0, entonces aplicar R(51-5V)+50+5V, que en promedio resulta 75.
sino, aplicar R(50), que en promedio resulta 25.
999999 veces de cada 1000000 se aplica la fórmula que resulta 75 en promedio, y 1 vez de cada 1000000 se aplica la fórmula que resultaría el mínimo, y aún así........ el promedio total No sería 75, es bastante lógico para mí, pero no me había dado cuenta.
Voy a tener que pensar qué posibilidad quiero dar a cada valor también.
No es imposible creo, porque el promedio que quiero obtener no es el máximo valor del rango, ni el mínimo, en el caso de la moneda sí.
se acuerdan del personaje de Russell Crowe en A Beautiful Mind ?? Saquenle la formacion en Princeton y q les qeda?
hahahaha!!
Replying to @purpletent's post: Explicame el comentario por favor.
NaBUru38:
Tu fórmula funciona genial para la 2nda tabla, no me había dado cuenta, y ya entendí lo del K-1, lo que pasa es que yo en el random pongo siempre "K+1" XD entonces acostumbro a "entre 0 y K".
You must log in to post.