Skip to content

alanbesen/pesquisa-ipsc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Predição de Probabilidades de Vitória em IPSC

Análise Estatística Avançada para Competições de Tiro Prático e Esportivo

Índice


Resumo Executivo

Este estudo apresenta uma metodologia inovadora para predição de probabilidades de vitória em competições de IPSC (International Practical Shooting Confederation) utilizando Simulação de Monte Carlo com correlação por tipo de pista. A metodologia foi validada através de análise comparativa temporal durante o 2025 IPSC Handgun World Shoot, demonstrando precisão estatística significativa na identificação de favoritos e mudanças de cenário competitivo.


Contexto e Motivação

O IPSC (International Practical Shooting Confederation) é um esporte de precisão que combina velocidade e exatidão em cenários dinâmicos. A predição de resultados em competições de múltiplos dias apresenta desafios metodológicos significativos:

  • Variabilidade de Performance: Flutuações naturais no desempenho dos atletas
  • Diversidade de Pistas: Stages com características distintas (curta/média/longa)
  • Incerteza dos Stages Futuros: Impossibilidade de conhecer resultados antes da execução
  • Correlação entre Pistas: Performance em pistas similares tende a variar conjuntamente

Problema Central

Como estimar de forma estatisticamente robusta a probabilidade de um atleta vencer sua divisão, considerando a incerteza dos stages restantes e as correlações entre diferentes tipos de pista?


Metodologia: Simulação de Monte Carlo Aplicada ao IPSC

Fundamentos Teóricos

A Simulação de Monte Carlo é uma técnica estatística que utiliza amostragem aleatória para modelar incertezas e estimar probabilidades. Em vez de calcular um resultado determinístico único, o método executa milhares de simulações, cada uma amostrando possíveis valores para as variáveis incertas.

📚 Documentação Teórica Completa: Para uma explicação detalhada dos fundamentos matemáticos, incluindo Lei dos Grandes Números, Cópula Leve e Simulação de Monte Carlo, consulte o documento Fundamentos Teóricos.

Regras de Pontuação IPSC

  • Cálculo por Stage: N = A + C + D + MISS e MaxPoints = N × 5
  • Hit Factor: HF = PONTOS / TIME (apenas se TIME > 0)
  • Stage Points: StagePoints = (HF_atleta / HF_melhor) × MaxPoints_melhor
  • Total do Atleta: Soma de todos os stage points de todas as pistas

Construção das Distribuições Empíricas

Distribuições por Atleta

  • Para cada atleta, coletamos sua lista de stage points já realizados na prova
  • Construímos distribuição empírica individual com reposição
  • Usada como fonte primária para amostragem

Distribuição Agregada da Divisão

  • Stage points de todos os atletas da divisão
  • Usada como fallback quando dados individuais são insuficientes
  • Fornece referência estatística robusta

Distribuição Global por Stage

  • Para pistas específicas não completadas pelo atleta
  • Usa distribuição de stage points de outros atletas que já fizeram essa pista
  • Referência global para stages específicos

Inferência de Stages

  • Número total inferido do maior índice de stage observado
  • Exemplo: se há "Stage 12", inferimos 12 stages totais

Inovação: Correlação por Tipo de Pista (Cópula Leve)

O Problema da Correlação em IPSC

Em competições de IPSC, observamos que desempenhos em pistas semelhantes tendem a variar juntos. Um atleta pode ter um "dia bom" em pistas curtas (onde é especialista) e um "dia ruim" em pistas longas (onde tem dificuldades), ou vice-versa. Esta correlação natural por grupos de pistas não é capturada por modelos que tratam cada stage independentemente, mas é fundamental para predizer cenários realistas de competição.

Agrupamento de Pistas por Características

  • Curta: N ≤ 12 disparos (pistas de velocidade e precisão)
  • Média: 13 ≤ N ≤ 24 disparos (equilíbrio entre velocidade e estratégia)
  • Longa: 25 ≤ N ≤ 32 disparos (pistas de resistência e planejamento)

