Misturador de Linhas e Palavras

Misture aleatoriamente as linhas ou palavras de qualquer lista colada — aleatoriedade criptográfica, um clique para uma nova ordem toda vez.

1.164 visualizações

Como Funciona

Cole uma lista (um item por linha) ou um bloco de texto, escolha misturar por linha ou por palavra, e a ferramenta executa um embaralhamento Fisher-Yates alimentado por crypto.getRandomValues — a mesma fonte de aleatoriedade criptograficamente forte, com a mesma prevenção de viés por módulo, usada pelo lançador de dados, gerador de números aleatórios e sorteador de brindes deste site. O Fisher-Yates trabalha do último item para trás: para cada posição, escolhe um índice aleatório entre os restantes e troca de lugar, de modo que toda ordenação possível da lista seja igualmente provável, sem viés para nenhuma posição.

O detalhe da prevenção de viés importa mais do que parece. Um índice aleatório ingênuo gerado como Math.random() * n, ou pior, um inteiro criptograficamente aleatório reduzido com % n, não é perfeitamente uniforme quando n não divide igualmente o intervalo do gerador — certas posições aparecem ligeiramente com mais frequência que outras. Em algumas poucas misturas ninguém notaria; em uma plataforma de quiz rodando milhares de embaralhamentos por dia, um pequeno viés na ordem das perguntas ou na lista de participantes de um sorteio é um problema real de justiça. Esta ferramenta rejeita e sorteia novamente valores fora do intervalo em vez de reduzi-los com módulo, então cada embaralhamento permanece sem viés independentemente do tamanho da lista.

É exatamente o mesmo princípio de embaralhamento que move o lançador de dados e as ferramentas de números aleatórios deste site, apenas aplicado a um array de linhas ou palavras em vez de a um único número: escolher uniformemente entre os itens ainda não embaralhados, colocá-lo, e repetir até que não sobre nenhum. Essa garantia — cada permutação da entrada é igualmente alcançável — é o que separa um embaralhamento de nível de justiça de um que apenas parece embaralhado mas silenciosamente favorece certos arranjos.

O que Saber

  • O modo linha trata cada linha como uma unidade a embaralhar — ideal para randomizar uma lista de nomes, uma ordem de leitura ou um conjunto de perguntas de quiz.
  • O modo palavra divide pelos espaços, embaralha as palavras e as reúne novamente — bom para misturar uma única frase ou expressão curta.
  • Genuinamente aleatório, não apenas com aparência de aleatório: a fonte criptográfica usada aqui é da mesma classe de aleatoriedade usada para chaves criptográficas, não a função aleatória padrão mais fraca embutida na maioria das linguagens.
  • Nada é armazenado: o embaralhamento roda inteiramente no seu navegador e produz uma ordem nova e independente a cada clique — atualizar a página dá um resultado diferente, não uma repetição.

Perguntas Frequentes

A mistura é realmente aleatória?

Sim — usa um embaralhamento Fisher-Yates sem viés, controlado por crypto.getRandomValues em vez de Math.random(), com sorteios fora do intervalo rejeitados em vez de reduzidos por módulo, então toda ordem é igualmente provável independentemente do tamanho da lista.

Posso misturar as palavras dentro de uma única frase?

Sim — mude para o modo palavra; ele divide pelos espaços, mistura e reagrupa.

Por que não usar simplesmente Math.random()?

Math.random() é um gerador pseudoaleatório rápido, pensado para gráficos e animações, não para seleções sensíveis à justiça, e reduzir ingenuamente sua saída a um intervalo com módulo introduz um pequeno viés estatístico. crypto.getRandomValues é uma fonte criptograficamente forte, construída exatamente para esse tipo de escolha aleatória sem viés.

Para quais tarefas do dia a dia isso é útil?

Randomizar a ordem de perguntas de quiz ou prova, embaralhar nomes antes de uma tarefa ou atribuição de assentos, misturar uma lista de participantes de um sorteio antes do resultado, ou renovar a ordem de uma lista de leitura a cada vez.

Misturar a mesma lista duas vezes dá a mesma ordem?

Não — cada embaralhamento sorteia novos valores aleatórios, então duas execuções na mesma entrada produzem ordenações independentes e geralmente diferentes, exatamente como embaralhar um baralho físico duas vezes.

Comentários

Ainda não há comentários — seja o primeiro a escrever um!

Ferramentas Semelhantes