Viés de embaralhamento

Compare embaralhamento ingênuo vs Fisher–Yates com a mesma configuração.

Roda localmente no seu navegador. Entradas e resultados não são enviados. A URL compartilhada inclui apenas configurações.

Outros idiomas ja | en | zh-CN | es | pt-BR | id | fr | hi-IN | ar

Como usar (3 passos)

  1. Escolha o modo de lista (tamanho ou personalizada) e defina as tentativas.
  2. Clique em Comparar para executar ambos os embaralhamentos com as mesmas configurações.
  3. Veja heatmaps e estatísticas, depois copie uma URL só de configurações ou baixe um relatório.

Visualize o viés

Ferramenta de comparação de viés

O embaralhamento ingênuo escolhe um índice aleatório no intervalo completo em cada passo. Fisher–Yates usa um intervalo decrescente, tornando as permutações uniformes (com randomInt uniforme).

É um antipadrão comum em JavaScript. Os resultados dependem do motor e geralmente são enviesados.

Resumo

Dica: o df do qui-quadrado aqui é uma heurística (há restrições). Use para intuição, não como prova formal.

Gráficos

Legenda: naive=vermelho, FY=verde, sort=roxo (se ativado).

A curva é uma densidade qui-quadrado com df = n² - 1 (heurística). As linhas verticais mostram seu χ² observado.

Este gráfico agrega células por |i - j| (distância da diagonal). Valores acima de 1 indicam “perto demais da posição original”.

Resultados

Cada lado mostra uma matriz de posição (item i → posição j) agregada ao longo das tentativas.

Embaralhamento ingênuo

Fisher–Yates

Perguntas frequentes

Fisher–Yates é sempre sem viés?
É sem viés se seu randomInt for uniforme. Evite viés de módulo ao converter bytes aleatórios para um intervalo inteiro.
Por que não usar sort(() => random - 0.5)?
Ele é enviesado e depende do motor. Você pode incluí-lo nesta página para ver o que acontece no seu navegador.
Passar aqui significa segurança criptográfica?
Não. Esta ferramenta ilustra viés algorítmico no embaralhamento. Segurança depende do seu RNG e do seu modelo de ameaça.
Quantas tentativas devo usar?
Comece com 100k. Para n ≤ 8, ativar o rastreamento de permutações ajuda a ver o viés com mais clareza.

Ferramentas relacionadas

Calculadoras relacionadas