welcome: please sign in
location: Diff for "BenchmarkProblems"
Differences between revisions 2 and 3
Revision 2 as of 2012-05-07 19:01:33
Size: 2842
Comment: rephrasing
Revision 3 as of 2012-05-10 16:45:30
Size: 2475
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Problem Classification == == Benchmark Problem Classification ==
Line 6: Line 7:
Line 10: Line 12:
We distinguish between two main type of problems: We distinguish between the following types of problems:
Line 12: Line 14:
 * ''search problems'',
 * ''query problems'', and
 * ''optimization problems''.
 * ''Search problems'',
 * ''Optimization problems'', and
 * ''Query problems''
Line 16: Line 18:
The first type of problem requires to find (if it exists) a "witness" solving the problem instance at hand.
Line 18: Line 19:
A query problem consists in finding all the facts (having a given signature) which hold in all the "witnesses" of the instance for the problem at hand. The first type of problem requires to find (if it exists) a "witness" solving the problem instance at hand (e.g. a coloring for a given instance graph).
Line 21: Line 22:

A query problem consists in finding all the facts (having a given signature) which hold in all the "witnesses" of the instance for the problem at hand. Query problems include decision problems in which an answer can be a boolean value (e.g. deciding satisfiability of a given propositional formula).
Line 26: Line 29:
 * ''Polynomial problems:'' We classify in this category problems which are solvable in polynomial time in the size of the input data (data complexity). Such problems are usually characterized by the huge size of instance data. Although ASP systems do not aim at competing with more tailored technologies (database etc.) for solving this category of problems, several practical real-world applications fall in this category. Also, it is expected that an ASP solver can deal satisfactorily with basic skills such as answering queries over stratified recursive programs at a reasonable degree of efficiency. It is thus important to assess participants over this category;  * ''Polynomial problems:'' We classify in this category problems which are solvable in polynomial time in the size of the input data (data complexity). Such problems are usually characterized by the huge size of instance data.
Line 28: Line 31:
 * ''NP problems:'' We classify in this category NP-complete problems and any problem in NP not known to be polynomially solvable: these problems constitute the "core" category, in which to test the attitude of a solver of efficiently dealing with problems formulated with the "Guess and Check" methodology;  * ''NP problems:'' We classify in this category NP-complete problems and any problem in NP not known to be polynomially solvable. More precisely, we classify as ''NP'' all search problems in which witnesses correspond to polynomially checkable certificates of some NP-complete problem.
Line 30: Line 33:
 * ''Beyond NP:'' We classify in this category any problem not known to be in NP: these are in general very hard problems (often including
optimization problems) and naturally encourage the development of new constructs and new algorithmic techniques: in this category participant systems assess their capabilities as general purpose specification environments.
 * ''Beyond NP:'' We classify in this category any other problem not falling in the above. This class often includes, but it is not restricted to nontrivial optimization problems.
Line 34: Line 36:
Each benchmark problem is classified according to the language fragment used in the proposed/available encodings.
Line 36: Line 37:

A detailed specification of the language fragments will follow.
 For problems accepted in the [[SystemCompetition|System Track]] benchmark problems are classified according to the language fragment used in the proposed/available encodings.
A detailed specification of the language fragments is forthcoming.

Benchmark Problem Classification

Problems, on which systems will compete, are classified according to type, complexity and language. Such categorizations are independent, although strictly related each other.

Problem Type

We herein adopt witness as a neutral term for denoting a solution for the given problem instance. Depending on the declarative formalism of choice, this can correspond to (part of) a logical model, to a satisfying assignment, etc. In ASP terminology, a witness corresponds to an answer set or a subset thereof.

We distinguish between the following types of problems:

  • Search problems,

  • Optimization problems, and

  • Query problems

The first type of problem requires to find (if it exists) a "witness" solving the problem instance at hand (e.g. a coloring for a given instance graph).

An optimization problem is specified as a search problem together with a cost function which assigns an integer cost value to witnesses. We are always searching for witnesses with minimal cost.

A query problem consists in finding all the facts (having a given signature) which hold in all the "witnesses" of the instance for the problem at hand. Query problems include decision problems in which an answer can be a boolean value (e.g. deciding satisfiability of a given propositional formula).

Problem Complexity

Problems are also classified according to their computational complexity in:

  • Polynomial problems: We classify in this category problems which are solvable in polynomial time in the size of the input data (data complexity). Such problems are usually characterized by the huge size of instance data.

  • NP problems: We classify in this category NP-complete problems and any problem in NP not known to be polynomially solvable. More precisely, we classify as NP all search problems in which witnesses correspond to polynomially checkable certificates of some NP-complete problem.

  • Beyond NP: We classify in this category any other problem not falling in the above. This class often includes, but it is not restricted to nontrivial optimization problems.

Problem Language.

  • For problems accepted in the System Track benchmark problems are classified according to the language fragment used in the proposed/available encodings.

A detailed specification of the language fragments is forthcoming.

ASP Competition 2013: BenchmarkProblems (last edited 2012-05-10 16:57:06 by GiovambattistaIanni)