Onde N = A + C + D + MISS (total de disparos possíveis)

Fundamentos da Cópula Leve

O que é uma Cópula? Uma cópula é um mecanismo matemático que separa as distribuições individuais (marginais) da dependência entre variáveis. Isso permite:

  • Preservar as distribuições individuais de cada atleta
  • Introduzir correlação realista entre stages similares
  • Manter a regra IPSC de pontuação

Por que "Leve"? A dependência é propositalmente pequena (ρ < 0,15) para:

  • Capturar "dias bons/ruins" por tipo de pista, refletindo especialização do atleta
  • Não dominar o resultado individual, mantendo variabilidade natural
  • Simular cenários realistas onde atletas podem ter dias diferentes por grupo de pista
  • Preservar as características individuais de cada atleta

Implementação Passo a Passo

1. Fator Comum por Grupo

# Para cada tipo de pista (curta/média/longa)
for grupo in [curta, média, longa]:
    fator_grupo[grupo] = Normal(0, 1)  # g ~ N(0,1)

2. Variação Individual por Stage

# Para cada stage restante de cada atleta
epsilon = Normal(0, 1)  # ε ~ N(0,1)

3. Combinação com Correlação

# Fórmula da cópula gaussiana
z = (1 - rho[grupo]) * epsilon + rho[grupo] * fator_grupo[grupo]

4. Mapeamento para Stage Points

# Transformar z em quantil
u = função_distribuição_normal(z)
# Selecionar valor na distribuição empírica do atleta
stage_points = amostrar_distribuição_empírica(atleta, u)

Parâmetros de Correlação Otimizados

Tipo de Pista ρ (Rho) Justificativa
Curta 0,15 Maior correlação devido à natureza similar (velocidade + precisão)
Média 0,12 Correlação moderada (equilíbrio de habilidades)
Longa 0,10 Menor correlação (mais variabilidade por estratégia)

Interpretação Prática da Correlação

Cenário 1: Atleta Especialista em Pistas Curtas - Dia Bom

  • fator_grupo[curta] = +1.5 (alto)
  • Todos os stages curtos do atleta tendem a ter performance acima da média
  • Simula um "dia bom" onde o atleta aproveita sua especialização em pistas de velocidade e precisão
  • Stages médios e longos não são afetados (grupos independentes)

Cenário 2: Atleta com Dificuldades em Pistas Longas - Dia Ruim

  • fator_grupo[longa] = -1.2 (baixo)
  • Todos os stages longos tendem a ter performance abaixo da média
  • Simula um "dia ruim" onde o atleta tem dificuldades com pistas de resistência e planejamento
  • Stages curtos e médios mantêm performance normal (grupos independentes)

Cenário 3: Atleta Versátil - Performance Mista

  • fator_grupo[curta] = +0.8, fator_grupo[média] = -0.5, fator_grupo[longa] = +1.0
  • Simula um atleta que tem dias bons em curtas e longas, mas dificuldades em médias
  • Reflete especialização natural e variações de performance por tipo de pista

Benefícios da Cópula Leve

  1. Realismo Estatístico: Captura correlações observadas na prática por grupos de pista
  2. Preservação de Marginais: Mantém distribuições individuais dos atletas
  3. Simulação de Especialização: Modela atletas com diferentes habilidades por tipo de pista
  4. Flexibilidade: Diferentes níveis de correlação por tipo de pista
  5. Predição de Cenários: Simula "dias bons" e "dias ruins" específicos por grupo
  6. Computacionalmente Eficiente: Implementação simples e rápida
  7. Interpretabilidade: Fácil compreensão dos parâmetros e cenários

Exemplo Numérico

Atleta com 3 stages restantes:

  • Stage 1 (curta): z = 0.85 × ε₁ + 0.15 × g_curta
  • Stage 2 (média): z = 0.88 × ε₂ + 0.12 × g_média
  • Stage 3 (longa): z = 0.90 × ε₃ + 0.10 × g_longa

