logo

Etiquetas: ayuda de juego 

Autor Tema:  (Leído 3375 veces)

Ubermann

  • Visitante
Cómo obtener números aleatorios sin dados
« en: 04 de Abril de 2012, 19:07:42 »
No sé si esta sería la sección adecuada para poner esto, así que si no es así, pues que los moderadores lo muevan.


Bueno, la cuestión es que hoy me ha surgido un problema, y es que me puse a jugar al Napoleon at Waterloo, ¡¡¡pero no teníamos dados!!!

Así que nos pusimos a pensar métodos de obtener números aleatorios entre 1 y 6, ambos inclusive.
Al final, no jugamos al Napoleon, pero hemos conseguido unos cuantos métodos, algunos más efectivos que otros, para simular dados de 6 caras.

Si alguien conoce alguno más, podría compartirlo.
Aquí pongo los que hemos conseguido:

- Método del libro: con un libro de bastantes páginas, se abre aleatoriamente por una página, y se coge el dígito de las unidades. Si es más de 6, se repite la "tirada".
Este método parece a simple vista efectivo, pero estadísticamente no lo es, ya que si los números del libro van del 0 al 9, estadísticamente es más fácil obtener un 5 o un 6 que un 1 o un 2.


- Método del tiempo transcurrido: se necesita un cronómetro que pueda medir centésimas. Se puede hacer también con décimas, pero es más fácil hacer trampas. Se pone en marcha el cronómetro, y se para al cabo de un rato. No hay que esperar mucho, tres o cuatro segundos bastan. A continuación se para, y se anota el número. Finalmente, aplicamos la siguiente fórmula:

Número Aleatorio = (6 * X)/100

Número Aleatorio es el número que obtendremos entre 1 y 6.
X es el número de centésimas que marca el cronómetro.

Entonces, supongamos que el cronómetro marca "35", la cosa sería: N = (6 * 35)/100; N = 2'1.
Redondeamos hacia abajo si los decimales obtenidos son menores o iguales que 5, y hacia arriba en caso contrario.

En el caso poco probable de obtener un valor como 0'5 o menor, pues a "tirar" de nuevo.


Este método se puede usar para obtener números aleatorios de cualquier dado, sólo hay que substituir el 6 de la fórmula de arriba por el número de caras que se quiere el dado.


- Métono de monedas cara-cruz: para este método necesitamos al menos una moneda, aunque mejor utilizar tres, para evitar confusiones.

Consiste en usar monedas para descartar posibles valores aleatorios del dado.

Tiramos la primera moneda. Si sale Cara, entonces quiere decir que el número aleatorio del "dado" será par. En caso contrario, será impar. Por lo tanto, con esta primera moneda, podremos saber si vamos a obtener los números 2, 4 ó 6, o los números 1, 3 ó 5.

Ahora tiramos la segunda moneda.
Si sale Cara, quiere decir que hemos obtenido el primer número de la lista par o impar (es decir, el 1 o el 2, dependiendo de la primera moneda).
Si saliese cruz, entonces quiere decir que podremos obtener el segundo o tercer número de la lista (osea, 4, 6 ó 3, 5).
Para saber si es el segundo o tercer número, tiramos una tercera moneda. Si sale Cara, será el segundo número. Si sale cruz, es el tercero.

Un ejemplo:
Tiro la primera moneda, me sale Cara: obtendré alguno de los números 2, 4 ó 6.
Tiro la segunda moneda, me sale cruz: obtendré alguno de los números 4 ó 6.
Tiro la tercera moneda, me sale Cara: finalmente obtengo el número 4.

Otro ejemplo:
Tiro la primera moneda, sale Cruz: obtendré los números 1, 3 ó 5
Tiro la segunda moneda, sale Cruz: obtendré los números 3 ó 5
Tiro la tercera moneda, sale cruz: al final es el número 5.



- Método de la baraja: de una baraja de cartas numeradas, como una baraja española o de póker, separamos las cartas del 1 al 6 de todos los tipos (oros, copas, bastos y espadas, o picas, diamantes, rombos y corazones). Luego las barajamos y elegimos una carta al azar. Ese será el número aleatorio. Lógicamente las cartas estarán boca a bajo.


- Método de monedas binarias: Se necesitan tres monedas, o tirar tres veces una moneda.

Tiramos las tres monedas, de forma que caigan en fila, una tras otra, y comparamos los resultados con los valores binarios de la siguiente tabla (o los calculáis mentalmente):

