Miscellaneous

Benchmark comparison

In the companion JOSS paper AMaze is compared against a number of other benchmarks from the Python ecosystem. The scripts (Python and Shell) to reproduce a under docs/latex/benchmarking:

  • generate_all.sh iterates over every declared package and proceeds, if necessary, to installing it before delegating to the dedicated worker.

  • The full list of workers is:

     1downloads=$tmp/downloads
     2mkdir -p $downloads
     3log=$tmp/log
     4
     5line(){
     6    n=$(tput cols)
     7    printf "=%.0s" $(seq $n)
     8    printf "\n"
     9}
    10export -f line
    
  • Individual workers will perform 1000 timesteps of every available environment (averaged over 10 replicates) in the inspected library and report through a pandas dataframe

  • format.py performs the formatting of the raw data thus produced. Note that the one used for the aforementioned article is available under docs/latex/benchmarking/table.csv

Warning

Installing all of these libraries plus their dependencies will take quite some time and disk space. It is highly recommended to do so in a virtual environment on a sufficiently robust machine.

Complexity space

In the README, a figure presenting the complexity of 500’000 mazes is used to showcase the diversity of the underlying space. Such a figure can be generated by the scripts under docs/latex/complexity/:

  • generate.py will create 100’000 mazes of Trivial, Simple, Lures, Traps and Complex classes, each. Results are stored in the sibling file data.csv

  • format.py will generate most of the visuals (kde, image overlay)

  • complexity.tex needs to be compiled for the inset images (it is recommended to do so from the main compiler at docs/latex/compile.sh

Build Errors