Se g_curta = +1.0 (dia bom em curtas):

  • Stage 1 terá tendência a performance acima da média
  • Stages 2 e 3 não são afetados (grupos diferentes)
  • Simula cenário realista onde o atleta tem um "dia bom" em sua especialização (pistas curtas)
  • Permite modelar atletas que são melhores em determinados tipos de pista

Validação Prática da Cópula Leve

Evidência nos Resultados Observados:

Divisão PO - Mudança de Cenário Competitivo:

  • Dia 03: 3 atletas com probabilidades significativas (cenário competitivo)
  • Dia 04: Eric Graufell destacou-se claramente
  • Interpretação: A cópula leve capturou adequadamente a variabilidade entre atletas, permitindo que mudanças de performance fossem refletidas nas probabilidades

Divisão Open - Estabilidade da Liderança:

  • Dia 03: Cristian Sailer já liderava com maior pontuação
  • Dia 04: Manteve a liderança consolidada
  • Interpretação: A correlação por tipo de pista manteve a consistência do atleta líder, refletindo sua estabilidade de performance

Por que a Cópula Leve Funcionou:

  1. Captura de Especialização: Atletas com forte performance em tipos específicos de pista mantiveram vantagem consistente
  2. Modelagem de Dias Bons/Ruins: A correlação por grupo permitiu simular cenários onde atletas têm dias diferentes por tipo de pista
  3. Variabilidade Realista: A correlação leve permitiu variações naturais sem dominar os resultados individuais
  4. Preservação de Características: As distribuições individuais dos atletas foram mantidas, refletindo suas habilidades específicas
  5. Predição de Cenários Competitivos: Simulou adequadamente situações onde atletas podem ter dias bons em sua especialização e dias ruins em pistas onde têm dificuldades

Comparação com Modelo Independente:

  • Sem correlação: Stages tratados independentemente
  • Com cópula leve: Correlação realista entre stages similares
  • Resultado: Maior precisão na identificação de favoritos e mudanças de cenário

Implicações Teóricas da Cópula Leve

Vantagens sobre Modelos Tradicionais:

  1. Modelos Independentes (Naive)

    • ❌ Ignoram correlação natural entre stages similares
    • ❌ Subestimam variabilidade de cenários competitivos
    • ❌ Não capturam especialização por tipo de pista
  2. Modelos com Correlação Total

    • ❌ Correlação muito alta distorce distribuições individuais
    • ❌ Não permite variações específicas por atleta
    • ❌ Computacionalmente complexo
  3. Cópula Leve (Nossa Abordagem)

    • ✅ Preserva distribuições individuais (marginais)
    • ✅ Introduz correlação realista e controlada
    • ✅ Computacionalmente eficiente
    • ✅ Interpretável e ajustável

Fundamentação Matemática:

A cópula gaussiana leve implementa a fórmula:

z = (1 - ρ) × ε + ρ × g

Onde:

  • ρ pequeno (0,10 a 0,15): Correlação controlada
  • ε ~ N(0,1): Variação individual preservada
  • g ~ N(0,1): Fator comum por grupo

Propriedades Estatísticas:

  • Correlação Intra-Grupo: Correlação positiva entre stages do mesmo tipo
  • Independência Inter-Grupos: Stages de tipos diferentes permanecem independentes
  • Preservação de Marginais: Distribuições individuais inalteradas
  • Continuidade: Transição suave entre correlação e independência

Aplicação Específica ao IPSC:

A cópula leve é particularmente adequada para IPSC porque:

  1. Especialização Natural: Atletas têm diferentes habilidades por tipo de pista, podendo ser especialistas em curtas mas ter dificuldades em longas
  2. Modelagem de Dias Bons/Ruins: Permite simular cenários onde um atleta tem um "dia bom" em sua especialização e "dia ruim" em pistas onde tem dificuldades
  3. Variabilidade Controlada: "Dias bons/ruins" são específicos por tipo de pista, refletindo a realidade competitiva
  4. Realismo Competitivo: Reflete comportamento observado na prática onde atletas têm performance variável por grupo de pista
  5. Flexibilidade: Permite ajuste fino dos parâmetros de correlação para diferentes perfis de atleta

