welcome: please sign in
location: ProblemPackageFormats

Problem specifications package format

Remark

For packages to be submitted via Easychair system: in case the size of the submitted package exceeds the allowed size limits, please just put an URL pointing to it.

Submission packages

Submitted problem specifications have to be packaged in a single compressed archive named benchmark_name-contributor_name.zip (or tar.gz) containing:

  1. a benchmark_name.spec.txt file containing the textual problem description (a template is available, see below);

  2. a benchmark_name.enc.asp file containing a proposed encoding for the problem (which must match the provided language classification);

  3. a folder named checker containing the sources of a correctness checker together with a README.txt file containing the instructions for (possibly building and) running it;

  4. a folder named samples containing some instances (one instance per text file).

benchmark_name and contributor_name should be substituted with their actual value. The provision of a checker at this stage is optional.

A template package for benchmark submissions is available here.

Finalized packages (for accepted problems only)

A finalized problem specification has to be packaged in a single compressed archive named benchmark_name-contributor_name.zip (or tar.gz) containing:

  1. a benchmark_name.spec.txt file containing the textual problem description (a template is available, see below);

  2. a benchmark_name.enc.asp file containing a proposed encoding for the problem (that must match the provided language classification);

  3. a folder named checker containing the sources of a correctness checker together with a README.txt file containing suitable instruction for (building and) running it.

  4. a folder named instances containing at least 50, sufficiently "hard", numbered instances (one per file) named XX-benchmark_name-MAXINT-MAXLEVEL.asp where: XX is the instance number, MAXINT is the maximum integer (0 if not relevant - e.g., because no arithmetics is required), and the maximum function nesting level is MAXLEVEL (0 if not relevant - e.g., because function symbols are not required), see Section Programs with Function symbols and integers;

  5. In alternative to the point above, a folder named generator containing the sources of an instance generator together with a README.txt file containing suitable instruction for (building and) running it; such generator should be able to produce a number of instances according to naming given in point 4, above. Finally,

  6. a demonstration.txt file in which the author provides sufficient arguments demonstrating that the benchmark problem can be effectively solved.

A template package for final benchmark submission is available here.

Checker format

The checker reads from standard input a witness in the prescribed format (see File and Language Format for details) and writes in standard output a single row of text containing the string OK (if the witness is correctly assessed as a solution), and the string FAIL otherwise. The string OK must be followed by a space-separated integer representing the witness cost in case of optimization problems. The checker outputs WARN and an exit code different from zero in all other cases (e.g. the witness is not syntactically correct, or the output INCONSISTENT has been incorrectly piped towards the checker). Informative messages can be output in standard error.

Note that witnesses are assumed to be inclusive of both instance facts (input predicates) and solution facts (output predicates).

Remark: checkers provided by benchmark authors will be used only for checking existing witnesses. It is not up to the benchmark author to check validity of other outputs like INCONSISTENT.

The source code of the correctness checker has to be be included in the package; moreover, the provided software must be able to (build and) run on the Debian i686 GNU/Linux(kernel ver. 2.6.26) operating system. A checker can be built on top of a logic specification for a solver of choice: in such a case binaries of the solver must be provided together with the checker encoding.

Instance "Hardness"

Provided problem instances should be "hard" in a pragmatic sense: we will not compare systems over instances expectedly taking far less than 1 second when run on the Competition hardware.

Problem Input-Output predicates and Instance Specification

In the following it is specified the allowed format for specifying input and output of problems and instances. Samples are available in the competition web site.

Problem Input and Output.

Benchmark problems specifications have to clearly indicate the vocabulary of input and output predicates, i.e., a list of predicate names for the input and a list of predicate names for the output and their arity in the usual logic programming notation (e.g. p/2 denotes the binary predicate p).

Instance Specification.

Input instance are sequences of Facts (atoms followed by the dot "." character) with only predicates of the input vocabulary, possibly separated by spaces and line breaks, entirely saved in a text file (only one instance per file is allowed).

Maximum Integer and maximum function nesting level,

have to be provided in a per-instance basis. In particular, they are specified in the filename containing a given instance. We recall that instances must be named XX-benchmark_name-MAXINT-MAXLEVEL.asp where XX is the instance number, MAXINT is the maximum integer (0 if not relevant/no arithmetics are required), and MAXLEVEL is the maximum function nesting level (0 if not relevant).

ASP Competition 2011: ProblemPackageFormats (last edited 2011-02-03 16:44:56 by CarmenSantoro)