Gerador de Times Aleatório (Criador de Grupos)
Cole uma lista de nomes e divida em times aleatórios justos — por número de times ou por tamanho do time, com embaralhamento criptográfico e cópia em um clique.
1.254 visualizações
Insira ao menos 2 pessoas e um número válido.
Como o Embaralhamento Realmente Funciona
Dividir uma lista de forma justa se resume a uma pergunta: todas as disposições possíveis das pessoas são igualmente prováveis? Esta ferramenta usa o embaralhamento Fisher-Yates, um algoritmo com uma história surpreendentemente longa — foi descrito pela primeira vez em 1938 pelos estatísticos Ronald Fisher e Frank Yates como um procedimento manual, feito com lápis e papel, para randomizar linhas em tabelas estatísticas. Em 1964, Richard Durstenfeld o adaptou para a versão eficiente e adequada a computadores usada hoje, que roda em tempo linear percorrendo a lista uma única vez e trocando cada elemento por outro escolhido aleatoriamente entre a parte ainda não embaralhada. Donald Knuth popularizou depois essa versão em "The Art of Computer Programming", motivo pelo qual às vezes também é chamada de embaralhamento de Knuth.
A aleatoriedade em si vem do crypto.getRandomValues, a fonte de números aleatórios criptograficamente segura do navegador — a mesma usada no nosso sorteador de brindes — em vez do Math.random, que é mais rápido mas não foi projetado para resistir a previsões. A correção do algoritmo também importa aqui: um embaralhamento ingênuo, como escolher uma posição de troca aleatória em toda a lista a cada passo em vez de apenas entre a parte ainda não embaralhada, introduz silenciosamente um viés estatístico. Algumas disposições finais acabam ficando mais prováveis que outras — um efeito sutil parecido em espírito com o paradoxo do aniversário, em que as chances reais funcionam de forma diferente do que a intuição sugere. Um embaralhamento Fisher-Yates implementado corretamente evita isso: a cada passo, ele escolhe uniformemente apenas entre os elementos ainda não posicionados, o que mantém cada ordenação possível igualmente provável.
O Que Você Deveria Saber
Dividir pessoas em grupos que não se dividem de forma exata é uma decisão de design separada do embaralhamento em si. Quando uma lista não pode ser dividida em times perfeitamente iguais, o restante é distribuído com uma pessoa extra por time, começando pelo primeiro time, em vez de empilhar todas as pessoas excedentes em um único time — a forma mais justa de resolver um resto que não tem uma resposta perfeitamente equilibrada.
- Escolha dividir por um número-alvo de times ou por um tamanho-alvo de time — o que realmente importar para a situação.
- Redividir roda o embaralhamento novamente do zero com aleatoriedade nova, produzindo uma disposição genuinamente diferente em vez de um rearranjo da anterior.
- Os nomes são embaralhados inteiramente dentro do navegador; nada é enviado a lugar nenhum, o que também torna a ferramenta segura para listas de turma ou escalas de time confidenciais.
Perguntas Frequentes
O que acontece se a lista não dividir certinho?
O restante é distribuído com uma pessoa extra por time a partir do Time 1 — com 11 pessoas em 3 times você tem 4-4-3, nunca 5-3-3.
A divisão é realmente aleatória?
Sim — um embaralhamento Fisher-Yates sem viés, alimentado pelo crypto.getRandomValues, a fonte criptográfica do navegador. Cada nova divisão gera uma combinação genuinamente nova.
Posso manter duas pessoas juntas ou separadas?
Não automaticamente — divida e depois troque uma dupla manualmente se precisar. Uma divisão com restrições está na nossa lista de ideias.
De onde vem o embaralhamento Fisher-Yates?
Foi descrito pela primeira vez em 1938 por Ronald Fisher e Frank Yates como um procedimento manual de embaralhamento para estatística. Richard Durstenfeld o transformou no algoritmo computacional eficiente usado hoje em 1964, e mais tarde foi popularizado por Donald Knuth — por isso também é conhecido como embaralhamento de Knuth.
Por que não usar simplesmente um embaralhamento aleatório mais simples?
Abordagens ingênuas, como trocar cada elemento por uma posição escolhida em toda a lista em vez de apenas entre a parte ainda não embaralhada, favorecem silenciosamente algumas disposições finais em detrimento de outras. Um embaralhamento Fisher-Yates implementado corretamente escolhe cada troca apenas entre os elementos ainda não posicionados, o que faz com que cada ordenação possível seja igualmente provável.
Ferramentas Semelhantes
Reportar um Problema
Gerador de Times Aleatório (Criador de Grupos)
Comentários
Ainda não há comentários — seja o primeiro a escrever um!