Algoritmo de Simulação

# Pseudocódigo da Simulação
for simulação in range(N_simulações):
    # Fator comum por grupo de pista
    for grupo in [curta, média, longa]:
        fator_grupo[grupo] = Normal(0, 1)
    
    for atleta in atletas:
        score_base = soma_stage_points_realizados(atleta)
        score_projetado = 0
        
        for stage_restante in stages_faltantes(atleta):
            grupo = classificar_pista(stage_restante)
            epsilon = Normal(0, 1)
            z = (1 - rho[grupo]) * epsilon + rho[grupo] * fator_grupo[grupo]
            u = função_distribuição_normal(z)
            stage_points = amostrar_distribuição_empírica(atleta, u)
            score_projetado += stage_points
        
        score_final[atleta] = score_base + score_projetado
    
    # Determinar vencedor(es) da simulação
    vencedores = atletas_com_maior_score(score_final)
    for vencedor in vencedores:
        vitórias[vencedor] += 1 / len(vencedores)

# Calcular probabilidades
for atleta in atletas:
    probabilidade[atleta] = vitórias[atleta] / N_simulações

Resultados Práticos: Validação da Metodologia

Contexto dos Dados

Os dados utilizados para validação da metodologia foram coletados durante o 2025 IPSC Handgun World Shoot, o maior evento mundial de IPSC, que reuniu mais de 1600 atletas em 6 divisões em competições de múltiplos dias. Este contexto de alta competitividade e diversidade de atletas proporcionou um ambiente estatisticamente robusto para testar a eficácia da metodologia de predição de probabilidades.

Escala e Diversidade do Evento

O 2025 IPSC Handgun World Shoot representou um marco na validação da metodologia:

  • 1600+ atletas: Maior concentração de atiradores de elite mundial
  • 6 divisões: Open, Production Optics, Standard, Classic, Revolver, Production
  • Diversidade global: Competidores de múltiplos países e continentes
  • Alta competitividade: Ambiente de máxima performance esportiva
  • Dados robustos: Amostra estatisticamente significativa para validação

Análise Comparativa: Dia 03 vs Dia 04

Divisão Production Optics (PO)

Dia 03 - Cenário Competitivo: PO Dia 03

  • 3 atletas com probabilidade de vitória significativa
  • Cenário aberto com múltiplos favoritos
  • Alta incerteza sobre o resultado final

Dia 04 - Consolidação: PO Dia 04

  • Eric Graufell destacou-se como favorito claro
  • Confirmação da teoria: O atleta que se destacou no dia 04 já estava entre os favoritos no dia 03
  • Redução da incerteza com consolidação de posições

Divisão Open

Dia 03 - Liderança Estabelecida: Open Dia 03

  • Cristian Sailer já apresentava maior pontuação
  • Liderança consolidada desde o início
  • Menor variabilidade comparada à PO

Dia 04 - Manutenção da Liderança: Open Dia 04

  • Cristian Sailer manteve a liderança
  • Confirmação da predição inicial
  • Estabilidade do cenário competitivo

Validação Estatística dos Resultados

Métricas de Validação

  1. Precisão da Predição:

    • PO: Identificação correta do vencedor (Eric Graufell)
    • Open: Confirmação da liderança (Cristian Sailer)
  2. Sensibilidade à Mudança:

    • PO: Detecção de mudança significativa no cenário competitivo
    • Open: Identificação de cenário estável
  3. Robustez da Metodologia:

    • Correlação por tipo de pista capturou adequadamente as variações
    • Distribuições empíricas forneceram base sólida para projeções

Implicações e Aplicações Práticas

Para Atletas

  • Estratégia de Competição: Entendimento de posição relativa na divisão
  • Foco em Stages Críticos: Identificação de pistas que podem impactar significativamente o resultado
  • Gestão de Expectativas: Avaliação realista das chances de vitória

