TCC · Ciência da Computação · IFSulDeMinas
Comparar IA em jogos costuma parar no WinRate. Isso esconde duas coisas: um agente pode vencer por sorte do cenário, e pode vencer gastando um custo que o tornaria inviável. Aqui eficácia e custo são medidos lado a lado.
Nada aqui é reimplementado no navegador. O mapa, as posições e o HP de cada turno foram gravados pelo simulador em Godot rodando headless, sobre as primeiras seeds do banco de benchmark. A seed de cada partida está ao lado dos controles.
Os replays são gerados na publicação. Para gerar localmente:
godot --headless --path simulator --script res://tools/replay_dump.gd
Três instâncias do mesmo modelo por partida. Em condições simétricas a taxa de vitória converge para cerca de 1/3 em qualquer modelo que funcione — o que a comparação revela é quanto cada um gasta para chegar lá, e se consegue decidir a partida antes do limite de turnos.
Custo é o número de operações de avaliação que a IA gasta por partida para decidir — medido dentro do turno de decisão, não na execução da ação.
O modelo proposto contra os dois baselines de custo pleno, na mesma partida.
Toda afirmação comparativa foi submetida a teste. Dois resultados obrigaram a revisar o que os dados brutos sugeriam.
Antes de comparar modelos é preciso mostrar que a posição na mesa não decide a partida. Três instâncias idênticas, mil partidas, rotação de iniciativa: as taxas de vitória ficam dentro da flutuação esperada para N = 1000.
Os mapas são gerados por seed, o combate é determinístico e os bancos de seeds estão
versionados. Nenhum valor acima foi digitado à mão: todos saem dos CSVs em
data/runs/.
git clone https://github.com/madeiragab/tcc-simulador-ia
cd tcc-simulador-ia
# refazer um lote de benchmark
godot --headless --path simulator -- batch 1000 \
verde=art3miz vermelho=heuristica azul=reativa
# reagregar os números desta página
python3 site/gerar_dados.py
# regravar os replays
godot --headless --path simulator --script res://tools/replay_dump.gd