Rueda Generadora de Números Aleatorios: Cómo Funciona y Por Qué Importa
La ciencia detrás de los números verdaderamente aleatorios y cómo aprovecharlos

Pídele a diez personas que "elijan un número al azar entre el 1 y el 10" y verás aparecer un patrón. El siete sale muchísimo más de lo que le correspondería. El uno y el diez casi no aparecen. A los humanos se nos da fatal ser aleatorios, y por eso recurrimos a herramientas cuando el resultado tiene que ser justo. Pero aquí viene el detalle en el que casi nadie repara. Muchas de esas herramientas tampoco son realmente aleatorias. Los dados que tienes guardados en el armario de los juegos de mesa, el botón de mezclar de tu móvil, la elección "al azar" de la mayoría de las apps: cada uno esconde una historia distinta sobre qué significa la aleatoriedad de verdad y cuánta estás recibiendo en realidad. Esta es la guía más técnica de toda la web, así que seamos sinceros con los detalles. La <a href="/number-wheel/">rueda de números</a> de wheel.expert saca sus cifras de la Web Crypto API, la misma fuente de aleatoriedad que los navegadores exponen para generar claves de cifrado y tokens de sesión. No es un generador de juguete disfrazado con una animación. El giro es puro espectáculo; el número que hay debajo está construido para ser impredecible. ¿Quieres saber cómo funciona y dónde importa de verdad? Sigue leyendo.
¿Qué Hace que un Número Sea 'Verdaderamente' Aleatorio?
Generadores pseudoaleatorios (PRNG)
La mayoría de los números "aleatorios" en el software son pseudoaleatorios. Una fórmula toma un valor de partida —la semilla— y produce una secuencia que parece revuelta pero que está totalmente determinada. Introduce la misma semilla y obtendrás la misma secuencia cada vez, hasta el último dígito. Esa reproducibilidad resulta genuinamente útil para pruebas y simulaciones. Es un desastre para cualquier cosa que tenga que ser secreta o a prueba de manipulaciones.
Generadores verdaderamente aleatorios (TRNG)
Estos se saltan las matemáticas por completo y miden ruido físico: estática atmosférica, fluctuaciones térmicas eléctricas, la desintegración de átomos radiactivos. Los resultados son impredecibles porque la física que hay debajo lo es. Son más lentos y necesitan hardware especial, motivo por el cual no encuentras uno en cada portátil.
PRNG criptográficamente seguros (CSPRNG)
Este es el término medio práctico. Sigue siendo un algoritmo, pero diseñado de tal forma que ver los resultados anteriores no le da a un atacante ninguna manera realista de adivinar el siguiente. Los números se calculan y, sin embargo, para cualquier propósito del mundo real se comportan como si los hubieran sacado de la nada.
¿Por qué hilar tan fino? Porque lo que está en juego decide el nivel que necesitas. Una partida de dados no le importa. Una rifa con un premio de por medio sí, y mucho: un generador predecible es un generador que alguien puede amañar. wheel.expert se apoya en el
crypto.getRandomValues() del navegador, un CSPRNG, de modo que la rueda de números queda en la misma categoría de confianza que el código que protege tus inicios de sesión, en lugar de la aleatoriedad desechable de una app cualquiera.Cómo Genera wheel.expert los Números Aleatorios
Paso uno: pedirle entropía al navegador.
La Web Crypto API recurre al fondo de aleatoriedad acumulada del sistema operativo: ruido del hardware allí donde el chip lo soporta, variaciones de temporización y otras entradas impredecibles que el SO ha ido recogiendo. No inventamos aleatoriedad; se la pedimos a la capa diseñada para proporcionarla.
Paso dos: convertir la entropía en bytes uniformes.
crypto.getRandomValues() rellena un array con valores en los que cada byte posible tiene la misma probabilidad. Sin inclinación hacia lo alto ni hacia lo bajo.Paso tres: mapear los bytes sobre tu rango.
Este es el paso que los aficionados hacen mal. El enfoque ingenuo consiste en tomar un byte aleatorio y usar el operador resto para encajarlo en tu rango, lo cual sesga discretamente el resultado hacia los números más pequeños. Nosotros usamos en su lugar el muestreo por rechazo: si un valor cae en la región sobrante que provocaría el sesgo, lo descartamos y sacamos otro. Algo más de trabajo, pero cada número de tu rango acaba teniendo posibilidades genuinamente iguales.
Paso cuatro: animar hacia la respuesta.
El número ganador queda fijado antes de que la rueda empiece a moverse. El giro luego se desacelera hasta detenerse en ese segmento. Así que la física de la animación tiene cero influencia en el resultado: es decoración envuelta alrededor de una decisión que ya está tomada.
Ese orden importa para la imparcialidad. Nada relacionado con la rapidez con la que haces clic, lo que dura el giro o el fotograma en el que se detiene puede empujar el resultado. Las matemáticas terminan primero y el espectáculo viene después.
Usos Prácticos de una Rueda de Números Aleatorios
Juegos y entretenimiento
Educación
Toma de decisiones
Creatividad y arte
Personalizar Rangos de Números y Opciones
Fija el rango que quieras.
El mínimo y el máximo son tuyos. Un 1 al 6 estilo dado, una tirada porcentual del 0 al 100 o algo absurdo como del 1 al 1.000.000. No hay ninguna forma de dado estándar que te limite.
Mete tu propia lista.
Sáltate el rango por completo y escribe valores concretos: 3, 7, 12, 42, 99. Solo esos aterrizan en la rueda, lo cual viene de perlas cuando los números que importan no son consecutivos.
Excluye lo que ya salió.
¿Vas del 1 al 10 pero el siete ya está pillado de una ronda anterior? Quítalo y gira con el resto.
Frena las repeticiones.
Activa la opción de quitar-tras-seleccionar y cada número se retira en cuanto sale, de manera que nada se repite hasta que el conjunto se reinicia. Este es el modo bingo y rifa: cada bola sale exactamente una vez.
Inclina las probabilidades a propósito.
Dale más peso a un número y aparecerá con más frecuencia. Resulta útil cuando quieres que las tiradas altas sigan siendo raras en un juego, o cuando una clase estudia la probabilidad de los dados cargados y necesita una rueda visiblemente injusta con la que trastear.
Gira para sacar varios a la vez.
¿Necesitas una línea de lotería de seis números o un lote de valores para un ejercicio de estadística? Saca varios resultados de una sola pasada.
Rueda Digital de Números vs. Dados Físicos
Un dado físico te da una respuesta táctil, no necesita corriente y encaja con el ambiente de una noche de mesa de una forma que una pantalla nunca logrará del todo. Lo coges, lo lanzas, listo: ninguna animación que aguantar. Para lo acogedor, a los dados cuesta ganarles.
La rueda digital se gana su sitio en cuanto tus necesidades dejan de ser estándar. Los dados vienen en un puñado fijo de formas, así que el día que necesites una tirada justa del 1 al 73 sencillamente no existe un dado para eso. Una rueda lo hace sin pestañear. También está el problema silencioso de los propios objetos físicos: un dado barato puede estar sutilmente cargado, uno gastado favorece una cara, y el "tíralo otra vez, ese se cayó de la mesa" mete a una persona tomando decisiones a dedo. El software esquiva todo eso.
Así que tira de lo digital cuando el rango sea inusual, cuando la imparcialidad tenga que ser defendible porque hay dinero o un premio de por medio, cuando haya gente conectándose en remoto que no puede compartir un dado físico, o cuando simplemente quieras un registro de lo que salió. Tira de los dados cuando quieras sostener algo y el rango exacto dé igual. Ambas opciones son válidas. El truco está en ajustar la herramienta a lo que está en juego.
Usar Ruedas de Números para Enseñar Probabilidad
Distribución uniforme.
Gira una rueda del 1 al 6 muchas veces y anota los resultados en la pizarra. Cada cara debería caer en torno a un sexto de los giros. La distancia entre el "debería" y lo que de verdad ocurrió es la puerta para hablar del valor esperado y de por qué las muestras pequeñas se tambalean.
Probabilidad ponderada.
Monta una rueda donde el 1 tenga peso 1, el 2 peso 2, y así sucesivamente. Pide a la clase que prediga qué números dominarán antes de un solo giro, luego lanza un lote y comprueba las apuestas. Ver su predicción confirmada cala más hondo que una fórmula en una diapositiva.
Independencia de los ensayos.
La rueda acaba de caer en el 3. Pregunta si el 3 es ahora más o menos probable en el siguiente giro. El instinto dice "menos", y la rueda demuestra que el instinto se equivoca. Cada giro olvida por completo al anterior.
Ley de los grandes números.
Con diez giros el recuento parece desequilibrado e "injusto". Empuja hasta cincuenta, luego hasta cien, y las barras se aplanan hacia la igualdad. Presenciar esa convergencia en tiempo real es la lección.
La falacia del jugador.
Si el 6 no ha salido en una docena de giros, media clase jurará que "toca". No toca. La rueda no tiene memoria ni deuda que saldar, y unos cuantos giros más suelen demostrar que el universo no le debe un seis a nadie. Para rutinas de aula más amplias, la guía de selector de actividades para el aula agrupa ejercicios basados en giros como estos en planes de clase completos.
Inmersión Técnica: la Web Crypto API
La llamada en sí.
crypto.getRandomValues() es un método de la Web Crypto API. Le pasas un array tipado —pongamos un Uint8Array— y rellena cada hueco con valores aleatorios criptográficamente fuertes, in situ. Esa es la interfaz completa, y está soportada en todos los navegadores principales actuales.De dónde sale la entropía.
El navegador no genera aleatoriedad por su cuenta. Se la pide al sistema operativo, que mantiene un fondo de entropía alimentado por generadores aleatorios de hardware cuando la CPU dispone de uno, más fluctuaciones de temporización y otro ruido físico que el sistema recoge. El navegador es un mensajero que transmite aleatoriedad obtenida más abajo en la pila.
El algoritmo en medio.
Entre la entropía del SO y tu array se sitúa un CSPRNG, a menudo construido sobre un cifrado de flujo como ChaCha20 o una construcción basada en AES, según la plataforma. Su tarea es estirar un fondo de entropía verdadera hasta una larga tirada de salida que se mantenga impredecible.
Qué te aporta lo "seguro".
La propiedad de seguridad que importa aquí es la resistencia a la predicción hacia adelante: un observador que haya visto cada número que el generador ha producido jamás sigue sin tener una manera práctica de calcular el siguiente. Combina eso con una salida uniforme y tienes un generador apto para claves, tokens y, sí, un giro de rueda justo.
¿Y por qué no usar simplemente Math.random()?
Porque
Math.random() es un PRNG corriente sin ninguna garantía de seguridad. La especificación ni siquiera exige un algoritmo concreto, varios motores han usado algoritmos predecibles, y su estado interno puede reconstruirse a partir de un puñado de salidas. Rápido y estupendo para mezclar una lista de reproducción. Equivocado para cualquier cosa en la que alguien tenga motivos para hacer trampa. Esa única distinción —PRNG no criptográfico frente a CSPRNG— es la línea que wheel.expert se niega a cruzar, y por eso cada giro pasa por Web Crypto.Conclusión
Volvamos al truco de fiesta del principio: la sala llena de gente que toda "al azar" eligió el siete. La lección nunca fue que los humanos seamos malos con las matemáticas. Es que la aleatoriedad de verdad es algo concreto y construible, y la mayoría de las herramientas que agitan la palabra no la están entregando. Una rueda de números que bebe de <code>crypto.getRandomValues()</code> sí la entrega. La misma fuente que usa el navegador para mantener honestas tus conexiones cifradas, envuelta en una animación que hace que el resultado se sienta como un acontecimiento en lugar de una llamada a una función. El muestreo por rechazo mantiene planas las probabilidades, el resultado decidido de antemano impide que el giro sea amañable, y todo el conjunto funciona gratis en cualquier pestaña del navegador. Ya estés resolviendo un orden de juego, organizando un sorteo justo o demostrándole a una clase por qué eso de "toca" es un mito, el número de debajo se construyó para ser inadivinable. Elige tu rango, dale a girar y confía en el número que te devuelva. ¿Qué será lo primero que le dejes decidir?
¿Listo para generar números verdaderamente aleatorios? ¡La Rueda de Números de wheel.expert es 100 % gratis!
Gira la Rueda de NúmerosPreguntas Frecuentes
¿Es la rueda de números verdaderamente aleatoria?
Usa crypto.getRandomValues() de la Web Crypto API, que es un generador pseudoaleatorio criptográficamente seguro (CSPRNG). Es la misma clase de aleatoriedad que los navegadores emplean para las claves de cifrado. No es una fuente aleatoria de hardware verdadera, pero para la imparcialidad y la impredecibilidad en cualquier escenario práctico es el nivel de aleatoriedad más fuerte disponible en un navegador.
¿Qué diferencia hay entre esto y Math.random()?
Math.random() es un PRNG no criptográfico. Es rápido, pero su salida puede predecirse a partir de valores anteriores y su algoritmo ni siquiera está fijado por el estándar. crypto.getRandomValues() es criptográficamente seguro, lo que significa que los resultados pasados no ofrecen ninguna manera práctica de adivinar los futuros. Usamos este último para que nadie pueda manipular un giro.
¿Qué rangos de números puedo usar?
Absolutamente cualquier rango. Del 1 al 6 para dados, del 1 al 100 para porcentajes, del 1 al 1.000.000 para grandes sorteos. También puedes saltarte los rangos por completo y escribir una lista personalizada de números concretos para que solo esos aparezcan en la rueda.
¿Puedo evitar números repetidos?
Sí. Activa la opción de quitar-tras-seleccionar y cada número sale del conjunto en cuanto se extrae, de modo que nada se repite hasta que reinicias. Este es el modo para el bingo, las rifas y cualquier cosa que necesite que cada valor salga exactamente una vez.
¿Por qué usar muestreo por rechazo en lugar de un resto simple?
Mapear bytes aleatorios sobre un rango con el operador módulo sesga discretamente el resultado hacia los números más pequeños, porque el rango de bytes rara vez se divide de forma exacta en tu rango objetivo. El muestreo por rechazo descarta los valores que provocarían ese desvío y vuelve a sacar, de manera que cada número acaba con posibilidades genuinamente iguales.
¿La animación del giro afecta al resultado?
No. El número se genera y se fija antes de que la rueda empiece a moverse, y luego la animación se desacelera hasta detenerse en ese segmento. La velocidad del clic, la duración del giro y el fotograma en el que se detiene tienen cero influencia. Las matemáticas terminan primero y la animación es puro espectáculo.
¿En qué es mejor esto que los dados físicos?
Los dados se limitan a unas pocas formas estándar, así que los rangos inusuales son imposibles, y los dados físicos pueden estar sutilmente cargados o desgastados. La rueda maneja cualquier rango, admite pesos y exclusiones personalizados a propósito, funciona para participantes en remoto y se apoya en aleatoriedad criptográfica documentada en lugar de en cómo dé la casualidad de rodar un cubo.
¿Puedo hacer que algunos números sean más probables que otros?
Sí, con el ajuste de peso. Dale a un número un peso de 2 y saldrá aproximadamente el doble de a menudo que un número de peso 1. Resulta útil para el equilibrio de un juego donde las tiradas altas deben seguir siendo raras, y para lecciones de probabilidad donde quieres una rueda deliberadamente injusta que estudiar.


