He investigado mucho sobre generadores de números aleatorios para máquinas tragamonedas, cálculos de parada de carretes y cómo dar físicamente al usuario una buena oportunidad de ganar.
Lo que no puedo entender es cómo asegurar adecuadamente que la máquina tendrá una calificación de pago del 95%.
Entonces, tengo un carrete configurado con 22 espacios. Lleno de 16 símbolos diferentes.
Cuando obtengo mi número aleatorio, el mod lo divide por 64 y obtengo el resto, salto a una mesa de bucle para ver cómo la parada virtual se relaciona con la posición del carrete.
Ahora que sé cómo se detendrán los carretes, ¿me aseguro de que la proporción de pago sea correcta? Por cada dólar que ponen, ¿cómo puedo asegurarme de que la máquina pagará .95 centavos?
Gracias por las ideas
Estoy trabajando en ActionScript, si eso ayuda con los problemas del lenguaje, pero en general solo estoy buscando teoría.
Editar: hay dinero real involucrado solo en el hecho de que pueden comprar más fichas para jugar más. No se pagará dinero real a la persona, si realmente llegara a alguna de las líneas de pago.
fuente
Respuestas:
Lo que estás preguntando está relacionado con la teoría de la probabilidad . Es más fácil trabajar con un carrete y luego extenderlo a múltiples carretes una vez que comprenda cómo funciona.
Tenga en cuenta que si tuviera un carrete, tiene algunos símbolos que desea asignar a las paradas. Más símbolos en un carrete conducirán a un mayor control sobre los resultados finales, pero se sentirán más aleatorios para el jugador. El objetivo es equilibrar el número de símbolos y paradas para que la máquina se sienta menos aleatoria para el jugador y tenga más posibilidades.
Si tuviera 10 símbolos y 10 paradas, cada símbolo tendría una probabilidad de 1 en 10 de aparecer. No importa en qué orden estén los símbolos (en teoría, en la práctica, la aleatoriedad del juego es tan buena como su generador de números aleatorios). En otras palabras, puede esperar ver 10 símbolos diferentes en 10 giros, o un símbolo diferente en cada giro. La posibilidad de obtener un símbolo en particular es de 1 en 10. Por lo tanto, por cada 10 giros, puede esperar ver cada símbolo individual una vez. Si elegiste 1 símbolo para ser el símbolo "ganador", el jugador tendría que jugar 10 veces antes de ganar. Con esta información, es bastante sencillo calcular el pago. Si les cobra $ 1 por cada giro, tendrán que gastar $ 10 antes de ganar. Si su calificación esperada es 95%, el cálculo es $ 10 x 95% = $ 9.50. En otras palabras, el premio por aterrizar en el símbolo "ganador" debe ser de $ 9.50 para tener un pago esperado del 95%. Ahora recuerde que todo esto se basa en el promedio. No hay garantía de que el símbolo aparezca exactamente en 10 giros, puede tomar 100 o 1000 giros, o incluso solo 1 giro para aparecer. En un tiempo suficiente, la máquina pagará la cantidad correcta en promedio.
Para que esto funcione en múltiples carretes, debe multiplicar la probabilidad de ganar de cada carrete. Considere un ejemplo de 3 carretes con 10 símbolos en cada carrete y 1 símbolo ganador en cada carrete como en el ejemplo anterior. Digamos que desea que el jugador gane solo cuando los tres carretes muestren el símbolo ganador al mismo tiempo. Para hacer esto, necesita calcular la probabilidad de cada carrete y luego multiplicar las probabilidades juntas. Sabemos por el ejemplo anterior que la probabilidad es 1 en 10. Esto también se puede escribir como 1/10 o 0.1. La probabilidad de que los tres carretes lleguen al símbolo ganador al mismo tiempo es 1/10 x 1/10 x 1/10, o 0.1 x 0.1 x 0.1, o 0.001, o 1 en 1000. Vemos que hay mucho menor probabilidad de que el símbolo ganador aparezca en los tres carretes al mismo tiempo. El jugador necesitaría girar 1000 veces en promedio antes de ganar. Si cada giro fuera de $ 1, tendrían que gastar $ 1000 para ganar. El cálculo del porcentaje ganador es: $ 1000 x 95% ** = $ 950.00.
Esa es la teoría en pocas palabras. El resto es equilibrar equilibrando las diferentes probabilidades para hacer que el juego parezca más interesante.
En su caso, si tiene 22 paradas y 16 símbolos. Esto significa que tendrá 6 símbolos que son lo mismo que al menos otro símbolo. La probabilidad exacta de que aparezca un símbolo en particular depende del número total de apariciones de ese símbolo en el carrete. Cuántos de cada símbolo hay en cada carrete depende de usted.
Como ejemplo, supongamos que tiene 15 símbolos únicos y 7 que son todos duplicados. La posibilidad de que aparezca cualquiera de los duplicados es 7 en 22, o 7/22, o 32%. Si tuviera 1 carrete, a $ 1 por giro, el jugador aterrizaría en uno de los duplicados 32 veces en 100 giros. El pago se calcula como (1 / (32/100)) x 95% x $ costo. Entonces, si costaba $ 1 por giro, le pagaría al jugador $ 2.97 cada vez que apareciera uno de los duplicados.
Como otro ejemplo, si tuviera 3 carretes y costara $ 2 por giro, calcularía el pago de la siguiente manera: (1 / (32/100 x 32/100 x 32/100)) x 0.95 x $ costo = 30.5 x 95% x $ 2 = pago de $ 57.95. Puede calcular las probabilidades de los otros no duplicados de la siguiente manera: (1 / (1/22 x 1/22 x 1/22)) x 0.95 x $ costo = 10648 x 0.95 x $ 2 = $ 20231.20. Ese es un número bastante grande, pero la probabilidad de que aparezca cualquiera de las secuencias ganadoras es bastante baja (aproximadamente 9x10 ^ -5).
En los últimos ejemplos, las diferencias son bastante extremas: el jugador gana $ 58 muy a menudo o $ 20231 casi nunca, sin variaciones intermedias. El arte de hacer que el juego sea atractivo es crear más oportunidades para ganar con cantidades variables. Esto a menudo se logra mezclando carretes con diferentes probabilidades. Entonces, en lugar de que cada carrete tenga
el mismo número de cada símbolo, un carrete puede tener más símbolos, o más de un tipo de símbolo, y así sucesivamente. La fórmula para calcular la probabilidad es la misma que antes, solo recuerde usar las proporciones correctas para cada carrete. Por ejemplo, si tiene el carrete A con 22 paradas y 3 ocurrencias de un símbolo, el carrete B con 26 paradas y 2 ocurrencias del símbolo, y el carrete C con 20 paradas y 5 ocurrencias del símbolo, la fórmula se vería así: (1 / (3/22 x 2/26 x 5/20)) x 95% x $ costo.
Y eso es todo lo que hay que hacer. Espero no haber cometido demasiados errores en los ejemplos, por lo que aún podrá encontrarlo útil: P
** Una nota sobre notación, 95% es idéntico a 0,95. 32/100 es idéntico a 0.32, 7/22 es idéntico a 0.31818 .. etc.
fuente
Desea que el valor esperado sea .95. En términos simples, esta es la suma de
probability * payout
cada estado.Un método de fuerza bruta sería iterar sobre los 22 ^ 3 estados (suponiendo que tenga 3 carretes), sumar el pago y dividir la suma por 22 ^ 3. Sin embargo, dado que la mayoría de los estados probablemente no pagan nada, podría ser más fácil resolver todos los estados que sí pagan.
Por ejemplo, si tenía 1 símbolo de Bell por carrete, entonces la probabilidad de
sería 1/22 ^ 3. Y si tuvieras 2 cerezas por carrete, entonces la probabilidad de
sería 1/11 ^ 2.
EDITAR: Lo anterior solo le dice cómo verificar que los pagos dan la tasa de retorno deseada. Como un ejemplo simple, consideremos un juego en el que pagas $ 1 para lanzar 2 monedas. Aquí hay tres esquemas de pago que dan una tasa de retorno de .95:
¿Cuál es más "divertido"? Dígame usted...
fuente
La forma más fácil y confiable de hacer esto no es simulando carretes, sino más bien tener un dado interno que elige lo que gana el jugador y luego llenar el carrete de forma procesal (o tener un gran conjunto de ellos guardado en algún lugar, pero eso probablemente llevará más tiempo para hacer).
fuente
Los otros no han tocado este bit:
Si usa números completamente al azar, no hay forma de estar seguro. Sin embargo, puede mantener estadísticas de los pagos y ajustar la probabilidad de un pago en tiempo de ejecución utilizando un ciclo de retroalimentación .
Si no ha habido un pago durante algún tiempo, haga que sea más probable que gane, y viceversa.
Puede ejecutar simulaciones de las ejecuciones (deberían hacer un par de billones de iteraciones) para asegurarse de que su ciclo de retroalimentación funcione según lo previsto.
fuente
Tenga en cuenta que todas las respuestas hasta ahora suponen que tiene un RNG perfecto para trabajar. Un software puro RNG es en realidad un pseudo-RNG, o PRNG para abreviar, porque el mismo valor de entrada (semilla) siempre generará la misma secuencia de números aleatorios, por lo que un PRNG es inherentemente predecible.
Por supuesto, es un problema difícil distinguir los RNG "verdaderos" de los "pseudo" en el lado del cliente, especialmente con un tamaño de muestra pequeño, pero hay una diferencia: en una aplicación donde está involucrado dinero y responsabilidad legal, no lo haría. tomar oportunidades. Si necesita un RNG, lo único peor que no tener un RNG es tener un RNG roto sin saberlo, por lo que esta es una área en la que su empresa nunca debe hacer recortes ni aprender sobre la marcha.
Existen buenos algoritmos de PRNG, pero nunca coincidirán con una fuente física de entropía. Por lo tanto, para que las matemáticas funcionen tanto en la práctica como en la teoría, asegúrese de utilizar el mejor RNG posible: es lo mejor para su empresa, tanto legal como financieramente.
fuente
Un enfoque muy simple podría consistir en iterar sobre todos los posibles resultados del giro y sumar las ganancias combinadas, en comparación con el dinero total recaudado.
Comience creando los diseños de las ruedas, permita símbolos duplicados si lo desea. Determine los patrones ganadores y los pagos que desea. Ejecute el patrón de rueda a través de un algoritmo para determinar el pago total, divida por el dinero recaudado, esta es su relación de pago.
Si es demasiado alto, agregue más espacios en blanco, o símbolos de pago menores, O baje el patrón de pago (es decir, tres barras simples pueden ser de $ 10 o $ 5). Vuelva a ejecutar el algoritmo hasta que se determine la proporción de pago deseada.
Esto le permite mantener pagos de valor uniforme (no $ 4.58 para un patrón ganador, podría usar $ 5). Es posible que no pueda obtener un pago exacto de, digamos, el 95%, pero con ajustes puede acercarse.
Aquí hay un algoritmo de ejemplo para determinar la relación de pago de un diseño de rueda:
fuente