/MassNE

Primary LanguagePythonApache License 2.0Apache-2.0

MassNE: Exploring Higher-Order Interactions with Marginal Effect for Massive Battle Outcome Prediction

Source code and dataset of MassNE (the 2023 Web Conference paper).

Introduction

In this work, we study how to model interactions between massive units for predicting battle outcomes, and explore the diminishing marginal utility of massive units.

Requirements

  • mpmath
  • trueskill
  • numpy
  • pandas
  • torch

To train MassNE

python train.py

Simulator

We used the simulator from https://github.com/jgs03177/sc2combatsim to simulate the combat.

We made some modifications to the original simulator so that it can read the lineup data generated by python.

Lineup data Generation details

  1. Both ground units and air units are included. We excluded some magic units, since the AI sometimes doesn't control these units correctly.
  2. To simulate a battle, we randomly sample an amount of resources, and the resources of the two teams are the same. Training a combat unit cost the minerals and vespene gas. For simplicity, we assume one vespene gas is equivalent to two minerals.
  3. The races (i.e., Terran, Zerg, Protoss) of the two teams are randomly chosen. We use the Dirichlet distribution to determine the proportion of resources allocated to each squad.