C es Cara, X es cruz

CCC = tirar de nuevo.
CCX = 1
CXC = 2
CXX = 3
XCC = 4
XCX = 5
XXC = 6
XXX = tirar de nuevo



¿A alguien se le ocurre algún otro método?

+ab

Re: Cómo obtener números aleatorios sin dados
« Respuesta #1 en: 04 de Abril de 2012, 19:19:59 »
Método del lápiz: coges 6 cachitos de papel y numeras cada uno del 1 al 6. Los sitúas alrededor de un lápiz, a una distancia entre papel y papel similar a la largaria del lápiz y formando un radio sobre el mismo. Una vez colocado haces girar el lápiz, y el papel donde señale la punta del lápiz será el número elegido. Si no queda ningún papel seleccionado se vuelve a tirar. Es importante que los cachos de papel sean idénticos, para no favorecer más a uno que a otro. También se recomienda hacer girar bien el lápiz, que no haga giros muy cortos y previsibles.

oladola

Re: Cómo obtener números aleatorios sin dados
« Respuesta #2 en: 04 de Abril de 2012, 19:22:50 »
Citar
Este método parece a simple vista efectivo, pero estadísticamente no lo es, ya que si los números del libro van del 0 al 9, estadísticamente es más fácil obtener un 5 o un 6 que un 1 o un 2.

¿¿¿¿¿ ?????
Me encontré con el rey. No sabía si darle la mano o chuparle la nuca ...  total, solo le había visto en sellos.

skyzo

Re: Cómo obtener números aleatorios sin dados
« Respuesta #3 en: 04 de Abril de 2012, 19:28:07 »
Si teneis un smartphone/portatil/pc al lado podeis usar algo como http://www.roll-dice-online.com/

kiminobumori

  • Recien Llegado
  • *
  • Mensajes: 10
  • Ubicación: Santiago, Chile
  • Distinciones Antigüedad (más de 8 años en el foro)
    • Ver Perfil
    • Distinciones
Re: Cómo obtener números aleatorios sin dados
« Respuesta #4 en: 04 de Abril de 2012, 19:42:45 »
Método de lápiz 2: Existen en mi país lápices de 6 caras (de grafito marca Faber-Castell) se puede lijar un poco la pintura externa y luego escribir los números en los cantos. Solo D6 eso si.
LABOR OMNIA VINCIT

Membrillo

  • Moderador
  • Veterano
  • *
  • Mensajes: 3617
  • Ubicación: Alcalá de Henares-Taipei
  • 剪刀石頭布!
  • Distinciones Colaborador habitual y creador de topics Antigüedad (más de 8 años en el foro) Moderador y usuario en los ratos libres
    • Ver Perfil
    • Distinciones
Re: Cómo obtener números aleatorios sin dados
« Respuesta #5 en: 04 de Abril de 2012, 19:46:57 »
Los smartphones han solucionado todo esto, y muchas otras cosas.

General_Norris

Re: Cómo obtener números aleatorios sin dados
« Respuesta #6 en: 04 de Abril de 2012, 20:16:07 »

Ubermann

  • Visitante
Re: Cómo obtener números aleatorios sin dados
« Respuesta #7 en: 04 de Abril de 2012, 22:31:30 »
Parece buena idea lo de los lápices  :)


Menuda forma de complicarte.

Como dicen por ahi arriba, los smartphones ya lo solucionan, pero para los que no tenemos smartphone estamos fastidiados ^_^

El "método del libro" que has descrito (pasar las páginas y detenerte en una, quedándote con la cifra unidad del número de página: quedarte con el número si está entre 1 y 6 y repetir si está entre 7 y 0), es perfecto. No hay más probabilidades de sacar un 5 ó un 6, no sé de dónde has sacado eso.

Ve a esta página: http://www.random.org/integers/?num=100&min=1&max=100&col=5&base=10&format=html&rnd=new

que te calcula 100 números aleatorios cada vez que la visitas, luego súmalos todos y calcula la media. Verás que, curiosamente, da un número alrededor de 50.
Lo mismo sucede con un dado.

En el caso del libro, como los número en realidad van de 0 a 9, la suma de todas tus "tiradas" tiende siempre a 4.5, por lo que al usar este método los valores sumados siempre van a ser sumas de 4, 5 y 6.
Si el dado que necesitas es de seis caras, entonces estas obteniendo valores que no son realmente aleatorios dentro del rango 1 - 6, si no dentro del rango 0 - 9.


