Skip to content

The sequel to bskull-openings: overcoming the limitations of TrueSkill in this setting by using a latent factor model to generalize to unplayed Dominion openings in the bskull-openings dataset

Notifications You must be signed in to change notification settings

zuirod/tensor-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

The sequel to bskull-openings: overcoming the limitations of TrueSkill in this setting by using a latent factor model to generalize to unplayed Dominion openings in the bskull-openings dataset

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published