In
combinatorics
Combinatorics is an area of mathematics primarily concerned with counting, both as a means and as an end to obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many ...
and
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, covering problems are computational problems that ask whether a certain combinatorial structure 'covers' another, or how large the structure has to be to do that. Covering problems are
minimization problems and usually
integer linear programs, whose
dual problem
In mathematical optimization theory, duality or the duality principle is the principle that optimization problems may be viewed from either of two perspectives, the primal problem or the dual problem. If the primal is a minimization problem then th ...
s are called
packing problems
Packing problems are a class of optimization problems in mathematics that involve attempting to pack objects together into containers. The goal is to either pack a single container as Packing density, densely as possible or pack all objects us ...
.
The most prominent examples of covering problems are the
set cover problem
The set cover problem is a classical question in combinatorics, computer science, operations research, and complexity theory.
Given a set of elements (henceforth referred to as the universe, specifying all possible elements under considerati ...
, which is equivalent to the
hitting set problem
The set cover problem is a classical question in combinatorics, computer science, operations research, and complexity theory.
Given a set of elements (henceforth referred to as the universe, specifying all possible elements under consideratio ...
, and its special cases, the
vertex cover problem and the
edge cover problem.
Covering problems allow the covering primitives to overlap; the process of covering something with non-overlapping primitives is called
decomposition
Decomposition is the process by which dead organic substances are broken down into simpler organic or inorganic matter such as carbon dioxide, water, simple sugars and mineral salts. The process is a part of the nutrient cycle and is ess ...
.
General linear programming formulation
In the context of
linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements and objective are represented by linear function#As a polynomia ...
, one can think of any minimization linear program as a covering problem if the coefficients in the constraint
matrix
Matrix (: matrices or matrixes) or MATRIX may refer to:
Science and mathematics
* Matrix (mathematics), a rectangular array of numbers, symbols or expressions
* Matrix (logic), part of a formula in prenex normal form
* Matrix (biology), the m ...
, the objective function, and right-hand side are nonnegative. More precisely, consider the following general
integer linear program:
Such an integer linear program is called a covering problem if
for all
and
.
Intuition: Assume having
types of object and each object of type
has an associated cost of
. The number
indicates how many objects of type
we buy. If the constraints
are satisfied, it is said that ''
is a covering'' (the structures that are covered depend on the combinatorial context). Finally, an optimal solution to the above integer linear program is a covering of minimal cost.
Kinds of covering problems
There are various kinds of covering problems in
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
,
computational geometry and more; see
:Covering problems. Other stochastic related versions of the problem can be found.
Covering in Petri nets
For
Petri net
A Petri net, also known as a place/transition net (PT net), is one of several mathematical modeling languages for the description of distributed systems. It is a class of discrete event dynamic system. A Petri net is a directed bipartite graph t ...
s, the covering problem is defined as the question if for a given marking, there exists a run of the net, such that some larger (or equal) marking can be reached. ''Larger'' means here that all components are at least as large as the ones of the given marking and at least one is properly larger.
Rainbow covering
In some covering problems, the covering should satisfy some additional requirements. In particular, in the rainbow covering problem, each of the original objects has a "color", and it is required that the covering contains exactly one (or at most one) object of each color. Rainbow covering was studied e.g. for covering points by
intervals:
* There is a set ''J'' of ''n'' colored intervals on the
real line
A number line is a graphical representation of a straight line that serves as spatial representation of numbers, usually graduated like a ruler with a particular origin (geometry), origin point representing the number zero and evenly spaced mark ...
, and a set ''P'' of points on the real line.
* A
subset
In mathematics, a Set (mathematics), set ''A'' is a subset of a set ''B'' if all Element (mathematics), elements of ''A'' are also elements of ''B''; ''B'' is then a superset of ''A''. It is possible for ''A'' and ''B'' to be equal; if they a ...
''Q'' of ''J'' is called a ''rainbow set'' if it contains at most a single interval of each color.
* A set of intervals ''J'' is called a ''covering'' of ''P'' if each point in ''P'' is contained in at least one interval of ''Q''.
* The ''Rainbow covering problem'' is the problem of finding a rainbow set ''Q'' that is a covering of ''P''.
The problem is
NP-hard
In computational complexity theory, a computational problem ''H'' is called NP-hard if, for every problem ''L'' which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from ''L'' to ''H''. That is, assumi ...
(by reduction from
linear SAT).
Conflict-free covering
A more general notion is conflict-free covering. In this problem:
* There is a set ''O'' of ''m'' objects, and a conflict-graph ''G
O'' on ''O''.
* A subset ''Q'' of ''O'' is called ''conflict-free'' if it is an
independent set in ''G
O'', that is, no two objects in ''Q'' are connected by an edge in ''G
O''.
* A rainbow set is a conflict-free set in the special case in which ''G
O'' is made of disjoint cliques, where each clique represents a color.
''Conflict-free set cover'' is the problem of finding a conflict-free subset of ''O'' that is a covering of ''P''. Banik, Panolan, Raman, Sahlot and Saurabh
prove the following for the special case in which the conflict-graph has bounded
arboricity:
* If the geometric cover problem is
fixed-parameter tractable (FPT), then the conflict-free geometric cover problem is FPT.
* If the geometric cover problem admits an r-approximation algorithm, then the conflict-free geometric cover problem admits a similar approximation algorithm in FPT time.
References
{{reflist
*