Published December 18, 2023 | Version v1

Paths, Proofs and Perfection source code bundle

Description

Paths, Proofs and Perfection code bundle 

This archive contains the code necessary for producing test data and running an experimental setup.

Proof search engine

Engine is a Rust project located in the directory graph-proof-search. Building can be done by means of Rust toolchain (we use rustc 1.67.0) and should not require third-party dependencies not captured by the Cargo.toml file.

For optimal performance, please build the search engine in release mode. This can be achieved by command cargo build --release.

Network collection code

To collect the road networks from OSM data, please refer to the directory osm-network-generator. This is a collection of Python scripts that can either be invoked independently (please refer to python <scriptname>.py --help for further details) or run from a single Bash script prepare.sh.

Please use vanilla Python build and venv for setting up the environment (and not, e.g., conda binaries, that is known to crash). All necessary dependencies can be built by pip install -r requirements.txt.

Data collection code

Similarly to the above, the instance generation (networks + side constraints + baseline responses) can be run from the directory osm-data-generator. Aside from the Python scripts, there is also a Bash script benchmark.sh running the experimental configuration described in the paper. To run it, use the following syntax: benchmark.sh ../graph-proof-engine/target/release/graph-proof-search (assuming that you have already built the proof search engine).

As before, please use vanilla Python build and venv for setting up the environment, and install dependencies by pip install -r requirements.txt. In addition, these scripts expect that you have built and installed the SCIP software from exact-rational branch.

The produce-instances.py script expect a CSV file with cities as an input; this bundle contains the worldcities.csv file as distributed in the World Cities Database.

Assumptions used by Bash scripts

  • The venv environments are set in directories named osm-network-generator-venv and osm-data-generator-venv respectively and already contain all necessary packages.
  • There is an environmental variable $INSTANCE_DIR containing the path to the directory where all experiment information will be collected, including the city networks, proof engine outputs, etc.

Files

aaai-bundle.zip

Files (1.7 MB)

Name Size Download all
md5:31f53e6714a0b8ea096162eff979acb0
1.7 MB Preview Download

Additional details

Dates

Updated
2022-08-16