Skip to main content

PACE 2024 Verifier

This package can be used to verify a given solution against a set of crossing counting algorithms. For more information check the pace website.

Installation

Install the verifier from pip:

$ pip install pace2024-verifier

Usage

Verifier

To verify a solution use the following command:

$ pace2024verify <path/to/graph.gr> <path/to/solution.sol>

The verifiery has three different methods for verification usable via the switches:

  • --segtree = Use a segment tree to count the crossings. [default]
  • --interleave = Count the crossings by checking for each pair of edges if they interleave.
  • --stacklike = Count the crossings by checking how many pairs are out of order in a one-sided book embedding.

There is also the option to only print the number of crossings via -c/--only-crossings.

Tester

To test a solver against a set of tests use:

$ pace2024tester <solver>

where <solver> has to be an executable. So if for example you run your solver via a shell-script solver.sh run the command $ pace2024tester solver.sh. The solver will then be run using the tiny test set. The instances and solutions of this set are included with the verifier. To add your own tests create a folder mytests containing a subfolder instances and a subfolder <solutions>. You can then run

$ pace2024tester --test <path/to/mytests> <solver>

and the tester will check the solver against this test set. You can also suppply multiple test sets via

$ pace2024tester --test <path/to/mytests1> --test <path/to/mytests2> <solver>

For each instance in an instances folder we match it to the same-named file in the solutions folder. The provided solver is then executed on each instance and the pace2024verifier is used to check the results. If you do not want to use the tiny test set you can switch it off using:

$ pace2024tester --no-tiny --test <path/to/mytests1> --test <path/to/mytests2> <solver>

By default the tester assumes that the solver uses files for input and output and calls it as:

$ <solver> path/to/input path/to/output

If you prefer using stdin or stdout use the following switches:

  • --instanceas file/stdin = provide the input file as a path to the file or on stdin
  • --solutionas file/stdout = expect the output to be written to a file or on stdout

For solution files the tester creates temporary file using the tempdir library of python. All created files are deleted by this library after execution.

Finally, for easier parsable output you can use the flag:

  • --only-compare/-c which prints only the line Testing now <instancename>... followed by the string <crossingssolver>,<crossingssolution>.

Metadata

Release files for pace2024-verifier 0.3.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pace2024-verifier 0.3.8
File Size Uploaded
pace2024_verifier-0.3.8.tar.gz 10.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pace2024-verifier 0.3.8
File Interpreter ABI Platform
pace2024_verifier-0.3.8-py3-none-any.whl Python 3 none any Details

Total release size: 26.9 kB

Release files / pace2024_verifier-0.3.8.tar.gz

Download URL pace2024_verifier-0.3.8.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7253514a1f46ba13d3d4b89358aaa0791e9c35a5daabf75c955d1429408b18b2
BLAKE2b-256 checksum
How to use checksums
c2576670ce3662cb28ad791b4fbdcffd3d277d269a49bd23b63f882e2b5ffa2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.6 Linux/6.6.8-arch1-1

Release files / pace2024_verifier-0.3.8-py3-none-any.whl

Download URL pace2024_verifier-0.3.8-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58d19fae9eecee83b3e06898b12a20c839d394d5fa83c04c116adb31c15a1963
BLAKE2b-256 checksum
How to use checksums
93c8ccf4a0a223d7e3c432a7e8804c803b669bb782f5c583a6610be49d29d50d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.6 Linux/6.6.8-arch1-1

Release history Release notifications | RSS feed

This release

0.3.8 This release

2 release files

0.3.7

2 release files

0.3.5

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page