Skip to content

A Roleta de Nomes É Manipulada? Laboratório de Aleatoriedade e Auditoria

Execute até 500.000 giros simulados usando a mesma função de sorteio que a roleta usa no modo Normal e avalie os resultados com um teste de aderência qui-quadrado.

Configuração da roleta
Giros por execução
Execuções de teste

Testa a função de sorteio usada pelo modo Normal. Outros modos (Eliminação, Rotação Justa, Último Sobrevivente, Sortear N Vencedores) usam o mesmo gerador com regras diferentes e não são cobertos por este teste.

Arquitetura

Como funciona nosso motor de roleta criptograficamente aleatório

Os vencedores são escolhidos por um gerador de números aleatórios criptograficamente seguro no seu navegador, antes da animação começar. Veja como funciona e como o Laboratório analisa o resultado.

Entropia Criptográfica CSPRNG

Em vez do previsível Math.random(), o motor chama a Web Crypto API nativa do navegador (crypto.getRandomValues), um gerador criptográfico alimentado pelo sistema operacional cujas saídas não podem ser previstas a partir de giros anteriores.

Amostragem por Rejeição Zero-Módulo

Sorteadores simples usam `random % slices`, o que favorece levemente as primeiras fatias porque 2^32 não é divisível de forma exata. Nosso amostrador define o maior múltiplo exato abaixo de 2^32 e descarta valores fora do limite, removendo o viés de módulo para que cada fatia tenha a mesma probabilidade.

Aderência Qui-Quadrado (χ²)

O Laboratório agrega os giros simulados em um teste Qui-Quadrado de Pearson com (k - 1) graus de liberdade. Ao calcular o valor-p superior via funções gama incompletas regularizadas, ele verifica se os desvios observados são consistentes com a variância aleatória.

Independência Serial e Sem Memória

Um sorteador justo não guarda memória de giros anteriores. O laboratório acompanha giros consecutivos em cada execução para medir a frequência de repetição lag-1 e compara a taxa observada com seu intervalo de confiança binomial de 95%.

O que o teste mostra e o que ele não mostra

Um teste estatístico pode mostrar que os resultados são consistentes com uma roleta justa e informar quando nenhuma evidência de viés é detectada. Ele não pode provar justiça perfeita, pois pequenos vieses exigem muitos giros para serem detectados e cerca de 1 em 20 execuções fica abaixo de p = 0,05 por acaso normal. A forma como o vencedor é escolhido está definida no código: crypto.getRandomValues com amostragem por rejeição no seu navegador antes da animação começar.

FAQ

Perguntas Frequentes

Tudo o que você precisa saber sobre o motor de aleatoriedade, o teste qui-quadrado e como ler os resultados do Laboratório.

Como o motor de aleatoriedade da roleta decide o vencedor?

Antes da roleta começar a girar, o índice da fatia vencedora é escolhido na memória usando crypto.getRandomValues com amostragem por rejeição uniforme. A animação seguinte é uma apresentação visual calibrada para desacelerar e parar na fatia pré-selecionada.

Por que o Spin Names Now usa crypto.getRandomValues em vez de Math.random()?

O Math.random() padrão do JavaScript é um gerador pseudoaleatório (PRNG) não seguro criptograficamente e variável entre navegadores. Já o crypto.getRandomValues é um gerador criptográfico alimentado pelo sistema operacional que produz bytes aleatórios imprevisíveis.

O que é viés de módulo e como a amostragem por rejeição o impede?

Implementações simples pegam um inteiro de 32 bits e calculam `randomInt % numSlices`. Como 2^32 (4.294.967.296) raramente é múltiplo exato do número de fatias, os primeiros números saem um pouco mais vezes. Eliminamos esse viés com amostragem por rejeição: descartamos valores fora do maior múltiplo exato abaixo de 2^32 e sorteamos novamente para que cada fatia tenha a mesma probabilidade.

O que o teste Qui-quadrado (df 7) no Laboratório de Justiça analisa?

O teste de aderência Qui-quadrado avalia se a distribuição observada dos vencedores está de acordo com as expectativas teóricas (para 8 fatias iguais, espera-se que cada uma vença 12,5% das vezes). Os graus de liberdade (df) equivalem ao número de fatias menos um (8 - 1 = 7). Ele soma os desvios quadráticos para avaliar se a distribuição é consistente com uma roleta justa.

Como devo interpretar o resultado do valor-p (p-value)?

Um valor-p de 0,05 ou maior significa que os resultados são consistentes com uma roleta justa. Isso não prova justiça perfeita: um viés pequeno pode passar despercebido, especialmente com poucos giros. Abaixo de 0,05 acontece cerca de 1 vez em 20 em uma roleta perfeita.

Por que o valor-p ocasionalmente fica abaixo de 0,05 em uma roleta justa?

Na aleatoriedade estatística, espera-se que um valor-p abaixo de 0,05 ocorra por acaso normal em cerca de 1 a cada 20 testes (5% das vezes). Resultados aleatórios formam agrupamentos naturalmente. Executar vários testes ajuda a verificar se desvios incomuns continuam se repetindo na mesma fatia.

O que as faixas sombreadas de 95% de confiança no gráfico mostram?

Para cada fatia, a frequência esperada segue uma distribuição binomial com desvio padrão σ = √(N · p · (1 - p)). A faixa sombreada mostra o intervalo ±1,96σ como desvio percentual em relação ao esperado. Em uma roleta justa, cada fatia fica dentro da sua faixa cerca de 95% das vezes, e com 8 fatias cerca de 1 em cada 3 execuções tem pelo menos uma fatia fora da faixa.

O que a métrica 'Mesmo vencedor duas vezes seguidas' mede?

Esta é uma verificação de independência serial lag-1. Para 8 fatias com pesos iguais, a probabilidade esperada de giros consecutivos escolherem o mesmo vencedor é 1/8 (12,50%). Se a roleta tivesse memória oculta ou estados travados, essa taxa sairia do intervalo de confiança de 95%. Permanecer dentro do intervalo é consistente com giros independentes.

A roleta pode ser manipulada, fraudada ou interceptada por um servidor?

A seleção da fatia roda no seu navegador sem comunicação com o servidor durante o giro, e não há semente remota. O código da página é entregue pelo nosso servidor como qualquer site, e a página carrega o Google Analytics para estatísticas de tráfego. O código está aberto para inspeção nas ferramentas do desenvolvedor do navegador.

A duração visual do giro ou o atrito afetam o resultado?

Não. Como a fatia vencedora é escolhida criptograficamente antes do início da animação, a duração visual, a curva de desaceleração e os sons são detalhes de apresentação calculados para parar no centro do segmento pré-selecionado.

Como o veredito é decidido?

O veredito combina o teste qui-quadrado agrupado e a verificação de repetição lag-1. Ele informa 'Resultado Incomum' se o valor-p do qui-quadrado for menor que 0,025 ou se o escore z da taxa de repetição exceder 2,24 em magnitude (|z| > 2,24). Testar ambos no nível de 2,5% mantém a taxa combinada de alarme falso próxima de 5% em uma roleta justa.