Skip to content

Latest commit

 

History

History
40 lines (21 loc) · 2.64 KB

README.md

File metadata and controls

40 lines (21 loc) · 2.64 KB

tensor-skill

Dominion is a game where a small advantage early on can snowball into a decisive advantage later on. As such, your opening buys (i.e., the cards you buy in the first two turns of the game) are very important in laying the foundation for your strategy throughout the rest of the game.

This is the sequel to bskull-openings, in which the TrueSkill rating system was used to rank openings in the bskull-openings dataset by considering matches between openings as a 1 vs 1 game. Although this approach effectively ranks the openings that were played, it is not able to generalize to openings that were not played. Moreover, it underutilizes the available comparisons between openings in the dataset. One way to overcome these limitations to is to explicitly model the cards that make up the openings and consider matches between openings as a team vs team game.

TrueSkill is capable of modeling such games, but is based on the assumption that the skill of a team is the sum of the skills of its players. This assumption does not hold in this setting, so a latent factor model, explicitly modeling the cards and diminishing marginal utility, was used to assess the quality of different openings better than the TrueSkill rating system.

If you are not familiar with dominion, learn to play for free at Dominion Online.

Usage

You can simply view in your browser: How To Base Dominion Opening, Part 2.

For those who would like to dig through the code, install the requirements below, then run the following command at the Terminal (Mac/Linux) or Command Prompt (Windows):

jupyter notebook

A browser window should open. Wait for the page to load, then click 'How to Base Dominion Opening, Part 2.ipynb'. Click Kernel > Restart & Run All to run all the cells, or Shift + Enter to run an individual cell.

Requirements

Run the appropriate commands at the Terminal (Mac/Linux) or Command Prompt (Windows).

Install with conda

If you have Anaconda or Miniconda installed:

To create a conda environment, run:

conda create --name tensor-skill --file requirements.txt

To activate the environment, run:

conda activate tensor-skill

Install with pip

Alternatively, if you have Python installed, run:

pip install notebook pandas trueskill matplotlib tensorflow lxml scikit-learn tqdm