Si tienes un cronómetro, es mucho más fácil encenderlo, apagarlo y fijarse únicamente en la cifra más pequeña (centésimas de segundo). Si el resultado está entre 1 y 6, quédate con él. Si está entre 7 y 0, repite la tirada hasta que salga entre 1 y 6. En realidad haces lo mismo que con el libro, sólo que de forma más cómoda.

También es cierto, pero siendo centésimas de segundo es fácil que el valor se pase por encima de 6.
Si usas la fórmula simple de arriba, no importa el valor que obtengas, ya que siempre podrás conseguir un número entre el rango que desees.

Extrapolando este método se pueden conseguir dados de 4 y 8 caras (repitiendo los resultados de 5 a 0 y de 9 a 0, respectivamente). El dado de 10 caras es el más cómodo, ya que no habría que repetir ningún resultado (te quedas siempre con lo que saques, con el 0 significando un 10).


Entre 0 y 9, ya directamente, como tú dices, obtienes el resultado, pero para valores diferentesm es mejor la fórmula.

Rayo Azul

  • Baronet
  • Veterano
  • *
  • Mensajes: 1578
  • Ubicación: Pampala, la ciudad más allá del último horizonte
  • El Rayo Azul de Tomasinovia
  • Distinciones Antigüedad (más de 8 años en el foro) Colaborador habitual y creador de topics Podcaster Bloguero Baronet (besequero de la semana)
    • Ver Perfil
    • Tomassini on the Wind Games
    • Distinciones
Re: Cómo obtener números aleatorios sin dados
« Respuesta #8 en: 05 de Abril de 2012, 00:55:40 »
No puedo creer que alguien vaya así por la vida sin un buen surtido de dados o por lo menos un "survival die kit". A dónde vamos a llegar.  ;)
"Las mujeres deberían llevar ropa ajustada, y los hombres armas potentes"
- El Gran Calvin & Hobbes Ilustrado.


tomassinionthewind.wordpress.com

kalamidad21

  • Moderador
  • Veterano
  • *
  • Mensajes: 8070
  • Ubicación: Murcia
  • Distinciones Crecí en los años 80 Encargado de las Convivencias Lúdicas de labsk Eurogamer Antigüedad (más de 8 años en el foro) Colaborador habitual y creador de topics Moderador y usuario en los ratos libres
    • Ver Perfil
    • Distinciones
Re: Cómo obtener números aleatorios sin dados
« Respuesta #9 en: 05 de Abril de 2012, 01:08:56 »
Menuda forma de complicarte.

El "método del libro" que has descrito (pasar las páginas y detenerte en una, quedándote con la cifra unidad del número de página: quedarte con el número si está entre 1 y 6 y repetir si está entre 7 y 0), es perfecto. No hay más probabilidades de sacar un 5 ó un 6, no sé de dónde has sacado eso.

El único problema es que si el libro tiene, por ejemplo, 94 páginas, no deberías poder utilizar las páginas mayores que 90 (de lo contrario los números del 1 al 4 tendrían una probabilidad mayor que el 5 y el 6).

Si tienes un cronómetro, es mucho más fácil encenderlo, apagarlo y fijarse únicamente en la cifra más pequeña (centésimas de segundo). Si el resultado está entre 1 y 6, quédate con él. Si está entre 7 y 0, repite la tirada hasta que salga entre 1 y 6. En realidad haces lo mismo que con el libro, sólo que de forma más cómoda.

Extrapolando este método se pueden conseguir dados de 4 y 8 caras (repitiendo los resultados de 5 a 0 y de 9 a 0, respectivamente). El dado de 10 caras es el más cómodo, ya que no habría que repetir ningún resultado (te quedas siempre con lo que saques, con el 0 significando un 10).


Con el método del libro existe un problema.. es que siempre sacas pares o impares aposta...


por ejemplo

libro de 104 páginas

abres entre la 52 y 53 ¿con cual te quedas?

Si no meneas el árbol, no cae la fruta

SGuerrero

Re: Cómo obtener números aleatorios sin dados
« Respuesta #10 en: 05 de Abril de 2012, 01:20:26 »
Con el método del libro existe un problema.. es que siempre sacas pares o impares aposta...


por ejemplo

libro de 104 páginas

abres entre la 52 y 53 ¿con cual te quedas?



Me lo quitaste de la boca,  :D