Para Organizadores

  • Análise de Competitividade: Avaliação do equilíbrio entre atletas
  • Comunicação com Mídia: Dados estatísticos para cobertura jornalística
  • Planejamento de Eventos: Análise de atratividade competitiva

Para Treinadores

  • Desenvolvimento de Atletas: Identificação de pontos fortes e fracos
  • Preparação Específica: Foco em tipos de pista onde o atleta tem menor performance
  • Análise de Evolução: Acompanhamento da melhoria ao longo do tempo

Limitações e Considerações

Limitações Atuais

  1. Correlação Limitada: Modelo atual considera apenas correlação intra-grupo (curta/média/longa)
  2. Dados Escassos: Com poucos dados individuais, recorre à distribuição agregada
  3. Estacionariedade: Assume que distribuições futuras são similares às observadas
  4. Fatores Externos: Não modela condições climáticas, equipamentos, etc.

Melhorias Futuras

  1. Correlação Inter-Grupos: Modelagem de dependência entre diferentes tipos de pista
  2. Fatores Contextuais: Incorporação de variáveis ambientais e de equipamento
  3. Modelos Dinâmicos: Adaptação das distribuições ao longo da competição
  4. Machine Learning: Aplicação de algoritmos mais sofisticados

Complexidade Computacional

Análise de Performance

  • Complexidade: O(simulações × atletas × stages_restantes)
  • Tempo de Execução: Proporcional ao número de simulações
  • Escalabilidade: Adequada para competições de até 20000 simulações

Otimizações Implementadas

  1. Amostragem Eficiente: Uso de distribuições empíricas com reposição
  2. Cache de Distribuições: Armazenamento de distribuições calculadas
  3. Paralelização: Possibilidade de execução em múltiplos cores

Contribuições Científicas

Inovações Metodológicas

  1. Primeira aplicação de Simulação de Monte Carlo com correlação por tipo de pista em IPSC
  2. Modelagem de dependência entre stages similares usando cópula gaussiana
  3. Validação empírica através de análise comparativa temporal do 2025 IPSC Handgun World Shoot

Impacto no Esporte

  1. Ferramenta de análise para atletas e treinadores
  2. Base científica para estratégias competitivas
  3. Metodologia replicável para outras modalidades de tiro
  4. Validação em escala mundial: Testada com mais de 1600 atletas em 6 divisões

Conclusões

Validação da Metodologia

A análise comparativa temporal entre os dias 03 e 04 do 2025 IPSC Handgun World Shoot demonstrou a efetividade estatística da metodologia:

  • Divisão PO: Identificação correta da mudança de cenário competitivo
  • Divisão Open: Confirmação da estabilidade da liderança
  • Precisão estatística: Resultados alinhados com as probabilidades calculadas
  • Contexto de elite: Validação em ambiente de máxima competitividade mundial

Impacto Prático

O sistema desenvolvido representa um avanço significativo na análise estatística de competições de IPSC:

  1. Predição Robusta: Metodologia estatisticamente sólida
  2. Aplicação Prática: Ferramenta utilizável por atletas e organizadores
  3. Base Científica: Fundamentação matemática rigorosa
  4. Validação Empírica: Confirmação através de dados reais

Perspectivas Futuras

Esta pesquisa abre caminho para:

  • Desenvolvimento de ferramentas mais sofisticadas
  • Aplicação em outras modalidades de tiro esportivo
  • Integração com sistemas de análise de performance
  • Colaboração com organizações esportivas internacionais

Documentação Técnica Completa

Fundamentos Teóricos: Para uma explicação matemática completa dos conceitos utilizados, consulte Fundamentos Teóricos: Lei dos Grandes Números, Cópula Leve e Simulação de Monte Carlo.

Contexto dos Dados de Validação

