This repo contains tools and example code written by CaryKH, Edward Haas, and various contributers to https://github.com/Prisoners-Dilemma-Enjoyers/PrisonersDilemmaTournament
You can run the tournament using
run.py
This will create a cache file cache.json
which can be used with the other tools for analysis. The cache file also makes subsequent runs of run.py
significantly faster. You can have run.py
ignore the cache file using the flag --delete-cache
.
Prints out matches that involve any files who's path includes any of the provided names
usage:
node print.js [[name] ...]
example:
node print.js titForTat exampleStrats.simpleton
Compares the performance of strategies who's path includes any of the provided names against all the other strategies
usage:
node compare.js -width=[width] -color [[name] ...]
example:
node compare.js -w=10 -c titForTat exampleStrats.simpleton
Prints out standings from the meta settings defined in meta.ini
usage:
node meta.js -top=[top] [[name]=[weight] ...]
example:
node meta.js titForTat=100 exampleStrats.simpleton=50
Prints out an animated standings interpolating between the provided meta range
usage:
node metarange.js -top=[top] -steps=[steps] [-color=[name] ...] [[name]=[weightStart]-[weightEnd] ...]
example:
node metarange.js titForTat=0-100
Prints out a grid of the position of the focused strategy for the provided meta ranges
usage:
node metagrid.js -focus=[name] -color -steps=[steps] [[name]=[weightStart]-[weightEnd] ...]
example:
node metagrid.js -f=exampleStrats.titForTat -c random=0-10 titForTat=0-100