Si tienes una calculadora cientifica a mano, suele haber un boton que pone Rand, coges la última cifra si es del 1 al 6, si no, pues coges la segunda, ect...

+ab

Re: Cómo obtener números aleatorios sin dados
« Respuesta #11 en: 05 de Abril de 2012, 10:26:23 »
Con el método del libro existe un problema.. es que siempre sacas pares o impares aposta...


por ejemplo

libro de 104 páginas

abres entre la 52 y 53 ¿con cual te quedas?



 Quizás, antes de abrirlo, te propones elegir entre derecha o izquierda, y coges el libro y le haces dar una buena vuelta en la mesa, así lo que puede pasar es que si abres el libro del derecho salen los números pares a la izquierda y los impares a la derecha y si lo abres al revés quedan los pares a la derecha y los impares a la izquierda. De todos modos es un método muy aparazoso, debe ser un coñazo que no paren de salirte números por encima del 6 y tener que repetir el proceso ;D

 Y eso, que al final todos los métodos son bastante aparatosos, sale más a cuenta tener un dado en el bolsillo, si hasta hace poco los regalaban en los bollycaos y en la tienda de los chinos te venden un cojón de dados por 1 euro  ;D

 La conclusión es que no podemos salir de casa sin un dado, jajaja  ;D

Ubermann

  • Visitante
Re: Cómo obtener números aleatorios sin dados
« Respuesta #12 en: 05 de Abril de 2012, 10:42:48 »
Lo de pares/impares del libro es cierto, no me había dado cuenta.
Lo que dice +ab parece ser una solución interesante :D



Lo que estás experimentando es un esbozo del teorema central del límite. Así en idioma mundano, dice que si tiras un dado muchísimas veces (tendiendo a infinitas veces), la media de los resultados tiende a igualarse con la media del dado. Por ejemplo, si tiras 1d6 infinitas veces, la media de todo lo que te ha salido será 3,5.

Pero eso pasa con todas las variables aleatorias. Y que ocurra es buen síntoma de que lo que estás obteniendo es verdaderamente una variable aleatoria. Estadística de EGB.

Eso mismo es lo que yo he dicho. El libro, al tener las páginas del 0 al 9, los números obtenidos tenderán a 4.5, y nosotros queremos que tiendan a 3 (rango 1 - 6), o quizás a 3.5 (rango 0 - 5). Por eso dije que el libro no es un método muy válido para usar como 1D6.
Por lo tanto, si queremos simular 5 tiradas de dados (cosa bastante común en un wargame), el resultado total será alrededor de 4.5, no de 3.5, por lo que estamos obteniendo números aleatorios más altos de lo que cabría esperar.

También es posible que random.org, al ser una web es posible que utilice números pseudoaleatorios (los ordenadores nos saben generar números aleatorios, utiilzan funciones matemáticas y semillas), no tenga resultados fiables, con lo que no le haría mucho caso. Tirar un dado, pasar las hojas de un libro o parar un cronómetro son variables aleatorias muchísimo más fiables.

Siendo ex-programador informático, eso ya lo sabía.
Si visitas www.random.org, sabrás qué algoritmo usan para generar números aleatorios (y no es el tiempo transcurrido).

¿Qué? La centésima de un cronómetro equivale a una rueda que cuenta del 0 al 9 ininterrumpidamente. Cuando tú la paras, todos los números tienen igual probabilidad de salir. Es una variable aleatoria completamente homogénea.

Y yo no he dicho lo contrario. Quizás me he explicado mal en algún momento.

Tu fórmula de arriba tiene un problema. Las centésimas de segundo están fuera del control humano, pero las décimas no. Si tienes en cuenta las décimas, las tiradas podrían "apañarse". El simple hábito de parar el tiempo más o menos en intérvalos de duración regular haría que las décimas sacasen algunos resultados más que otros, incluyendo una distorsión que haría que la variable dejase de ser puramente aleatoria.

Por ejemplo, si haces muchas tiradas y te acostumbras a parar el cronómetro tras 1 segundo, las décimas estarían la mayor parte del tiempo siendo 7, 8, 9 y 0, y casi ninguna vez siendo 3 y 4. Como tu fórmula es una división, y las décimas tienen en ella más peso que las centésimas... estás viciando el resultado.

En mi primer post (si es que lo has leído), ya he comentado que es mejor hacerlo con centésimas que con décimas por el hecho de que con décimas es posible hacer trampas, pero con centésimas es imposible, o prácticamente imposible.
Además he añadido que se necesita un cronómetro que cuente centésimas.