A metodologia foi desenvolvida e validada utilizando dados reais do 2025 IPSC Handgun World Shoot, o maior evento mundial de IPSC, que reuniu mais de 1600 atletas em 6 divisões. Este contexto proporcionou:

  • Escala massiva: Mais de 1600 atletas de elite mundial
  • Diversidade de divisões: 6 divisões diferentes (Open, Production Optics, Standard, Classic, Revolver, Production)
  • Diversidade de atletas: Competidores de diferentes países e níveis
  • Alta competitividade: Ambiente de máxima performance esportiva
  • Stages variados: Pistas com diferentes características (curta/média/longa)
  • Dados temporais: Análise comparativa entre diferentes dias de competição

Regras de Pontuação IPSC por Stage

O sistema de pontuação IPSC segue regras específicas para cada stage:

  • Cálculo de Disparos: N = A + C + D + MISS (total de disparos possíveis)
  • Pontos Máximos: MaxPoints = N × 5
  • Hit Factor: HF = PONTOS / TIME (apenas se TIME > 0)
  • Stage Points por Atleta: StagePoints = (HF_atleta / HF_melhor) × MaxPoints_melhor
  • Total do Atleta: Soma de TODOS os stage points de todas as pistas = pontos de vitória

Importante: O atleta com o melhor HF recebe 100% dos seus MaxPoints, e os demais recebem proporcionalmente ao seu HF.

Simulação de Monte Carlo - Passo a Passo

1. Base Fixa

  • Para cada atleta, somamos seus stage points já realizados
  • Esta base não é reamostrada - representa performance já consolidada

2. Stages Restantes

  • Para cada atleta: R = total_stages - completados (não negativo)
  • Pode variar entre atletas se algum tiver mais/menos stages válidos

3. Amostragem por Stage Restante

Para cada um dos R stages restantes, amostramos um valor de stage points:

Prioridade de Amostragem:

  1. Distribuição individual do atleta (empírica, com reposição)
  2. Distribuição agregada da divisão (se individual vazia/insuficiente)
  3. Distribuição global da pista específica (se atleta não fez essa pista)

4. Score Simulado

score_final = base + soma(dos R samples)

5. Vencedor(es) da Simulação

  • Identificamos atleta(s) com maior score_final
  • Empate: cada atleta recebe 1 / número_de_empates vitória

6. Repetição

  • Repetimos os passos acima por simulations rodadas (ex.: 3000)
  • Cada rodada é independente e explora cenários diferentes

7. Probabilidade Estimada

probabilidade = vitórias_acumuladas / simulations

Detalhes Importantes da Implementação

Tratamento de Empates

  • Quando há mais de um maior score_final, cada atleta recebe 1 / número_de_empates vitória
  • Simula divisão proporcional da vitória em caso de empate

Fallback para Distribuições Vazias

  • Se não houver stage points na divisão (situação rara), usamos [0.0] como fallback seguro
  • Garante estabilidade numérica da simulação

Reprodutibilidade

  • A simulação usa amostragem aleatória
  • Rodadas diferentes podem variar levemente
  • Aumentar simulations reduz a variância

Complexidade Computacional

  • Aproximadamente O(simulations × atletas × R)
  • Valores muito altos de simulations aumentam o tempo de resposta
  • Otimizado para análise em tempo real

Interpretação dos Resultados

Probabilidade de Vitória

  • Chance estimada de terminar em 1º lugar na divisão
  • Considera incerteza dos stages que faltam
  • Baseada na frequência de vitórias nas simulações

Total Atual

  • Soma dos stage points já realizados (base da simulação)
  • Representa performance consolidada até o momento
  • Usado como ponto de partida para projeções

Stages Restantes

  • Número de stages que faltam para o atleta
  • Pode ser diferente entre atletas
  • Base para projeções futuras

Filtro de Probabilidade > 0

  • Apenas atletas com alguma chance de vitória são exibidos
  • Otimiza visualização e análise
  • Foca em competidores relevantes

Parâmetros de Configuração

Divisão

  • Define o conjunto de atletas
  • Determina a distribuição agregada usada
  • Contexto competitivo específico

