Cada letra sorteada de forma independente. 26 possibilidades por posição, probabilidade uniforme.
Sortear uma letra aleatória entre 26 candidatas é uma distribuição uniforme discreta sobre um alfabeto finito. Cada letra possui exatamente 1/26 ≈ 3,85% de probabilidade. Cada sorteio é independente: a letra "A" aparecer uma vez não tem nenhuma influência sobre se "A" aparecerá a seguir. Essa independência é o que separa o texto aleatório da linguagem natural, onde as sequências de letras seguem padrões estatísticos profundos moldados pelo vocabulário, gramática e fonética.
No texto em inglês, as frequências das letras são profundamente desiguais. Samuel Morse quantificou isso na década de 1830 ao projetar códigos telegráficos: ele contou letras nas caixas de tipos de uma gráfica e descobriu que E aparece aproximadamente 13% das vezes, T cerca de 9% e Z apenas 0,07%. Sua classificação de frequência (ETAOIN SHRDLU) tornou-se lendária entre tipógrafos e criptógrafos. Um gerador de letras aleatórias ignora tudo isso. Cada letra aparece com idêntica probabilidade de 3,85%, produzindo sequências que não se parecem em nada com a linguagem natural. Esse contraste é precisamente o que torna esta ferramenta útil para testar se um sistema trata todas as entradas igualmente.
Quantas letras aleatórias você precisa sortear antes de ter visto todas as 26 pelo menos uma vez? A maioria das pessoas chuta cerca de 30. A resposta matemática é aproximadamente 100. Especificamente, o número esperado é 26 × H(26) ≈ 26 × 3,85 ≈ 100,2, onde H(26) é o 26º número harmônico (a soma 1 + 1/2 + 1/3 + … + 1/26). As primeiras letras chegam rapidamente. A última ou as duas últimas demoram agonizantemente. Com 20 letras únicas coletadas, você ainda espera aproximadamente 26 × (1/6 + 1/5 + 1/4 + 1/3 + 1/2 + 1) ≈ 64 sorteios adicionais para completar o conjunto. O gráfico de cobertura acima acompanha essa jornada em tempo real.
Esse fenômeno, conhecido como o problema do colecionador de cupons, aparece em toda a ciência da computação, ecologia (amostragem de espécies) e garantia de qualidade (quantos itens testar antes de cobrir todos os tipos de defeitos). Philippe Flajolet e Robert Sedgewick forneceram o arcabouço analítico moderno em seu texto referencial sobre combinatória analítica.
Cada letra é selecionada por crypto.getRandomValues(), a API Web Cryptography. Um byte aleatório é gerado e mapeado para o intervalo de 26 letras usando amostragem por rejeição: valores fora do maior múltiplo exato de 26 (que é 234 dentro do intervalo de bytes 0-255) são descartados e sorteados novamente. Isso elimina o viés de módulo que, de outra forma, tornaria as letras de A a D ligeiramente mais prováveis. O resultado é uma distribuição uniforme matematicamente perfeita sobre o alfabeto, gerada inteiramente no seu navegador.
Peça a cada aluno que visite /letter/100 e gere 100 letras aleatórias. Peça que registrem a frequência de cada letra e comparem com os 3,85 esperados por letra. Alguns alunos verão 8 ou mais de uma letra e zero de outra. A discussão em classe: o gerador é tendencioso? O histograma fornece a resposta visualmente à medida que mais letras se acumulam em alturas iguais.
Para um exercício mais aprofundado em criptoanálise, inspirado pelo estudioso árabe do século IX Al-Kindi, que foi pioneiro na análise de frequência, peça aos alunos que comparem suas sequências aleatórias com um parágrafo de texto em inglês. A sequência aleatória tem frequência plana; o parágrafo em inglês mostra picos dramáticos em E, T, A. Esse contraste introduz o conceito de que a aleatoriedade tem estrutura, e essa estrutura pode ser medida. A ferramenta não requer cadastro e não armazena dados dos alunos.
Cada letra é gerada dentro do seu navegador. O servidor entrega a página; seu dispositivo cria a aleatoriedade. Seu histórico reside no localStorage da sua máquina. Compartilhar a URL compartilha apenas a configuração da ferramenta. O destinatário sorteia suas próprias letras independentes a partir da entropia do seu próprio dispositivo.
A URL controla a quantidade:
Compartilhe o link. Mesmo alfabeto, destino diferente. Compare seus sorteios.
Inspiração Diária
Trabalhos selecionados pelo júri do A' Design Award, apresentados frescos a cada manhã.