welcome: please sign in

You can't save spelling words.

Clear message
location: FinalProblemDescriptions / StrategicCompanies

Strategic Companies

Problem Description

Strategic companies is a well-known NP^NP-complete problem that has often been used for systems comparisons, and also in the previous ASP Competitions. In the Strategic Companies problem, a collection C = c1, ..., cm of companies is given, for some m >= 1. Each company produces some goods in a set G, and each company ci in C is possibly controlled by a set of owner companies Oi (where Oi is a subset of C, for each i = 1,...,m). In this context, a set C' of companies (i.e., a subset of C) is a "strategic set" if it is minimal among all the sets satisfying the following conditions:

In our setting, instances are subject to two additional restrictions:

  1. each product is produced by at most four companies; and
  2. each company is controlled by at most four companies.

Under these restrictions the problem is still NP^NP-complete.

Instances of strategic companies are encoded by means of the predicates produced_by and controlled_by. In particular, there is a fact producedBy(p,c1,c2,c3,c4) when a product p is produced by companies c1, c2, c3 and c4, and a fact controlledBy(c,c1,c2,c3,c4) when a company c is controlled by companies c1, c2, c3 and c4. If a product p is produced by less than four companies (but at least one), the atom produced_by(p,c_a,c_b,c_c,c_d) contains repetitions of companies. For instance, producedBy(p,c_a,c_b,c_c,c_c) is used for representing that p is produced solely by ca, cb, and cc. Analogously, if a company c is controlled by less than four companies.

The goal of the problem is a follows: Given two distinct companies ci,cj in C, we ask for checking whether no strategic set C' containing both ci and cj does exist. Queries of this benchmark have thus to be answered cautiously.

Predicates

Input format

An instance of Strategic Companies is modeled by the following facts that will be provided in the input file:

For instance:

produced_by(pasta,barilla,dececco,dececco,dececco).
produced_by(tonno,callipo,star,star,star).
controlled_by(barilla,star,star,star,star).
controlled_by(dececco,barilla,barilla,barilla,barilla).
non_strategic_pair(barilla,star)?

Output format

The output must be yes. or no. intended as 0-ary facts. See the specification for outputs of query problems, here.

For instance:

no.

Example(s)

Input:

produced_by(pasta,barilla,dececco,dececco,dececco).
produced_by(tonno,callipo,star,star,star).
controlled_by(barilla,star,star,star,star).
controlled_by(dececco,barilla,barilla,barilla,barilla).
non_strategic_pair(barilla, callipo)?

Output:

yes.

Additional sample instances: download

Problem Peculiarities

Type: search/Beyond-NP Competition: both M&S and System competition

This problem is challenging both from the modelling point of view (it is required the availability of constructs allowing an "\exist \forall" quantification over solutions, or some appropriate optimization construct), and from the computational point of view.

Author(s)

ASP Competition 2013: FinalProblemDescriptions/StrategicCompanies (last edited 2013-03-16 12:00:33 by GiovambattistaIanni)