Quando você busca um termo no nosso buscador, o painel de resultados mostra dois números: quantas sequências foram encontradas e quantas eram esperadas pelo puro acaso. O primeiro sem o segundo não diz nada — e essa é, provavelmente, a ideia mais importante de todo o fenômeno dos códigos. Este artigo explica com precisão de onde sai o segundo número, o que ele supõe, o que não captura, e como usá-lo para fazer buscas que resistam ao escrutínio.

A Torá como objeto estatístico

O corpus da Torá do nosso buscador (edição Koren — aqui documentamos por quê) tem exatamente N = 304.805 letras. Antes de falar de significância é preciso conhecer a matéria-prima: com que frequência aparece cada letra. Esta é a distribuição real, computada sobre o corpus (formas finais contadas com sua letra base, a convenção do motor):

LetraApariçõesFrequênciaLetraApariçõesFrequência
י yod31.53110,34%כ kaf11.9683,93%
ו vav30.51310,01%ע áyin11.2503,69%
ה he28.0569,20%ח chet7.1892,36%
א álef27.0598,88%ד dálet7.0322,31%
מ mem25.0908,23%פ4.8051,58%
ל lâmed21.5707,08%ק qof4.6951,54%
ר resh18.1255,95%צ tsadi3.9621,30%
ת tav17.9505,89%ז záyin2.1980,72%
ב bet16.3455,36%ג guímel2.1090,69%
ש shin15.5955,12%ס sâmech1.8330,60%
נ nun14.1264,63%ט tet1.8040,59%

As cinco formas finais (ך ם ן ף ץ) estão contadas com sua letra base — a mesma equivalência que o motor de busca usa em seu modo clássico.

Duas observações com consequências diretas para o ELS. Primeira: a distribuição é muito desigual — a yod é 17 vezes mais frequente que a tet. Segunda: apenas cinco letras (י ו ה א מ) concentram 46,7% do texto. Um termo composto de letras comuns (como תורה ou יהוה) aparecerá como ELS dezenas de milhares de vezes por pura aritmética; um com letras raras (ט, ג, ז) será naturalmente escasso. Comparar contagens brutas entre termos distintos não faz sentido sem esse contexto.

O modelo nulo: quantos ELS produz um texto sem mensagem?

Em estatística, uma hipótese nula é o cenário entediante contra o qual tudo é comparado: aqui, um texto que não contém código algum — uma sequência de 304.805 letras sorteadas independentemente com as frequências da tabela. Se a contagem real da sua busca é indistinguível da que esse texto sem mensagem produz, não há nada a explicar.

Sob esse modelo, a probabilidade de que uma posição inicial n e um salto d específicos soletrem seu termo de k letras é o produto das frequências de suas letras: p = p(c₁)·p(c₂)·…·p(c_k). O número esperado de coincidências soma essa probabilidade sobre todas as posições de início válidas e todos os saltos do intervalo:

E = direções × Σd=d_min..d_max max(0, N − (k−1)·d) × ∏ p(cᵢ)

Exemplo resolvido com משיח (mem-shin-yod-chet): p = 0,0823 × 0,0512 × 0,1034 × 0,0236 ≈ 1,03 × 10⁻⁵. Parece minúsculo — mas o intervalo de saltos 2–1000 em ambas as direções oferece uns 600 milhões de pares (posição, salto). Multiplicando: E ≈ 6.227 aparições esperadas. Seis mil aparições de "Mashiach" em um texto aleatório. Essa é a força da combinatória, e é a razão pela qual encontrar uma palavra jamais é notícia.

Do esperado ao valor-p: a aproximação de Poisson

O esperado E diz a média; falta saber quanta variação é normal. Quando se somam milhões de eventos individualmente improváveis, a contagem total segue aproximadamente uma distribuição de Poisson com parâmetro λ = E. Isso permite calcular o valor-p: a probabilidade de observar pelo menos tantas coincidências quantas você viu, se o texto fosse ruído — P(X ≥ observado). Um valor-p de 0,5 significa "a coisa mais normal do mundo"; um de 0,000001 significa "isso quase nunca acontece por acaso".

Quatro buscas reais, lidas com o modelo

Tudo o que segue está computado sobre nosso corpus real — você pode reproduzir cada linha no buscador:

TermoSaltosEncontradosEsperadosLeitura
תורה2–1000, ambas dir.19.334≈ 19.554Nada: o acaso prevê até um pouco mais.
ישראל2–1000, ambas dir.1.190≈ 1.196Nada: coincidência quase exata com o ruído.
אהבה2–100, ambas dir.2.433≈ 2.433Acordo de 0,003% — o modelo calibra.
משיח2–1000, ambas dir.6.398≈ 6.227Excesso de 2,7% (p ≈ 0,016). Ver abaixo.