La fórmula es correcta para las centésimas, y más aún si aplicas el redondeo que he recomendado: entre 0.1 y 0.4, redondear hacia abajo, entre 0.5 y 0.9 hacia arriba.
« Última modificación: 05 de Abril de 2012, 10:44:21 por Ubermann »

JuanMabb

  • Experimentado
  • ****
  • Mensajes: 261
  • Ubicación: Girona
  • Distinciones Antigüedad (más de 8 años en el foro)
    • Ver Perfil
    • Distinciones
Re: Cómo obtener números aleatorios sin dados
« Respuesta #13 en: 05 de Abril de 2012, 11:01:55 »
Ve a esta página: http://www.random.org/integers/?num=100&min=1&max=100&col=5&base=10&format=html&rnd=new

que te calcula 100 números aleatorios cada vez que la visitas, luego súmalos todos y calcula la media. Verás que, curiosamente, da un número alrededor de 50.
Lo mismo sucede con un dado.

En el caso del libro, como los número en realidad van de 0 a 9, la suma de todas tus "tiradas" tiende siempre a 4.5, por lo que al usar este método los valores sumados siempre van a ser sumas de 4, 5 y 6.
Si el dado que necesitas es de seis caras, entonces estas obteniendo valores que no son realmente aleatorios dentro del rango 1 - 6, si no dentro del rango 0 - 9.

El motivo es sencillo, lo que no puedes es tener en cuenta para calcular la media los resultados que no te son válidos, los acabados en 7,8,9 y 0. Por lo demás el método del libro es muy bueno.

Otro método interesante sería utilizar una guia de teléfonos.


- Métono de monedas cara-cruz: para este método necesitamos al menos una moneda, aunque mejor utilizar tres, para evitar confusiones.

Consiste en usar monedas para descartar posibles valores aleatorios del dado.

Tiramos la primera moneda. Si sale Cara, entonces quiere decir que el número aleatorio del "dado" será par. En caso contrario, será impar. Por lo tanto, con esta primera moneda, podremos saber si vamos a obtener los números 2, 4 ó 6, o los números 1, 3 ó 5.

Ahora tiramos la segunda moneda.
Si sale Cara, quiere decir que hemos obtenido el primer número de la lista par o impar (es decir, el 1 o el 2, dependiendo de la primera moneda).
Si saliese cruz, entonces quiere decir que podremos obtener el segundo o tercer número de la lista (osea, 4, 6 ó 3, 5).
Para saber si es el segundo o tercer número, tiramos una tercera moneda. Si sale Cara, será el segundo número. Si sale cruz, es el tercero.

Un ejemplo:
Tiro la primera moneda, me sale Cara: obtendré alguno de los números 2, 4 ó 6.
Tiro la segunda moneda, me sale cruz: obtendré alguno de los números 4 ó 6.
Tiro la tercera moneda, me sale Cara: finalmente obtengo el número 4.

Otro ejemplo:
Tiro la primera moneda, sale Cruz: obtendré los números 1, 3 ó 5
Tiro la segunda moneda, sale Cruz: obtendré los números 3 ó 5
Tiro la tercera moneda, sale cruz: al final es el número 5.

Éste método es incorrecto dado que te produce una desviación hacia el 1 y el 2. Los 8 posibles estados de tirar 3 monedas.

CCC = 2
CCX = 2
CXC = 4
CXX = 6
XCC = 1
XCX = 1
XXC = 3
XXX = 5

Némesis

  • Baronet
  • Veterano
  • *
  • Mensajes: 2835
  • Ubicación: Castelldefels (Barcelona)
  • Distinciones Antigüedad (más de 8 años en el foro) Bloguero Onanista lúdico (juego en solitario) Baronet (besequero de la semana)
    • Ver Perfil
    • Distinciones
Re: Cómo obtener números aleatorios sin dados
« Respuesta #14 en: 05 de Abril de 2012, 11:39:44 »
Ya lo posteé en este hilo, pero lo repito porque creo que viene bien y es extremadamente útil:

http://www.wizards.com/dnd/dice/dice.htm

Nótese que se puede descargar y usar OFFLINE.

Y muy atentos a la última opción: un número aletaorio entre cualquier cantidad que queramos.
« Última modificación: 05 de Abril de 2012, 11:41:32 por Némesis »