Rules & Scoring
<<TableOfContents: execution failed [list index out of range] (see also the log)>>
Rules for System competition
The scenario of the System Competition aims at reproducing, as faithfully as possible, a setting in which it is measured the performance of a given system against a problem encoding (and instance thereof) of unknown nature and complexity.
The System competition is open to general-purpose ASP systems, able to parse the two fixed formats ASP-Core and ASP-RFC (see File and Language Formats).
The competition is run over a selection of problems. For each problem, a corresponding, fixed encoding in ASP-Core or ASP-RFC, together with a set of benchmarks instances, is chosen by the organizers (see Benchmark problems classification);
- Each participating solver will be launched with its default settings on each problem instance.
Syntactic special-purpose solving techniques are strictly forbidden. Among syntactic solving techniques we classify the switch of internal solver options depending on:
- command-line file names;
- predicate and variable names;
- "signature" techniques, aimed at recognizing a particular benchmark problem, such as counting the number of rules, constraints, predicates and atoms in a given encoding.
The semantic recognition of the program structure is allowed (and encouraged), instead. Among allowed semantic recognition techniques, we classify:
- Recognition of the class the program encoding belongs to (e.g., stratified, positive, etc.) and possible consequent switch on of on-purpose evaluation techniques.
- Recognition of general rule and program structures (e.g., common un-stratified even and odd-cycles, common join patterns within a rule body, etc.), provided these techniques are general and not peculiar of a given problem selected for the competition.
Rules for the Model & Solve competition
The scenario of the Model & Solve Competition aims at reproducing, as faithfully as possible, a setting in which a system's team faces a problem specification and is asked, in a limited time range, to provide a tailored solution, optimized both in terms of problem encoding and evaluation strategy.
- The competition organizers select a number of problem specifications, together with a set of test instances, these latter expressed in a common instance input format (basically, a set of facts in standard syntax).
- Per each problem, teams are allowed to submit a specific solver (or a solving script) and a problem encoding.
- Solutions must be objectively based on a declarative specification system at their core.
Reproducibility of Competition results
The committee will not disclose submitted material until the end of the competition, although willingly participants are allowed to share their own work at any moment. In order to allow transparency and reproducibility of the competition results, the participants agree that any material (system binaries, scripts, problems encodings) submitted by participants will be made public after the competition.
On request of competitors, material will be published under an explicit 'limited usage license' (e.g. usage of binaries for academic purposes only), and can be properly watermarked (e.g. scripts and systems' banners can include explicit mention of the Third ASP Competition).
The scoring system adopted in each category of the competition is basically the one used in the first and second ASP competitions (which was mainly based on a weighted sum of the number of instances solved within the given time-bound), extended by rewarding additional scores that measure time performances. In particular, the scoring system has been conceived by balancing the following factors:
Problems having more instances should not have bigger scoring range. Thus, for a given problem P, a normalized score shall be awarded, obtained by averaging the score awarded to each instance.
Non-sound solvers, and encodings, are strongly discouraged. Thus, if system S outputs an incorrect answer for instance I of some problem P, this shall invalidate all the score achieved for problem P.
A system managing to solve a given problem instance sets a clear gap over systems not able to. Thus, per each instance I of problem P, a flat reward shall be given if I is solved in the allotted time.
- A system is generally perceived as clearly faster if solving time stays orders of magnitude below the maximum allowed time. Thus, similarly to SAT competition scores a logarithmically weighted bonus is awarded to faster systems.
In the case of optimization problems, scoring should depend also on the quality of the provided solution. Thus, points have to be rewarded when finding better solutions, by taking into account the fact that small improvements in solution-quality are usually obtained at the price of strong computational efforts: bonus for a better quality solution is thus given on an exponential weighting basis.
In general, 100 points per each given benchmark problem can be earned. The final score of a solver will then consist of the sum of the scores over all benchmarks.
For detailed information about scoring, see Scoring Details
The global ranking is computed by awarding each ASP system a score that is the sum of its score in each problem. The system with the higher score is proclaimed as winner in the corresponding track.
In the remote case a competition track ends in a tie, this is awarded ex-aequo.
Systems making usage of randomization
In order to guarantee reproducibility of the Competition outcomes, systems possibly making usage of randomization are required to be set in order to work with a fixed random seed.
Detailed Policy in Case of Evaluation Errors
The policy here is almost the same with respect to the previous competition. For the sake of clarity, it is next stated, and some further details are reported.
A solver that returns an incorrect answer for an instance of a particular benchmark (e.g., answers INCONSISTENT to a satisfiable problem instance, or returns an erroneous witness, or answers OPTIMUM FOUND when the generated witness is not optimal) gets zero points as overall score for that benchmark problem. Of course, it is not disqualified from the competition, nor the score of other benchmark problems is influenced.
It is worth noting that, in some cases, the verification of some sort of answers might be untractable. Pragmatically, if a solver returns INCONSISTENT for an instance, and no solver finds a witness for it, this is considered correct. Similarly, if a solver returns OPTIMUM FOUND for an optimization instance, and no solver finds a better witness, this is considered correct.
Please always refer to the most recent version of the language and input/output specifications document available on this site.
A system running on an instance of any benchmark will be given the same score as if it was timed out in the following cases:
if it outputs "UNKNOWN" (clean failure);
if it stops and comes without a clear solution, but in a recognizable state (unclean failure) - e.g., out of memory limit;
if it outputs something which cannot be parsed as a solution neither can be recognized according to the abovementioned specifications (unknown unclean failure). In such a case, if this happens during the dry run phase, incident will be reported to system owners.
- If a system outputs a solution matching the abovementioned specifications within the time limit, then (obviously):
- if the check phase succeeds, score is computed and given;
- if the check phase fails, the score for the whole benchmark the instance belongs to is set to ZERO.
The competition committee holds the right to enforce
- the fair respect of all the above regulations, to settle possible disputes and to inflict appropriate penalties and/or disqualifications to infringing participants.
The competition will be run on a Linux Debian Lenny 32bit platform featuring a 4 core Intel Xeon CPU X3430 running at 2.4 Ghz, equipped with 4GB of physical RAM and PAE enabled. The servers are equipped with the C/C++ compiler GCC 4.3. Competitors can of course install their own compilers/libraries in their local home directory. Recall that dynamic libraries needed at runtime will have to be reachable according to the above regulations regarding path accessibility. Except for (non-competing) parallel solvers, all the problem instances will be evaluated in single-core mode.
Each process spawned by participants solvers will have access to the usual Linux process memory space (slightly less than 3GiB user space + 1GiB kernel space). The memory allocated by all the processes is however constrained to a total of 3 GiB (1 GiB = 230 bytes). The memory footprint of participants' run scripts will be controlled by using the Benchmark Tool Run.
The above tool might not detect short memory spikes (within 100 milliseconds) or, in corner cases, detect memory overflow with some short delay: we however pragmatically assume the tool as the official reference.