A terceira linha merece uma pausa: a contagem real de אהבה coincide com a previsão teórica em 2.433 contra 2.432,9. Isso é importante em ambas as direções do debate. Para o entusiasta: confirma que o modelo não está manipulado — ele prevê o texto real com precisão assombrosa. Para o cético: confirma que, no nível das contagens brutas, a Torá se comporta exatamente como um texto com suas frequências de letras. Se há algo extraordinário nela, não está em quantas vezes uma palavra aparece.

Por que um valor-p pequeno tampouco basta

A quarta linha (משיח, p ≈ 0,016) parece interessante. Será? Aqui entra o erro mais comum de toda a literatura dos códigos: o efeito de busca múltipla (look-elsewhere effect). Um p de 0,016 significa que o acaso produz um excesso assim uma a cada ~60 vezes. Mas se você explorou 60 termos — ou um termo em 60 configurações de livro, intervalo e direção — você espera encontrar um assim mesmo que não haja nada. E todo usuário de um buscador explora dezenas de combinações sem perceber que cada uma é uma "tentativa".

O exemplo perfeito é o achado mais famoso: תורה com salto exatamente 50 em Gênesis. Nosso motor reporta 19 aparições onde o modelo espera 9,8 — p ≈ 0,006. Impressionante? Só se o salto 50 tivesse sido fixado antes de olhar. Historicamente foi o contrário: o salto 50 é célebre porque ali se encontrou algo. Testar a posteriori a configuração que você já sabia vencedora invalida o valor-p — é apostar no cavalo depois da corrida. (Sobre o único experimento que tentou resolver isso com um protocolo fixado de antemão — WRR 1994 — e sua refutação, dedicamos um artigo completo.)

O que o modelo não captura (e somos nós que dizemos)

Nosso modelo nulo é deliberadamente simples, e convém declarar seus limites:

  • As letras reais não são independentes. O hebraico tem morfologia: prefixos (ו, ה, ב, ל), sufixos, padrões de raiz. Duas letras consecutivas não são sorteios independentes. Para saltos grandes o efeito se dilui, mas para saltos muito pequenos (2–5) o modelo é apenas aproximado.
  • As coincidências se sobrepõem. Dois matches do mesmo termo podem compartilhar letras, o que correlaciona os eventos; Poisson ignora isso. Na prática o efeito é menor, como mostra a calibração da tabela.
  • Não modela cruzamentos nem proximidade. O número do painel se aplica à contagem de um termo. A significância de dois termos próximos (a pergunta de WRR) exige métodos de permutação que estão fora deste cálculo — por isso não mostramos um esperado na aba de cruzamentos.

Como buscar com rigor: um protocolo em cinco regras

  1. Fixe tudo antes de buscar. Termo, ortografia exata (malê ou chaser?), livro, intervalo de saltos, direções. Cada decisão tomada depois de ver resultados converte sua busca em exploração — legítima, mas sem valor probatório.
  2. Leia sempre o par encontrados/esperados. 19.334 aparições de תורה impressionam até você ver o ≈ 19.554 ao lado. A razão observado/esperado é seu primeiro filtro; a contagem sozinha, nunca.
  3. Desconte suas tentativas. Se você testou 20 variantes, multiplique mentalmente seu valor-p por 20 (correção de Bonferroni). Um p de 0,016 após 60 tentativas é exatamente nada.
  4. Use controles. Repita sua busca em outro livro do Tanach — o buscador o coloca a um clique. Um padrão que aparece igual em qualquer texto do mesmo tamanho é aritmética, não mensagem. É a lição do experimento de Moby Dick.
  5. Distinga explorar de confirmar. Explorar é válido e fascinante — é assim que se geram hipóteses. Mas uma hipótese nascida explorando só se confirma com um teste novo, fixado de antemão, idealmente em dados que você não usou para gerá-la.

O que o buscador faz exatamente

Cada vez que você executa uma busca, o motor computa as frequências reais do corpus carregado (não usa tabelas pré-calculadas: se você carrega só Salmos, usa as frequências de Salmos), avalia a fórmula de E para seu termo, seu intervalo e suas direções, e mostra o resultado arredondado junto à contagem. O cálculo roda no seu navegador, sobre o corpus congelado e verificado por checksums — os mesmos números que qualquer programador pode reproduzir com a fórmula acima.

O número "esperados pelo acaso" não está ali para desanimar ninguém. Está ali porque um buscador de códigos sem ele é um gerador de falsos milagres — e porque a pergunta interessante nunca foi se as palavras aparecem, mas se aparecem mais do que a aritmética obriga. Agora você tem a ferramenta para respondê-la.