Roleta Geradora de Números Aleatórios: Como Funciona e Por Que Importa
A ciência por trás dos números realmente aleatórios e como usá-los com eficiência

Peça a dez pessoas para "escolher um número aleatório entre 1 e 10" e você vai ver um padrão aparecer. O sete surge muito mais do que deveria. O um e o dez quase não pintam. Gente é péssima em ser aleatória, e é justamente por isso que recorremos a ferramentas quando o resultado precisa ser justo. Mas tem um detalhe em que quase ninguém pensa. Boa parte dessas ferramentas também não é aleatória de verdade. O dado esquecido no fundo do armário de jogos, o botão de modo aleatório do seu celular, o sorteio "aleatório" da maioria dos aplicativos — cada um esconde uma história diferente sobre o que aleatoriedade realmente significa e quanto dela você está recebendo. Este é o guia mais técnico do site, então vamos ser honestos quanto aos detalhes. A <a href="/number-wheel/">roleta de números</a> do wheel.expert busca seus valores na Web Crypto API, a mesma fonte de aleatoriedade que os navegadores expõem para gerar chaves de criptografia e tokens de sessão. Não é um gerador de brinquedo enfeitado com uma animação. O giro é teatro; o número por baixo dele foi feito para ser imprevisível. Quer saber como isso funciona e onde faz diferença? Continue lendo.
O Que Torna um Número 'Realmente' Aleatório?
Geradores pseudoaleatórios (PRNGs)
A maioria dos números "aleatórios" em software é pseudoaleatória. Uma fórmula pega um valor inicial — a semente — e produz uma sequência que parece embaralhada, mas é totalmente determinada. Dê a mesma semente e você recebe exatamente a mesma sequência, até o último dígito. Essa reprodutibilidade é genuinamente útil para testes e simulações. E é um desastre para qualquer coisa que precise ser secreta ou à prova de fraude.
Geradores realmente aleatórios (TRNGs)
Esses dispensam a matemática e medem ruído físico no lugar: estática atmosférica, o tremor térmico de circuitos elétricos, o decaimento de átomos radioativos. Os resultados são imprevisíveis porque a física por trás deles é imprevisível. São mais lentos e exigem hardware específico, e é por isso que você não encontra um em todo notebook.
PRNGs criptograficamente seguros (CSPRNGs)
Aqui está o meio-termo prático. Ainda é um algoritmo, mas construído de tal forma que ver as saídas anteriores não dá a um atacante nenhuma maneira realista de adivinhar a próxima. Os números são calculados, mas, para qualquer propósito do mundo real, comportam-se como se tivessem sido tirados do nada.
Por que tanta firula com isso? Porque o que está em jogo decide o nível de que você precisa. Um jogo de dados não liga. Uma rifa com prêmio em disputa liga, e muito — um gerador previsível é um gerador que alguém pode manipular. O wheel.expert se apoia no
crypto.getRandomValues() do navegador, um CSPRNG, então a roleta de números fica na mesma categoria de confiança que o código que protege seus logins, e não na aleatoriedade descartável de um aplicativo qualquer.Como o wheel.expert Gera Números Aleatórios
Etapa um: pedir entropia ao navegador.
A Web Crypto API recorre ao reservatório de aleatoriedade acumulada do sistema operacional — ruído de hardware onde o chip permite, variações de tempo e outras entradas imprevisíveis que o SO vem coletando. Nós não inventamos aleatoriedade; nós a solicitamos à camada construída para fornecê-la.
Etapa dois: transformar entropia em bytes uniformes.
O
crypto.getRandomValues() preenche um array com valores em que cada byte possível é igualmente provável. Sem inclinação para o alto nem para o baixo.Etapa três: mapear os bytes na sua faixa.
É aqui que os amadores erram. A abordagem ingênua é pegar um byte aleatório e usar o operador de resto para encaixá-lo na faixa — e isso enviesa o resultado, sem alarde, em direção aos números menores. Usamos amostragem por rejeição no lugar: se um valor cai na região excedente que causaria viés, descartamos e sorteamos de novo. Dá um pouco mais de trabalho, mas todo número da sua faixa acaba com chances realmente iguais.
Etapa quatro: animar até a resposta.
O número vencedor é definido antes de a roleta começar a se mover. O giro então desacelera suavemente até parar naquele segmento. Ou seja, a física da animação tem influência zero sobre o resultado — é enfeite envolvendo uma decisão que já foi tomada.
Essa ordem importa para a justiça. Nada relacionado à velocidade do seu clique, ao tempo que a roleta gira ou ao quadro em que ela para pode empurrar o resultado. A matemática termina primeiro, e o espetáculo vem depois.
Usos Práticos para uma Roleta de Números Aleatórios
Jogos e Entretenimento
Educação
Tomada de Decisão
Criatividade e Arte
Personalizando Faixas de Números e Opções
Defina a faixa que quiser.
Mínimo e máximo são seus. Estilo dado, de 1 a 6, uma jogada de porcentagem de 0 a 100 ou algo absurdo como 1 a 1.000.000. Não existe formato padrão de dado limitando você.
Cole a sua própria lista.
Pule a faixa de vez e digite valores específicos: 3, 7, 12, 42, 99. Só esses caem na roleta, o que ajuda quando os números que importam não são consecutivos.
Exclua o que já saiu.
Rodando de 1 a 10, mas o sete já foi sorteado numa rodada anterior? Tire ele e gire o resto.
Impeça repetições.
Ative a opção de remover-após-sorteio e cada número se despede assim que é tirado, então nada se repete até o conjunto reiniciar. É o modo bingo e rifa — toda bolinha sai exatamente uma vez.
Pese as chances de propósito.
Dê peso extra a um número e ele aparece com mais frequência. Útil quando você quer que números altos continuem raros num jogo, ou quando uma turma está estudando probabilidade com dado viciado e precisa de uma roleta visivelmente injusta para cutucar.
Gire vários de uma vez.
Precisa de uma cartela de loteria com seis números ou de um lote de valores para um exercício de estatística? Puxe vários resultados num único giro.
Roleta Digital de Números vs. Dados Físicos
Um dado físico te dá retorno tátil, não precisa de energia e combina com o clima de uma noite de jogos de mesa de um jeito que a tela nunca alcança. Pegue, jogue, pronto — nenhuma animação para aturar. Para o que é aconchegante, é difícil bater o dado.
A roleta digital ganha seu lugar no instante em que suas necessidades deixam de ser padrão. Dados vêm num punhado fixo de formatos, então no dia em que você precisar de uma jogada justa de 1 a 73 simplesmente não existe dado para isso. Uma roleta faz sem piscar. Tem também o problema discreto dos próprios objetos físicos — um dado barato pode estar sutilmente viciado, um gasto favorece uma face, e "joga de novo, esse rolou para fora da mesa" coloca uma pessoa decidindo na marra. O software contorna tudo isso.
Então recorra ao digital quando a faixa é incomum, quando a justiça precisa ser defensável porque dinheiro ou prêmio está em jogo, quando as pessoas estão participando à distância e não podem dividir um dado físico, ou quando você simplesmente quer um registro do que saiu. Recorra aos dados quando quiser segurar algo na mão e a faixa exata não importa. Os dois são válidos. O truque é casar a ferramenta com o que está em jogo.
Usando Roletas de Números no Ensino de Probabilidade
Distribuição uniforme.
Gire uma roleta de 1 a 6 muitas vezes e marque os resultados no quadro. Cada face deveria cair perto de um sexto dos giros. A distância entre o "deveria" e o que aconteceu de fato é a deixa para uma conversa sobre valor esperado e por que amostras pequenas oscilam.
Probabilidade ponderada.
Monte uma roleta em que o 1 tem peso 1, o 2 tem peso 2, e assim por diante. Peça que a turma preveja quais números vão dominar antes de qualquer giro, depois rode um lote e confira os palpites. Ver a previsão confirmada pega mais fundo do que uma fórmula num slide.
Independência dos eventos.
A roleta acabou de cair no 3. Pergunte se o 3 agora é mais ou menos provável no próximo giro. O instinto diz "menos" — e a roleta mostra que o instinto está errado. Cada giro esquece o anterior por completo.
Lei dos grandes números.
Com dez giros a contagem fica torta e "injusta". Vá até cinquenta, depois cem, e as barras achatam rumo ao equilíbrio. Assistir a essa convergência em tempo real é a aula.
A falácia do apostador.
Se o 6 não apareceu numa dezena de giros, metade da turma vai jurar que ele está "para sair". Não está. A roleta não tem memória nem dívida a pagar, e mais alguns giros costumam demonstrar que o universo não deve um seis a ninguém. Para rotinas mais amplas de sala de aula, o guia do sorteador de atividades em sala reúne exercícios baseados em giro como esses em planos de aula completos.
Mergulho Técnico: Web Crypto API
A chamada em si.
O
crypto.getRandomValues() é um método da Web Crypto API. Você entrega a ele um array tipado — digamos um Uint8Array — e ele preenche cada posição com valores aleatórios criptograficamente fortes, ali mesmo. Essa é a interface inteira, e ela tem suporte em todos os navegadores grandes atuais.De onde vem a entropia.
O navegador não gera aleatoriedade por conta própria. Ele pede ao sistema operacional, que mantém um reservatório de entropia alimentado por geradores aleatórios de hardware quando a CPU tem um, somados a tremores de tempo e a outros ruídos físicos que o sistema coleta. O navegador é um entregador repassando aleatoriedade originada mais embaixo na pilha.
O algoritmo no meio.
Entre a entropia do SO e o seu array fica um CSPRNG, muitas vezes construído sobre uma cifra de fluxo como a ChaCha20 ou uma construção baseada em AES, dependendo da plataforma. A função dele é esticar um reservatório de entropia real numa longa sequência de saída que continua imprevisível.
O que o "seguro" te garante.
A propriedade de segurança que importa aqui é a resistência à previsão futura: um observador que tenha visto todos os números que o gerador já produziu ainda não tem como, na prática, calcular o próximo. Junte isso a uma saída uniforme e você tem um gerador adequado para chaves, tokens e, sim, um giro de roleta justo.
E por que não usar simplesmente o Math.random()?
Porque o
Math.random() é um PRNG simples, sem nenhuma garantia de segurança. A especificação nem exige um algoritmo específico, vários motores já usaram algoritmos previsíveis, e o estado interno dele pode ser reconstruído a partir de um punhado de saídas. É rápido e serve para embaralhar uma playlist. É errado para qualquer coisa em que alguém tenha motivo para trapacear. Essa única distinção — PRNG não criptográfico versus CSPRNG — é a linha que o wheel.expert se recusa a cruzar, e é por isso que todo giro passa pela Web Crypto.Conclusão
Então volte àquele truque de festa lá do começo — a sala cheia de gente que toda "aleatoriamente" escolheu o sete. A lição nunca foi que humanos são ruins de matemática. É que a aleatoriedade de verdade é uma coisa específica e construível, e a maioria das ferramentas que agitam a palavra por aí não está entregando isso. Uma roleta de números que bebe do <code>crypto.getRandomValues()</code> entrega, sim. Mesma fonte que o navegador usa para manter suas conexões criptografadas honestas, envolta numa animação que faz o resultado parecer um acontecimento em vez de uma chamada de função. A amostragem por rejeição mantém as chances niveladas, o resultado pré-definido impede que o giro seja manipulável, e tudo isso roda de graça em qualquer aba de navegador. Seja para resolver uma ordem de jogadas, rodar um sorteio justo ou mostrar a uma turma por que "está para sair" é mito, o número por baixo foi feito para ser impossível de adivinhar. Escolha sua faixa, gire e confie no número que voltar. O que você vai deixar ele decidir primeiro?
Pronto para gerar números realmente aleatórios? A Roleta de Números do wheel.expert é 100% gratuita!
Girar a Roleta de NúmerosPerguntas Frequentes
A roleta de números é realmente aleatória?
Ela usa o crypto.getRandomValues() da Web Crypto API, que é um gerador pseudoaleatório criptograficamente seguro (CSPRNG). É a mesma classe de aleatoriedade que os navegadores usam para chaves de criptografia. Não é uma fonte aleatória de hardware pura, mas, para justiça e imprevisibilidade em qualquer cenário prático, é o nível mais forte de aleatoriedade disponível num navegador.
Qual é a diferença entre isso e o Math.random()?
O Math.random() é um PRNG não criptográfico. É rápido, mas sua saída pode ser prevista a partir dos valores anteriores, e o algoritmo dele nem é fixado pelo padrão. Já o crypto.getRandomValues() é criptograficamente seguro, ou seja, as saídas passadas não dão como adivinhar as futuras na prática. Usamos o segundo para que ninguém consiga manipular um giro.
Quais faixas de números posso usar?
Qualquer faixa. De 1 a 6 para dados, de 1 a 100 para porcentagens, de 1 a 1.000.000 para grandes sorteios. Você também pode pular as faixas de vez e digitar uma lista personalizada de números específicos, de modo que só eles apareçam na roleta.
Posso impedir números repetidos?
Sim. Ative a opção de remover-após-sorteio e cada número sai do conjunto assim que é tirado, então nada se repete até você reiniciar. É o modo para bingo, rifas e qualquer coisa que precise que todo valor saia exatamente uma vez.
Por que usar amostragem por rejeição em vez de um resto simples?
Mapear bytes aleatórios numa faixa com o operador de módulo enviesa o resultado, sem alarde, em direção aos números menores, porque a faixa do byte raramente divide de forma exata na sua faixa-alvo. A amostragem por rejeição descarta os valores que causariam esse desvio e sorteia de novo, então todo número acaba com chances realmente iguais.
A animação do giro afeta o resultado?
Não. O número é gerado e travado antes de a roleta começar a se mover, e só então a animação desacelera suavemente até parar naquele segmento. Velocidade do clique, duração do giro e o quadro em que ela para têm influência zero. A matemática termina primeiro, e a animação é puramente para mostrar.
Por que isso é melhor do que dados físicos?
Os dados se limitam a alguns formatos padrão, então faixas incomuns são impossíveis, e dados físicos podem estar sutilmente viciados ou gastos. A roleta dá conta de qualquer faixa, suporta pesos e exclusões personalizados de propósito, funciona para participantes remotos e se apoia em aleatoriedade criptográfica documentada, e não em como um cubo por acaso rolou.
Posso deixar alguns números mais prováveis que outros?
Sim, com a configuração de peso. Dê peso 2 a um número e ele cai aproximadamente o dobro de vezes que um número de peso 1. É útil para o equilíbrio de jogos em que números altos devem continuar raros, e para aulas de probabilidade em que você quer uma roleta deliberadamente injusta para estudar.


