calcular numero aleatorio de 1 a n pero la probabilidad debe ser creciente

Iniciado por kinos, 10 Septiembre 2010, 14:54 PM

0 Miembros y 1 Visitante están viendo este tema.

kinos

Buenas:

   Me pregunto como puedo calcular un número aleatorio de 1 a n pero la probabilidad de obtener un 2 es mayor de obtener un 1. Es decir, según va creciendo la serie la probabilidad aumenta.


Carloswaldo

#1
Tendrías que hacer una tabla de probabilidades, no creo que hay algo implementado en java para hacerlo directamente. ¿Has estudiado sobre distribuciones para generación de números aleatorios?

Edit: Creo que para eso es la distribución geométrica: http://es.wikipedia.org/wiki/Distribuci%C3%B3n_geom%C3%A9trica

kinos

He estado mirando eso también, pero no se como calcular por ejemplo:

   - Si tengo 6 variables como repartiríamos el 100% de forma creciente para cada una.

1mpuls0

Citar
Buenas:

   Me pregunto como puedo calcular un número aleatorio de 1 a n pero la probabilidad de obtener un 2 es mayor de obtener un 1. Es decir, según va creciendo la serie la probabilidad aumenta.

Te refieres a que por ejemplo, calculas 6 números de manera aleatoria pero cada siguiente número debe ser mayor al anterior? :S
n1=1
n2=15
n3=50
n4=77
n5=78
n6=89

a eso te refires?

Citar
Tendrías que hacer una tabla de probabilidades, no creo que hay algo implementado en java para hacerlo directamente. ¿Has estudiado sobre distribuciones para generación de números aleatorios?

Edit: Creo que para eso es la distribución geométrica: http://es.wikipedia.org/wiki/Distribuci%C3%B3n_geom%C3%A9trica

Existe una libreria SSJ es un conjunto organizado de paquetes cuyo propósito es facilitar la simulación estocástica
de programación en lenguaje Java. Los servicios que ofrece se agrupan en diferentes paquetes.

Por ejemplo

probdist contiene un conjunto de clases Java que proporciona métodos para calcular la masa,densidad, distribución, distribución complementaria, y la distribución inversa funciones para muchas distribuciones de probabilidad discretas y continuas, así como la estimación de los parámetros de estas distribuciones.

Puedes descargar de aquí  (me dio dificultad encontrar la libreria xD)

http://download2us.softpedia.com/dl/6310f518ee620de6fefb60f6273e6d7d/4c950791/400073338/mac/Developer-Tools/ssj-20091109.zip


y aquí un poco de documentación

http://www.iro.umontreal.ca/~simardr/ssj/doc/html/umontreal/iro/lecuyer/probdist/GeometricDist.html
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.150.2608&rep=rep1&type=pdf

Cabe señalar que el archivo tiene muy buena información, códigos, ejemplos, pero todo está en inglés xD

Y la verdad no sé si te vaya a servir para lo que deseas hacer :s

Citar
He estado mirando eso también, pero no se como calcular por ejemplo:

   - Si tengo 6 variables como repartiríamos el 100% de forma creciente para cada una.

Te refieres a que no solamente deben calcular los numeros de manera aleatoria y creciente, sino que ademas deben sumar el 100%?? xD

La verdad estoy un poco confundido con lo qeu deaseas hacer, tal vez si contestas podria ayudar.

Un saludo



abc

Carloswaldo

Cita de: Darhius en 18 Septiembre 2010, 21:24 PM
Te refieres a que no solamente deben calcular los numeros de manera aleatoria y creciente, sino que ademas deben sumar el 100%?? xD

La verdad estoy un poco confundido con lo qeu deaseas hacer, tal vez si contestas podria ayudar.

Claro, es que tiene que ser así porque vas a generar un número aleatorio U (de 0 a 1) que determinará según la posición en una tabla (por ejemplo) cuál de los números queda como resultado.