Categoria

  • Opcional: se não informada (Overall), considera todos os atletas da divisão
  • Permite análise segmentada por categoria
  • Filtragem específica de competidores

Simulações

  • Número de rodadas Monte Carlo
  • Padrão: 3000 simulações
  • Mínimo: 100 simulações
  • Máximo: 20000 simulações
  • Balanceamento entre precisão e performance

Limitações do Modelo

Correlação Limitada

  • Modelamos dependência intra-grupo (curta/média/longa) com cópula leve
  • Não modelamos: correlação explícita entre grupos
  • Não modelamos: efeitos de pista específicos (vento, iluminação, etc.)

Dados Escassos

  • Com poucos dados individuais, recorremos à distribuição agregada da divisão
  • Pode super/under-estimar atletas específicos
  • Limitação natural em competições com poucos stages

Estacionariedade

  • Assume que distribuição futura de stage points é semelhante à observada
  • Não modela: mudanças bruscas de condição
  • Não modela: evolução de performance ao longo da competição

Intervalos de Confiança (IC 95%)

Probabilidade de Vitória

  • Fórmula: IC ≈ p ± 1,96·SE
  • Erro Padrão: SE = sqrt(p(1−p)/N)
  • N: número de simulações
  • Aproximação: normal para grandes amostras

Total Projetado

  • Fórmula: IC ≈ média ± 1,96·SEM
  • Erro Padrão da Média: SEM = desvio‑padrão/√N
  • Base: totais simulados
  • Interpretação: faixa de valores prováveis

Limitações dos ICs

  • Capturam erro de amostragem do Monte Carlo
  • Não capturam: incertezas de modelo
  • Não capturam: mudanças de condição, poucos dados
  • Podem ampliar a faixa real de incerteza

Pseudocódigo Completo

# Base fixa - não reamostrada
# T0[a] = soma dos stage points já concluídos por atleta a

for b = 1..Nsim:
    # Fator comum por grupo (curta, média, longa)
    for g in grupos:
        g_factor[g] ← Normal(0,1)

    for atleta a:
        add0
        for cada stage i faltante de a:
            ggrupo(i)
            epsNormal(0,1)
            z ← (1ρ_g)*eps + ρ_g*g_factor[g]
            uΦ(z)
            xquantil_empirico_atleta(a, u)  # fallback: divisão
            addadd + x
        T_b[a] ← T0[a] + add

    # Vitória da rodada
    Mmax_a T_b[a]
    V ← {a : |T_b[a] − M| < 1e9}
    para a em V: wins[a] += 1/|V|

# Estimativas finais
[a] = wins[a]/Nsim
[a] = média_b T_b[a]
IC95% conforme seção de fórmulas

Explicação do Pseudocódigo

Base Fixa (T0)

  • Soma dos stage points já realizados por atleta
  • Não é reamostrado - representa performance consolidada

Fator Comum por Grupo

  • g_factor[g] cria dependência leve entre stages do mesmo tipo
  • Simula "dias bons/ruins" por tipo de pista
  • Aplicado a todos os stages do grupo na rodada

Amostragem por Stage

  • Combinamos g e ε para obter z
  • Mapeamos para quantil u
  • Selecionamos valor na distribuição empírica do atleta
  • Fallback para distribuição da divisão se necessário

Score da Rodada

  • T_b[a] = T0[a] + soma dos samples dos stages restantes
  • Combina performance consolidada com projeções futuras

Vitória

  • Vencedores da rodada são atletas com T_b máximo
  • Empate fraciona a vitória proporcionalmente
  • Simula cenário competitivo da rodada

Estimadores

  • Probabilidade: pela frequência de vitórias
  • Total projetado: pela média dos totais simulados
  • IC 95%: conforme fórmulas das seções anteriores

Desenvolvedor

Alan C. Besen
Atleta de IPSC, desenvolvedor nas horas vagas e pesquisador quando sobra um tempo

Contatos


Metodologia validada através de análise comparativa de competições reais

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors