He escrito un programa para simular un volado de reproducción aleatoria tarjeta.
Cada carta está numerada, con el palo que va CLUBS, DIAMONDS, HEARTS, SPADES
y el rango de Dos a Diez y luego Jack, Reina, Rey y As. Por lo tanto, el Two of Clubs tiene un Número de 1, el Three of Clubs un 2 ... As of Clubs es 13 ... Ace of Spades es 52.
Uno de los métodos para determinar qué tan barajadas están las cartas es compararlas con una carta no barajada y ver si el orden de las cartas está correlacionado.
Es decir, podría tener estas tarjetas, con la tarjeta no barajada para comparar:
Unshuffled Shuffled Unshuffled number Shuffled number
Two of Clubs Three of Clubs 1 2
Three of Clubs Two of Clubs 2 1
Four of Clubs Five of Clubs 3 4
Five of Clubs Four of Clubs 4 3
La correlación por el método de Pearson sería: 0.6
Con un gran conjunto de tarjetas (las 52), es posible que surjan patrones. Mi hipótesis es que después de más barajas obtendrás menos correlación.
Sin embargo, hay muchas formas de medir la correlación.
He intentado probar la correlación de Pearson, pero no estoy seguro de si esta es la correlación correcta para usar en esta situación.
¿Es esta una medida de correlación adecuada? ¿Hay alguna medida más adecuada?
Puntos de bonificación A veces veo este tipo de datos en mis resultados:
Claramente, existe alguna correlación, pero no sé cómo se miden las 'líneas de tendencia' separadas.
fuente
Respuestas:
Puede medir el nivel relativo de correlación (o más precisamente, el nivel creciente de aleatoriedad) utilizando la entropía de Shannon de la diferencia en el valor nominal entre todos los pares de cartas adyacentes.
fuente
Sé que esta publicación tiene casi 4 años, pero soy un criptoanalista aficionado, y he estado estudiando juegos de cartas . Como resultado, volví a esta publicación una y otra vez para explicar el barajado de barajas como una fuente de entropía para teclear aleatoriamente la baraja. Finalmente, decidí verificar la respuesta por stachyra barajando el mazo a mano y estimando la entropía del mazo después de cada barajado.
TL; DR, para maximizar la entropía del mazo:
En primer lugar, todo lo que mencionó Stachyra para calcular la entropía de Shannon es correcto. Se puede resumir de esta manera:
Donde Stachyra hace una suposición sutil, es que implementar un shuffle humano en un programa de computadora vendrá con algo de equipaje. Con las cartas de papel, a medida que se usan, el aceite de tus manos se transfiere a las cartas. Durante un tiempo prolongado, debido a la acumulación de aceite, las tarjetas comenzarán a pegarse, y esto terminará en su barajadura. Cuanto más se use el mazo, más probable es que dos o más cartas adyacentes se unan, y con mayor frecuencia sucederá.
Además, se supone que los dos clubes y la jota de corazones se unen. Pueden terminar atrapados juntos durante la duración de su barajado, sin separarse nunca. Esto podría imitarse en un programa de computadora, pero este no es el caso con la rutina R de stachyra.
Además, stachyra tiene una variable de manipulación "mixprob". Sin comprender completamente esta variable, es un poco un cuadro negro. Podría configurarlo incorrectamente, afectando los resultados. Entonces, quería asegurarme de que su intuición fuera correcta. Entonces lo verifiqué a mano.
Barajé la baraja 20 veces a mano, en dos casos diferentes (40 barajas en total). En primera instancia, simplemente revolví los pies, manteniendo los cortes derecho e izquierdo casi parejos. En la segunda instancia, corté el mazo deliberadamente lejos del centro del mazo (1/3, 2/5, 1/4, etc.) antes de hacer un corte parejo para el riffle shuffle. Mi instinto en la segunda instancia fue que cortando la cubierta antes de barajar, y manteniéndome alejado del medio, podía introducir la difusión en la cubierta más rápidamente que la mezcla de rifles.
Aquí están los resultados. Primero, barajar el riffle recto:
Y aquí está cortando la baraja combinada con el riffle shuffling:
Parece que la entropía se maximiza en aproximadamente la mitad del tiempo de la reclamación por estaquira. Además, mi intuición era correcta: cortar el mazo deliberadamente lejos del centro primero, antes de que la combinación de rifles introdujera más difusión en el mazo. Sin embargo, después de unos 5 barajaduras, ya no importaba mucho. Puede ver que después de aproximadamente 6-7 barajaduras, la entropía se maximiza, en comparación con el 10-12, ya que la afirmación hizo que mi estaquira. ¿Podría ser posible que 7 barajaduras sean suficientes o estoy siendo cegado?
Puedes ver mis datos en Google Sheets . Es posible que haya grabado una tarjeta o dos de forma incorrecta, por lo que no puedo garantizar una precisión del 100% con los datos.
Es importante que sus hallazgos también se verifiquen independientemente. Brad Mann, del Departamento de Matemáticas de la Universidad de Harvard, estudió cuántas veces tomaría barajar un mazo de cartas antes de que la previsibilidad de cualquier carta en el mazo sea completamente impredecible (la entropía de Shannon se maximiza). Sus resultados se pueden encontrar en este PDF de 33 páginas .
Lo que es interesante con sus hallazgos es que en realidad está verificando independientemente un artículo del New York Times de 1990 escrito por Persi Diaconis , quien afirma que 7 barajaduras son suficientes para mezclar completamente una baraja de cartas a través de la barajadura.
Brad Mann recorre algunos modelos matemáticos diferentes en el barajado, incluidas las cadenas de Markov, y llega a la siguiente conclusión:
Brad Mann simplemente verificó independientemente el resultado de Stachyra, y no el mío. Entonces, miré más de cerca mis datos y descubrí por qué 7 barajaduras no son suficientes. En primer lugar, la entropía máxima teórica de Shannon en bits para cualquier carta en el mazo es log (52) / log (2) ~ = 5.7 bits. Pero mis datos nunca se rompen realmente por encima de los 5 bits. Curioso, creé una matriz de 52 elementos en Python, barajé esa matriz:
Calcular su entropía por tarjeta produce unos 4,8 bits. Hacer esto una docena de veces muestra resultados similares que varían entre 5.2 bits y 4.6 bits, con 4.8 a 4.9 como promedio. Por lo tanto, mirar el valor de entropía sin procesar de mis datos no es suficiente, de lo contrario podría llamarlo bueno a 5 shuffles.
Cuando miro más de cerca mis datos, noté el número de "cubos cero". Estos son depósitos donde no hay datos para deltas entre las caras de las tarjetas para ese número. Por ejemplo, al restar el valor de dos cartas adyacentes, no hay resultado "15" después de que se hayan calculado los 52 deltas.
Veo que eventualmente se establece alrededor de 17-18 "cubos cero" alrededor de 11-12 barajadas. Efectivamente, mi baraja barajada a través de Python promedia 17-18 "cubos cero", con un máximo de 21 y un mínimo de 14. Por qué 17-18 es el resultado establecido, no puedo explicar ... todavía. Pero, parece que quiero ~ 4.8 bits de entropía Y 17 "cubos cero".
Con mi riffle de stock barajando, eso es 11-12 barajaduras. Con mi cortar y mezclar, eso es 6-7. Entonces, cuando se trata de juegos, recomendaría cortar y mezclar. Esto no solo garantiza que las cartas superior e inferior se mezclen en el mazo en cada baraja, sino que también es más rápido que 11-12 barajas. No sé sobre ti, pero cuando estoy jugando juegos de cartas con mi familia y amigos, no son lo suficientemente pacientes como para que yo pueda hacer 12 juegos aleatorios.
fuente