¿Hay generadores de números pseudoaleatorios que sean lo suficientemente fáciles de hacer con la aritmética mental o la aritmética mental, además de contar con los dedos? Obviamente, esto limita a la matemática bastante simple: tiene que ser algo que alguien con una capacidad matemática promedio pueda hacer, o tal vez una habilidad promedio para un programador, no un prodigio matemático.¿Hay un generador de números pseudoaleatorio lo suficientemente simple como para hacer en tu cabeza?
Lo más simple que he encontrado es Middle square method, pero no solo se sabe que es una fuente de aleatoriedad deficiente, todavía parece demasiado complejo sin lápiz ni papel.
Si la única manera de hacerlo es limitando el rango, tal vez solo puede dar como resultado números de 8 bits, eso está bien. Sospecho que uno de los algoritmos estándar de PRNG sería lo suficientemente simple en una versión de 8 bits, pero no sé lo suficiente como para simplificar cualquiera de ellos, desde la versión de 32 bits a la versión de 8 bits. (Todos los que miré dependen de números de semilla especialmente seleccionados que dependen de la cantidad de bits con los que trabajas, y generalmente solo se dan ejemplos de 32 y 64 bits).
Paso 1. Piensa en el primer número que aparece en tu cabeza. ;-) –
@Mike Deck: lo hice, y obtuve 6275182149295802584461. Necesito dormir un poco. – BoltClock
Pensando en el primer número que aparece en su cabeza tiene una función de distribución deficiente. Por ejemplo, 7 y 17 son mucho más comunes que otros números. http://scienceblogs.com/cognitivedaily/2007/02/is_17_the_most_random_number.php – LeBleu