Reprodução de cavalos: dois pais perfeitos ainda não garantem um potro perfeito
O potro se baseia no ponto médio dos pais, mas a variação tem um piso de 0,3 × o intervalo do atributo, não importa o quão idênticos os pais sejam. Esse termo nunca desaparece.
A reprodução de cavalos costuma ser descrita como "o potro tira a média dos pais, mais um pouco de aleatoriedade". A primeira parte está exatamente certa. A segunda esconde o que de fato decide quanto tempo seu programa de reprodução vai levar.
O modelo
midpoint = (parentA + parentB) / 2
spread = |parentA − parentB| + 0.3 × (statMax − statMin)
roll = (random + random + random) / 3 − 0.5
foal = midpoint + spread × roll
O sorteio é a média de três valores aleatórios uniformes, então ele se centra em 0, é limitado a ±0,5 e tem formato de sino com desvio padrão de 0,1667. Centrado em zero significa que o potro esperado é exatamente o ponto médio dos pais — a metade da média no folclore está correta.
A variação tem um piso que você não consegue remover
Observe o segundo termo: 0.3 × (statMax − statMin). Ele não faz referência alguma aos pais.
Mesmo com dois pais idênticos, |parentA − parentB| é zero e a variação ainda é:
| atributo | intervalo completo | variação irredutível |
|---|---|---|
| Vida máxima | 15 – 30 | 4,50 |
| Força do salto | 1,09 – 5,29 | 1,26 |
| Velocidade de movimento | 4,74 – 14,23 | 2,85 |
Ou seja, cruzar dois cavalos com velocidade máxima gera um potro centrado em 14,23 com desvio padrão de 0,47 — e, como o jogo dobra qualquer resultado acima do teto de volta para baixo, todo potro real fica em 14,23 ou abaixo disso, eles têm média de cerca de 13,84 e podem chegar a cerca de 12,81. Dois pais perfeitos não produzem um potro perfeito; produzem um potro centrado na perfeição, disperso por uma quantidade fixa.
É por isso que um programa de reprodução estagna. Quando seus pais já estão próximos entre si, aproximá-los mais para de ajudar — o termo |parentA − parentB| já está perto de zero e tudo o que resta é uma constante que você não consegue eliminar com reprodução.
Combinar os pais ainda importa, e muito
No outro extremo, cruzar seu melhor cavalo de velocidade com o pior dá uma variação de 9.49 + 2.85 = 12.34 — mais de quatro vezes o piso de pais idênticos. Então o conselho de parear cavalos parecidos é real; só tem um limite rígido.
O formato prático disso:
- No começo, parear os pais é o jogo inteiro. Reduzir
|A − B|reduz a variação quase na mesma proporção. - No fim, não faz diferença alguma. Você está lutando contra o piso de 0,3, e a única alavanca que resta é o volume — crie mais potros e fique com a cauda superior.
Por que a cauda é fina
Como o sorteio é a média de três valores aleatórios em vez de um, os resultados se aglomeram perto do meio. Um potro que cai na borda extrema da variação precisa que os três valores aleatórios fiquem perto do mesmo extremo, o que é raro. Mais ou menos dois terços dos potros ficam dentro de um desvio padrão — 0,47 na velocidade com pais idênticos no topo — e os casos extremos que você procura estão bem além disso.
Então a expectativa honesta para um programa em estágio avançado: a maioria dos potros vai ficar marginalmente pior que o ponto médio dos pais só pela sorte, alguns vão ficar marginalmente melhores, e o progresso vem de ficar apenas com esses poucos.
Uma diferença em relação ao jogo
Esta calculadora não reflete resultados fora do intervalo de volta para dentro dele; o Minecraft faz isso. Então, perto do topo absoluto de um atributo, o jogo real vai dobrar um resultado impossível de volta para baixo em vez de cortá-lo, o que muda ligeiramente o formato da cauda extrema. A variação e a estagnação acima não são afetadas; perto do teto, porém, a média real fica um pouco abaixo do ponto médio, porque a metade superior do sino é dobrada para baixo.