En primer lugar, esta pregunta está arrancada de la pregunta this. Lo hice porque creo que esta parte es más grande que una subparte de una pregunta más larga. Si ofende, por favor perdóname.Cómo probar la aleatoriedad (caso en punto - Mezclar)
Supongamos que tiene un algoritmo que genera aleatoriedad. ¿Ahora cómo lo pruebas? O para ser más directo: supongamos que tiene un algoritmo que baraja una baraja de cartas, ¿cómo se prueba que es un algoritmo perfectamente aleatorio?
Para agregar algo de teoría al problema - ¡Se puede mezclar una baraja de cartas en 52! (52 factorial) formas diferentes. Toma una baraja de cartas, baraja a mano y escribe el orden de todas las cartas. ¿Cuál es la probabilidad de que haya obtenido exactamente ese shuffle? Respuesta: 1/52 !.
¿Cuál es la probabilidad de que, después de arrastrar los pies, consigas A, K, Q, J ... de cada palo en una secuencia? Respuesta 1/52!
Por lo tanto, simplemente arrastrando los pies una vez y mirando el resultado no obtendrá absolutamente ninguna información sobre la aleatoriedad de los algoritmos de mezcla. Dos veces y usted tiene más información, Tres más ...
¿Cómo podría probar la caja negra un algoritmo de mezcla aleatoria?
Parece que FSU ha desaparecido de los sitios Diehard. Hay una distribución de Duke GPL de una herramienta similar llamada [Dieharder] (http://webhome.phy.duke.edu/~rgb/General/dieharder.php) – Matt