Como o projeto nasceu
Começou como uma planilha. Um de nós mantinha uma coluna de giros, uma de valores e uma de minutos, e depois de quatro meses a planilha disse uma coisa que a memória nunca tinha dito: as noites boas eram reais, e também eram quase exatamente anuladas pelas noites comuns. Como matemática, nada ali era surpreendente. Como fato pessoal, era outra história.
Só que a planilha tinha um limite. Contar é fácil; saber se a contagem significa alguma coisa não é. Um número que saiu nove vezes em duzentos giros parece notável até você calcular com que frequência isso acontece por acaso numa roda honesta — e a resposta é: o tempo inteiro. Todo jogador que já sentiu um padrão sentiu exatamente isso, e planilha nenhuma diz de que lado da linha você está.
Então a planilha virou modelo. Reunimos resultados registrados de roleta europeia, ajustamos a distribuição esperada como se deve e construímos algo que respondesse à única pergunta que vale a pena: esse desvio é maior do que o acaso produz com folga, ou não é? O Roulette Black 2.0 é a quarta reescrita dessa resposta.
O motor: estatística antes de tudo
O Apex 2.0 começa por teste formal de hipótese, não por reconhecimento de padrão. Para cada número, cor, dúzia, coluna e faixa, o motor guarda uma frequência esperada que vem da geometria da roda europeia — 1 em 37, e tudo o que decorre disso. Cada contagem observada é então pontuada contra essa expectativa como desvio padronizado, de modo que a diferença aparece em desvios-padrão e não na linguagem do palpite.
Essa ordem importa mais do que parece. Um modelo que aprende direto dos dados aprende o ruído com o maior prazer, e roleta é quase inteiramente ruído. Fixando a distribuição esperada analiticamente primeiro, a parte aprendida do sistema não tem mais o que inventar: só lhe resta descrever o quanto a sessão se afastou de uma linha de base que ela nunca teve permissão para escolher.