On the Approximability of NP-complete Optimization Problems

On the Approximability
of NP-complete
Optimization Problems
Viggo Kann
Department of Numerical Analysis and Computing Science
Royal Institute of Technology
S-100 44 Stockholm
Sweden
[email protected]
Dissertation, May 1992
Akademisk avhandling för teknisk doktorsexamen vid
Kungl. Tekniska Högskolan, Stockholm
Maj 1992
c Viggo Kann 1992
ISBN 91-7170-082-X
TRITA-NA-9206 • ISSN 1101-2250 • ISRN KTH/NA–9206
Repro Print AB, Stockholm
mcmxcii
i
Abstract
This thesis deals with the polynomial approximability of combinatorial optimization problems which are NP-complete in their decision problem version.
Different measures of approximation quality are possible and give rise to different approximation preserving reductions and different approximation classes of
problems. We present definitions and characteristics of existing measures, reductions and classes and make comparisons. The main contributions comprise
the following four subjects.
• We show that the definition of the approximability class Max SNP due
to Panconesi and Ranjan differs from the original definition due to Papadimitriou and Yannakakis and that the same problem may or may not
be included in the class depending on how it is encoded. A new definition
of Max SNP without this limitation is proposed.
• We prove that maximum three dimensional matching is Max SNP-hard
using a reduction constructing a structure of rings of trees. Using similar
techniques we can show that several other matching and packing problems
are Max SNP-hard, for example the maximum H-matching problem (the
problem of determining the maximum number of node-disjoint copies of
a fixed graph H contained in a variable graph). Most of the problems are
Max SNP-complete when bounding the degree of the input structure.
• Some versions of the maximum common subgraph problem are studied
and approximation algorithms are given. The maximum bounded common induced subgraph problem is shown to be Max SNP-hard and the
maximum unbounded common induced subgraph problem is shown to be
as hard to approximate as the maximum independent set problem. The
maximum common induced connected subgraph problem is still harder
to approximate and is shown to be NPO PB-complete, i.e. complete
in the class of optimization problems with optimum value bounded by a
polynomial.
• An algorithm which solves the Euclidean travelling salesperson problem
in two dimensions
√ optimally is given. The worst case time bound for the
algorithm is 2O( n log n) .
As an appendix there is a list of NP optimization problems including their
definitions, approximation properties and references.
Keywords: computational complexity, approximability, NP optimization problems, combinatorial problems, graph problems, optimization, approximation,
approximation algorithms, approximation preserving reduction, approximability classes, relative error, performance ratio, Max SNP-completeness, maximum three dimensional matching, maximum H-matching, maximum common
subgraph, travelling salesperson problem.
ii
Sammanfattning
Denna avhandling handlar om hur väl NP-fullständiga kombinatoriska optimeringsproblem kan approximeras i polynomisk tid. Approximerbarhet kan
mätas på flera sätt, vilket har lett till att det finns flera olika approximerbarhetsbevarande reduktioner och flera komplexitetsklasser av problem. I avhandlingen ges definitioner av, egenskaper hos och jämförelser mellan olika
approximerbarhetsmått, reduktioner och klasser. Följande fyra punkter sammanfattar huvudsakligen avhandlingens nya resultat.
• Skillnader mellan Panconesis och Ranjans definition av komplexitetsklassen Max SNP och Papadimitrious och Yannakakis ursprungliga definition påvisas. T ex kan det hända att samma problem antingen är med
eller inte i klassen beroende på hur det kodas. En ny definition av Max
SNP som inte har denna brist läggs fram.
• Det tredimensionella matchningsproblemet visas vara Max SNP-svårt
med hjälp av en reduktion som konstruerar en speciell struktur av trädringar. Samma teknik kan användas för att visa att flera andra matchnings- och packningsproblem är Max SNP-svåra, bl a maximal H-matchning (att hitta det största antalet nodskilda kopior av en fix graf H i
en variabel graf). Dessa problem visas vara Max SNP-fullständiga för
inmatningar med begränsat gradtal.
• Några varianter av problemet att hitta den största gemensamma delgrafen i två grafer beskrivs. När grafernas gradtal är begränsat visas
problemet vara Max SNP-svårt och när gradtalet är obegränsat visas
problemet vara ungefär lika svårt att approximera som problemet att
hitta den största oberoende mängden hörn i en graf. Att approximera
problemet att hitta den största sammanhängande gemensamma delgrafen
visas vara NPO PB-fullständigt, dvs fullständigt i den klass av optimeringsproblem vars optimum är begränsat av ett polynom i indatas storlek.
• En algoritm som löser handelsresandeproblemet i√det euklidiska planet
beskrivs. Tidskomplexiteten för algoritmen är 2O( n log n) .
I ett appendix finns en lista över optimeringsproblem. För varje problem ges
definitionen, approximationsegenskaper och referenser.
Nyckelord: komplexitetsteori, approximerbarhet, NP-optimeringsproblem,
approximering, approximeringsalgoritmer, approximerbarhetsbevarande reduktioner, relativt fel, approximerbarhetsfaktor, Max SNP-fullständighet, maximal tredimensionell matchning, maximal H-matchning, största gemensamma
delgraf, handelsresandeproblemet.
Contents
1 Introduction
1.1 Background . . . . . . . . . . . . . . . . . . . .
1.2 Approximate solutions . . . . . . . . . . . . . .
1.3 Degrees of approximability . . . . . . . . . . . .
1.4 Organization of the presentation . . . . . . . .
1.5 Approximability of other types of problems . .
1.6 Approximation using other types of algorithms
1.7 Approximation by local search . . . . . . . . .
.
.
.
.
.
.
.
1
1
2
3
4
5
6
6
2 Definitions
2.1 Basic notation . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 NP, NPO and PO . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 How approximation is measured . . . . . . . . . . . . . . . . . .
2.4 Approximation schemes . . . . . . . . . . . . . . . . . . . . . .
2.5 NPO PB, polynomially bounded NP optimization problems .
2.6 Why do NP-complete problems have different approximability?
7
7
7
8
11
12
12
3 Reductions
3.1 Reductions preserving approximability
3.2 Reencoding of optimization problems .
3.3 Strict reduction . . . . . . . . . . . . .
3.4 Relative error preserving reductions .
3.4.1 A-reduction . . . . . . . . . . .
3.4.2 P-reduction . . . . . . . . . . .
3.4.3 R-reduction . . . . . . . . . . .
3.4.4 L-reduction . . . . . . . . . . .
3.4.5 F-reduction . . . . . . . . . . .
3.4.6 Transitivity . . . . . . . . . . .
3.5 Ratio preserving reduction . . . . . . .
3.6 Parameter dependent reductions . . .
3.7 Non-constructive reductions . . . . . .
3.8 Structure preserving reduction . . . .
14
14
15
16
16
16
17
18
18
19
20
20
24
25
26
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iv
Contents
4 Approximability classes
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Fptas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Ptas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Fptas∞ and Ptas∞ . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Rptas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Apx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7 NPO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8 NPO problems with polynomially bounded optimum . . . . . .
4.9 The existence of intermediate degrees . . . . . . . . . . . . . .
4.10 Classes defined by logical formulas . . . . . . . . . . . . . . . .
4.10.1 Syntactic Max NP . . . . . . . . . . . . . . . . . . .
4.10.2 Syntactic Max SNP . . . . . . . . . . . . . . . . . .
4.10.3 Closures of Max NP and Max SNP . . . . . . . . . .
4.10.4 Relations between the classes Syntactic Max SNP and
Max SNP . . . . . . . . . . . . . . . . . . . . . . . . .
4.10.5 New definitions of Max SNP and Max NP . . . . . . .
4.10.6 The hierarchies Max Πi , Max Σi , Min Πi and
Min Σi . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10.7 Closures of these classes . . . . . . . . . . . . . . . . . .
4.10.8 Other syntactically defined classes . . . . . . . . . . . .
4.11 The Max Ind Set class . . . . . . . . . . . . . . . . . . . . . .
29
29
30
32
33
33
34
35
35
37
37
38
40
42
5 Matching and packing problems
5.1 Introduction . . . . . . . . . . . . . . .
5.2 Maximum three dimensional matching
5.3 Maximum three-set packing . . . . . .
5.4 Maximum k-set packing . . . . . . . .
5.5 Maximum k-dimensional matching . .
5.6 Maximum triangle packing . . . . . . .
5.7 Maximum H-matching . . . . . . . . .
54
54
54
61
62
63
63
64
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Maximum common subgraph problems
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Maximum common induced subgraph . . . . . . . . . . . . . .
6.2.1 Approximation of maximum bounded common induced
subgraph . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.2 Approximation of maximum unbounded common induced
subgraph . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Maximum common edge subgraph . . . . . . . . . . . . . . . .
6.3.1 Approximation of maximum bounded common edge subgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.2 Approximation of maximum unbounded common edge
subgraph . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Maximum common induced connected subgraph . . . . . . . .
44
45
46
48
49
52
74
74
74
75
80
82
82
85
86
Contents v
7 The
7.1
7.2
7.3
travelling salesperson problem
Introduction . . . . . . . . . . . . . . . . . . . . .
General Tsp . . . . . . . . . . . . . . . . . . . .
Tsp with triangle inequality . . . . . . . . . . . .
7.3.1 Approximation algorithm by Christofides
7.3.2 Tsp with distances one and two . . . . .
7.3.3 2-dimensional Euclidean Tsp . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
87
87
88
88
88
89
90
8 How problems are related approximability-wise
100
8.1 Master and slave problems . . . . . . . . . . . . . . . . . . . . . 100
8.2 Problems in the plane . . . . . . . . . . . . . . . . . . . . . . . 100
8.3 Summary of how all problems are related . . . . . . . . . . . . 102
8.3.1 Problems with constant absolute error guarantee . . . . 102
8.3.2 Problems with approximation schemes . . . . . . . . . . 103
8.3.3 Problems which can be approximated within a constant 104
8.3.4 Problems not known to be approximable within a constant106
Appendices
108
A Proofs of several reductions
108
B A list of optimization problems
B.1 Graph theory . . . . . . . . . .
B.2 Network design . . . . . . . . .
B.3 Sets and partitions . . . . . . .
B.4 Storage and retrieval . . . . . .
B.5 Sequencing and scheduling . . .
B.6 Mathematical programming . .
B.7 Logic . . . . . . . . . . . . . . .
B.8 Automata and language theory
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
112
112
127
130
134
135
137
139
143
Index
146
Bibliography
153
vi
Contents
Chapter 1
Introduction
Is there any way to find efficient algorithms which always give good approximations to optimization problems to which it is hard to find the optimal solution?
This is the main question motivating the work in this thesis. The answer to the
question is: it depends on the problem. Of problems which are equally hard to
solve optimally, some can be very well approximated with efficient algorithms,
while others, under the well-known and commonly believed assumption that
P = NP, cannot be approximated with efficient algorithms at all.
1.1
Background
Identifying which combinatorial problems are easy to solve and which are hard
is an important and challenging task, which has occupied theoretical computer
scientists for many years. In order to translate the everyday expression “easy
to solve” to mathematical theory the concept of polynomial time algorithms
has been introduced.
An algorithm is said to run in polynomial time if there is a polynomial p
such that the algorithm applied to an input of size n always finds a solution
in time p(n), that is after performing p(n) simple instructions. Note that we
measure the worst case complexity, that is the time in which we are sure that
the algorithm ends regardless of which input of size n we have fed it.
The execution time of a polynomial time algorithm grows slowly enough
with increasing input size to be able to be run on a computer, but if the
execution time grows exponentially the algorithm is useless for all but the
smallest inputs. One of the most accepted ways to prove that a problem is
hard is to prove it NP-complete. If an optimization problem is NP-complete
we are almost certain that it cannot be solved optimally in polynomial time.
If we are given an algorithm solving a problem, we can often use it to solve
other, similar problems. We can even, given two problems A and B, specify
in advance how to use any algorithm for problem B to solve problem A. Such
a specification is called a reduction from A to B – we reduce A to B. If the
reduction itself is easy to execute, then we have shown that problem B is at
least as hard to solve as A, in the sense that if we can solve B we can also solve
1
2
Chapter 1. Introduction
A in about the same time – a reduction is thus a way to compare problems.
Therefore one often symbolizes the reduction as an inequality A ≤ B.
In the 1970s and 1980s a lot of decision problems (problems with the answer
yes or no) were reduced to each other. All these problems have a common
property: for every input to a problem with solution yes there is a proof that the
input has solution yes and this proof can be verified in polynomial time. Any
problem with this property is called an NP problem. Obviously all problems
which can be solved by polynomial time algorithms satisfy this property. We
say that P ⊆ NP where P is the set of problems which can be solved by
polynomial time algorithms and NP is the set of NP problems.
A problem which is greater that all NP problems, that is a problem to
which every problem in NP can be reduced, is called NP-hard. If an NPhard problem is itself an NP problem it is called NP-complete. Thus all NPcomplete problems are equally hard to solve, since they are interreducible. If
there is a polynomial time algorithm for any NP-complete problem then P =
NP and every NP problem can be solved in polynomial time. Despite enormous
efforts the question whether P = NP is still unanswered. The common belief
nowadays is that P = NP and a big part of the research in theoretical computer
science, among them this thesis, have P = NP as a fundamental assumption.
A well-known and practical example of an NP-complete problem is the
travelling salesperson problem or Tsp. The travelling salesperson has to visit
n cities and knows in advance the distances between every pair of cities. She
wants to find the tour through all n cities, starting and ending in the same city,
which minimizes the distance travelled. In this formulation Tsp is not really
a decision problem – the answer is an optimal tour and not yes or no. It can
be formulated as a decision problem by introducing a new parameter k in the
input. The question now will be: is there a tour of length at most k through
all cities?
Tsp was one of the first problems shown to be NP-complete and there
is no known polynomial time algorithm which can solve it for every value of
k. Unfortunately, even several natural restrictions of the travelling salesperson
problem are also NP-complete and thus probably intractable, for example when
the distances satisfy the triangle inequality and when the cities lie in the plane.
Any optimization problem which in the same way as Tsp can be seen as
an NP decision problem is an NP optimization problem or an NPO problem.
Provided that P = NP there is no algorithm which finds the optimal solution
of an NP-complete optimization problem in polynomial time.
1.2
Approximate solutions
In practice though, it is often sufficient to find an approximate solution, which is
near the optimal solution, and in many cases this can be done quite fast. Even
for NP-complete optimization problems there can exist polynomial time approximation algorithms. However the approximability of different NPO problems
differs enormously.
For example the travelling salesperson problem with triangle inequality can
in polynomial time be solved approximately within a factor 3/2, i.e. one can
Section 1.3. Degrees of approximability 3
find a trip of length at most 3/2 times the shortest possible trip [21]. The
general Tsp cannot be approximated within any constant factor if P = NP
[35]. Another example is the knapsack problem, which is NP-complete but can
be approximated within every constant in polynomial time [46]. Such a scheme
for approximating within every constant is called a Ptas (polynomial time
approximation scheme). The knapsack problem has in fact even an Fptas
(fully polynomial time approximation scheme) which means that it can be
approximated within 1 + ε in time polynomial in both the length of the input
and 1/ε, i.e. the time is bounded by a two variable polynomial where the input
length is the first variable and 1/ε the second.
One could suspect that, since all NP-complete optimization problems are
reducible to each other, an approximation algorithm for one problem would
automatically, via the reduction, give an equally good approximation algorithm
for other problems, but this is not true. The reason for this is that the NPreductions are not strong enough to preserve all of the underlying structure of
the optimization versions of the problems.
Several attempts have been made to find a theory explaining why a problem
enjoys particular approximation properties. See [19] for a historic survey.
1.3
Degrees of approximability
A breakthrough was made in 1988 when Papadimitriou and Yannakakis defined
the class Max SNP and a new concept of reduction, called an L-reduction,
which preserves approximability within constants [88].
Max SNP contains the problems which can be defined syntactically in a
certain manner. Papadimitriou and Yannakakis thereby characterized many
polynomially approximable NPO problems in a non-computational way, since
every problem in Max SNP can be approximated within a constant in polynomial time.
Furthermore, they called a problem in Max SNP to which every problem
in Max SNP can be reduced Max SNP-complete and proved several NPO
problems to be Max SNP-complete, for example the maximum 3-satisfiability
problem (Max 3Sat). Given a boolean formula in 3CNF (a conjunction of
clauses where each clause is a disjunction of at most three literals), Max 3Sat is
the problem of finding a truth assignment which satisfies the maximum number
of clauses.
The L-reduction was later generalized to the P-reduction. Both these reductions are sufficiently strong to preserve approximability within constants. For
example, if A P-reduces to B and B has a Ptas then A has also a Ptas. Thus
the Max SNP-complete problems are equally hard to approximate, either all
have a Ptas or none.
The question of whether the Max SNP-complete problems can be approximated within every constant remained unanswered until recently, when it was
answered in the negative (provided that P = NP) [2]. Thus showing that a
problem is Max SNP-complete gives a good characterization of the approximability: it can be approximated within a constant, but not within every
constant.
4
Chapter 1. Introduction
Approximability
very hard
hard
within a constant
easy
very easy
✻
NPO PB-complete problems
Max Ind Set
Max SNP-complete problems
Ptas
Fptas
Figure 1.1: Degrees of approximability of NPO problems.
A considerably harder problem to approximate is the maximum independent
set problem (Max Ind Set). The problem is to find the maximum size set
of nodes which are independent in a graph, that is which are not directly
connected with edges. There is a constant c such that Max Ind Set cannot
be approximated within nc where n is the number of nodes in the graph. If
one manages to find a P-reduction from Max Ind Set to a problem, one has
thus showed that the problem is hard to approximate.
The problem of finding the longest induced path in a graph (LIP) has
the very interesting property that every NPO problem with not too large an
optimum value (namely if the optimum value can be bounded by a polynomial
in the size of the input) can be P-reduced to it. Thus it is among the hardest of
the polynomially bounded NPO problems – an NPO PB-complete problem.
Therefore it is even harder to approximate than the maximum independent set
problem.
In this framework we can try to place the NPO problems, thereby giving
both lower and upper bounds on the approximability of each problem, and thus
telling us how good approximations we can hope to find for the problems.
1.4
Organization of the presentation
This thesis deals with polynomial approximation of NPO problems which are
NP-complete in their decision problem version. It both presents new material
and surveys the existing research. Most of our own material is contained in
Section 4.10, Chapter 5, Chapter 6, Section 7.3.3 and the appendices.
In Chapter 2 we present the basic nomenclature that is used throughout
the thesis. The class of NPO problems is defined and several measures of
approximation are defined and compared. The chapter ends with a discussion
Section 1.5. Approximability of other types of problems 5
why NP-complete problems have different approximability.
The important concept of approximability preserving reductions is introduced in Chapter 3. Different reductions exist which preserve approximability
in different ways. We give definitions and properties of most of the approximability preserving reductions used in the literature and compare them with each
other. We also introduce a new reduction, the S-reduction, which is suitable
to use when reducing between problems which cannot be approximated within
a constant.
Chapter 4 contains an exposition of the main approximability classes, both
the classes defined using only the approximability of problems and the classes
defined using the syntactical formulation of problems by logical formulas. We
discuss two different definitions of the Max SNP and Max NP classes, show
that they really contain different problems and propose new definitions of these
classes. This section is based on our article [54].
Chapter 5 is a compilation and extension of [52] and [53] and contains
analyses of several matching and packing problems. We show for example
that bounded maximum three dimensional matching, bounded maximum threeset packing, bounded maximum triangle packing and bounded maximum Hmatching are Max SNP-complete problems and thus cannot be approximated
within every constant.
An interesting family of problems is the family of maximum common subgraph problems. It consists of problems which are formulated in a similar
way but differ in approximability. In Chapter 6, which is based on [55], we
show that some of these problems can be approximated within a constant,
one problem is as hard to approximate as Max Ind Set and one problem is
NPO PB-complete.
Chapter 7 deals with the travelling salesperson problem and describes the
difference in approximability between the general problem and some restrictions
of it. A relatively fast algorithm finding the optimal solution of Tsp in the plane
is given. This was first published in [51].
In Chapter 8 we try to give a summary on how NPO problems are related
approximability-wise. First we present two groups of related problems: master
and slave problems and planar problems. The last section contains all NPO
problems mentioned in the thesis, ordered by their approximability.
There are two appendices. The first contains some proofs of some reductions
which do not naturally belong to any of the earlier chapters and the second
is a list of all mentioned optimization problems including their definition and
approximation properties.
1.5
Approximability of other types of problems
This thesis only covers sequential and polynomial time approximation of NPO
problems which are NP-complete in their decision problem version. Some work
has been done on the approximability of other types of problems.
In 1989 Serna and Spirakis showed that many P-complete problems cannot
be approximated within a constant by an algorithm in NC unless P = NC
[99]. They also showed other approximability behaviour for several problems
6
Chapter 1. Introduction
and introduced a log-space reduction similar to the L-reduction. Recently some
other problems have been shown to be hard to approximate in NC [58, 98].
Stockmeyer has shown some results regarding the approximability of problems in #P [104]. In general every function in #P can be approximated within
any constant by an algorithm in the class ∆p3 of the polynomial hierarchy. If
the #P problem is based on an NP-complete problem there is no polynomial
time algorithm which approximates it within a constant.
1.6
Approximation using other types of algorithms
A related area is the search for other types of approximation algorithms than
sequential polynomial time algorithms.
Peters and Rudolph have shown that there is a logarithmic time parallel
approximation scheme for the knapsack problem [91]. There are relatively few
results on parallel approximation of NPO problems.
Yao has transferred some known approximability results for approximation
of NPO problems to approximation by neural networks [111].
1.7
Approximation by local search
Another connecting active research field is approximation by local optimization.
A local search algorithm for an optimization problem tries in every step to find
improved solutions by considering perturbations of the current solution. If no
perturbation gives a better solution, the solution, which is locally optimal, is
output. One question is how good the locally optimal solution is relative to the
optimum solution, and another question is whether the local search algorithm
always finds a local optimum in polynomial time.
Johnson, Papadimitriou and Yannakakis have defined a complexity class
PLS of local search problems and showed that there are PLS-complete problems [50]. Several problems have been shown to be PLS-complete and it has
even been argued that PLS-completeness in some sense is the normal behaviour
of NP-complete problems [49, 64, 109].
Chapter 2
Definitions
2.1
Basic notation
The following notation will be used throughout this thesis.
Sets:
Z
Z+
N
Q
R
R+
[a..b]
2A
|A|
A⊂B
the set of integers
the set of positive integers
the set of natural numbers (non-negative integers)
the set of rational numbers
the set of real numbers
the set of positive real numbers
the set {a, a + 1, . . . , b − 1, b} ⊂ Z
the set of subsets of A
the cardinality of the set A
A is a proper subset of B
Graphs:
graph
undirected graph
G = V, E graph with node set V and edge set E with edges (v, v )
G |C
the restriction of the graph G to the nodes or edges in C
Functions:
log
ln
2.2
log2 , i.e. the logarithm in base 2
loge , i.e. the natural logarithm
NP, NPO and PO
The first definition of NP optimization problems was made by Johnson [48].
The following, very similar, formulation is due to Crescenzi and Panconesi [24].
7
8
Chapter 2. Definitions
Definition 2.1 An NPO problem (over an alphabet Σ) is a four-tuple
F = (IF , SF , mF , optF ) where
• IF ⊆ Σ∗ is the space of input instances. It is recognizable in polynomial
time.
• SF (x) ⊆ Σ∗ is the space of feasible solutions on input x ∈ IF . The only
requirement on SF is that there exist a polynomial q and a polynomial
time computable predicate π such that for all x in IF , SF can be expressed
as SF (x) = {y : |y| ≤ q(|x|) ∧ π(x, y)} where q and π only depend on F .
• mF : IF × Σ∗ → N, the objective function, is a polynomial time computable function. mF (x, y) is defined only when y ∈ SF (x).
• optF ∈ {max, min} tells if F is a maximization or a minimization problem.
Solving an optimization problem F given the input x ∈ IF means finding a
y ∈ SF (x) such that mF (x, y) is optimum, that is as big as possible if optF =
max and as small as possible if optF = min. Let optF (x) denote this optimal
value of mF .
A maximum solution of a maximization problem is an optimal solution.
A maximal solution is a locally optimal solution, thus an approximation to
the optimal solution. Often it is easy to find a maximal solution but hard to
find a maximum solution. Analogously, a minimum solution of a minimization
problem is an optimal solution and a minimal solution is a locally optimal
solution.
Example 2.1 Maximum three dimensional matching (Max 3DM) is an example of a problem in NPO. It is a tuple (I, S, m, opt) where the space of input
instances I contains all sets of triples T ⊆ X × Y × Z from pairwise disjunctive
sets X, Y and Z. The set of feasible solutions S(T ) is the set of matchings of
T , where a matching M ∈ S(T ) is a subset of T where no two triples agree
in any coordinate. The objective function m(T, M ) is the cardinality |M | of
the solution M and opt = max. 3DM is a well-known NP-complete problem.
Thus Max 3DM can probably not be solved exactly in polynomial time.
Definition 2.2 PO is the class of NPO problems which can be solved in
polynomial time.
Maximum matching in a bipartite graph (Max 2DM) is an example of a
problem in PO.
2.3
How approximation is measured
Approximating an optimization problem F given the input x ∈ IF means finding any y ∈ SF (x). How good the approximation is depends on the relation
between mF (x, y ) and optF (x). There are a number of ways to measure the approximability. Different problems have different approximabilities which must
Section 2.3. How approximation is measured 9
be measured in different ways. In this section the standard terminology on
approximability measuring is presented. Unless otherwise stated we adopt the
terminology used by Garey and Johnson [35].
For most problems which are not too hard to approximate we often measure
the approximation using the relative error.
Definition 2.3 The relative error of a feasible solution with respect to the
optimum of an NPO problem F is defined as
EFr (x, y) =
|optF (x) − mF (x, y)|
optF (x)
where y ∈ SF (x).
If F is a maximization problem we have optF (x) ≥ mF (x, y) ≥ 0 and
EFr (x, y) =
mF (x, y)
optF (x) − mF (x, y)
=1−
optF (x)
optF (x)
Thus 0 ≤ EFr (x, y) ≤ 1.
If F is a minimization problem we have mF (x, y) ≥ optF (x) ≥ 0 and
EFr (x, y) =
mF (x, y)
mF (x, y) − optF (x)
=
−1≥0
optF (x)
optF (x)
In order to avoid this lack of symmetry between maximization problems
and minimization problems Ausiello, D’Atri and Protasi defined the normalized
relative error.
Definition 2.4 [4] The normalized relative error of a feasible solution of an
NPO problem F is defined as
EFn (x, y) =
where y ∈ SF (x) and
worstF (x) =
|optF (x) − mF (x, y)|
|optF (x) − worstF (x)|
min{mF (x, y) : y ∈ SF (x)}
max{mF (x, y) : y ∈ SF (x)}
if optF = max,
if optF = min.
We observe that 0 ≤ EFn (x, y) ≤ 1. For maximization problems worstF (x)
is usually zero, and then the normalized relative error will coincide with the
relative error. The normalized relative error is hardly ever used in the literature,
probably because it is non-intuitive. See Section 2.6 for an example of the use
of the normalized relative error.
Definition 2.5 The absolute error of a feasible solution with respect to the
optimum of an NPO problem F is defined as
EFa (x, y) = |optF (x) − mF (x, y)|
where y ∈ SF (x).
10
Chapter 2. Definitions
For most of the NP-complete optimization problems there is no hope of
finding a solution with constant absolute error. Therefore this measure is seldom used. Still there are a few NPO problems which have approximation
algorithms with constant absolute error guarantee, see Section 8.3.
Orponen and Mannila have generalized these measures and defined a general
measure of approximation quality.
Definition 2.6 [83] A general measure of approximation quality of a feasible
solution of an NPO problem F is a function EF which, for each x ∈ IF ,
satisfies EF (x, y) ≥ 0 if and only if y ∈ SF (x) and EF (x, y) = 0 if and only if
mF (x, y) = optF (x). We say that the measure is cost-respecting if
mF (x, y1 ) ≤ mF (x, y2 ) ⇒ EF (x, y1 ) ≥ EF (x, y2 ) if optF = max,
mF (x, y1 ) ≤ mF (x, y2 ) ⇒ EF (x, y1 ) ≤ EF (x, y2 ) if optF = min.
All the measures defined above are cost-respecting.
When analyzing an approximation algorithm the most common way to state
the approximability is to give the performance ratio.
Definition 2.7 The performance ratio of a feasible solution with respect to
the optimum of an NPO problem F is defined as
optF (x)/mF (x, y) if optF = max,
RF (x, y) =
mF (x, y)/optF (x) if optF = min.
where x ∈ IF and y ∈ SF (x).
The performance ratio and the relative error are obviously related in the
following way.

∞

1

=
(EFr (x, y))i if optF = max,
RF (x, y) =
1 − EFr (x, y)
i=0


1 + EFr (x, y)
if optF = min.
Definition 2.8 We say that an optimization problem F can be approximated
within p for a constant p if there exists a polynomial time algorithm A such
that for all instances x ∈ IF , A(x) ∈ SF (x) and RF (x, A(x)) ≤ p.
For a few problems it is more interesting to consider the performance ratio
just for input instances with large optimal value. This asymptotical behaviour
is covered by the following definition.
Definition 2.9 We say that an optimization problem F can be approximated
asymptotically within p for a constant p if there exists a polynomial time algorithm A and a positive constant N such that for all instances x ∈ IF with
optF (x) ≥ N , A(x) ∈ SF (x) and RF (x, A(x)) ≤ p.
Definition 2.10 The best performance ratio R[F ] for an optimization problem
F is defined as
R[F ] = inf{p : F can be approximated within p}.
Section 2.4. Approximation schemes 11
Definition 2.11 The best asymptotic performance ratio R∞ [F ] for an optimization problem F is defined as
R∞ [F ] = inf{p : F can be approximated asymptotically within p}.
Definition 2.12 We say that an optimization problem F has a bounded approximation if there exists a positive constant c such that F can be approximated within c.
Definition 2.8 can be extended to problems which do not have bounded
approximation in the following way.
Definition 2.13 We say that an optimization problem F can be approximated
within p(n) for a function p : Z+ → R+ if there exists a polynomial time
algorithm A such that for every n ∈ Z+ and for all instances x ∈ IF with
|x| = n we have that A(x) ∈ SF (x) and RF (x, A(x)) ≤ p(n).
2.4
Approximation schemes
An algorithm which approximates an NPO problem F within 1 by definition
finds the optimal solution to the problem in polynomial time. For an NPcomplete problem there is no such algorithm (unless P = NP). But for many
NP-complete problems there are algorithms which approximate them within
1 + ε for each ε > 0. Such an algorithm is called a polynomial time approximation scheme and is defined as follows.
Definition 2.14 We say that an optimization problem F has a polynomial
time approximation scheme (Ptas) if there is a polynomial time approximation
algorithm (in the length of the input instance) that takes as input both an
instance x ∈ IF and a constant ε > 0, and then outputs a solution which
approximates F within 1 + ε.
An alternative but equivalent definition is that F has a Ptas if there is a
polynomial time approximation algorithm that takes as input both an instance
x ∈ IF and a constant ε > 0, and then outputs a solution which approximates
F with a relative error less than ε.
The problem of finding a maximum independent set of nodes in a planar
graph is an example of a problem which has a Ptas [6]. But the time complexity of this Ptas is unfortunately O(n · 81/ε /ε) where n is the number of
nodes in the graph, and thus the time increases very rapidly with decreasing ε.
A better behaviour of the time complexity would be a polynomial dependence
in 1/ε. A Ptas with such a time complexity is called a fully polynomial time
approximation scheme.
Definition 2.15 We say that an optimization problem F has a fully polynomial time approximation scheme (Fptas) if it has an approximation algorithm
that takes as input both an instance x ∈ IF and a constant ε > 0, and then,
in time polynomial in both 1/ε and the length of x, outputs a solution which
approximates F within 1 + ε.
An example of a problem with an Fptas is the knapsack problem [46].
12
2.5
Chapter 2. Definitions
NPO PB, polynomially bounded NP optimization problems
An important class of NP optimization problems is the polynomially bounded
problems. These are NPO problems in which the size of the optimal solution
is bounded by a polynomial in the length of the corresponding instance. [12,
19, 63]
Definition 2.16 An NPO problem F is polynomially bounded if there is a
polynomial p such that
optF (x) ≤ p(|x|) for all x ∈ IF
The class of all polynomially bounded NPO problems is called NPO PB. This
class was called OptP[log n] by Krentel [63].
Maximum three-dimensional matching and maximum independent set are
examples of problems in NPO PB. The travelling salesperson problem and
minimum 0 − 1 programming are examples of problems not in NPO PB.
Observe that if there is an NP-complete NPO PB problem which has an
Fptas then we can use the Fptas to find the optimal solution in polynomial
time. Thus, provided that P = NP, no NP-complete NPO PB problem can
have an Fptas.
2.6
Why do NP-complete problems have different approximability?
Formally an NP problem must be a decision problem. In order to define an
NPO problem as an NP problem one has to introduce a bound on the objective
function.
Given an NPO problem F = (IF , SF , mF , optF ), the corresponding decision problem F d = (IF , SF , mF , optF , KF ) is to decide, for an input x ∈ IF ,
whether there is a solution y ∈ SF (x) such that mF (x, y) ≥ KF if optF = max
and mF (x, y) ≤ KF if optF = min.
Since all NPO problems can be written as decision problems and since all
NP-complete problems are reducible to each other one could suspect that all
NPO problems should have the same approximability. For several reasons this
is not the case.
Firstly, an NP reduction between two NPO problems F and G (or strictly
speaking between the decision problem version of two NPO problems) rarely
preserves the objective function.
Secondly, even if the objective function of F transforms into the objective
function of G, it might not be in a way that preserves the approximability.
Consider for example the problems of finding a maximum size independent set
of nodes and a minimum size node cover of an undirected graph V, E (see the
definitions of the problems in Appendix B). A subset of V is independent if
and only if its complement is a node cover. Thus, there is a node cover of size
Section 2.6. Why do NP-complete problems have different approximability? 13
σ if and only if there is an independent set of size |V | − σ. It is equally hard to
find a solution to Max Ind Set with absolute error e and to find a solution
to Min Node Cover with absolute error e, but it is much harder to find a
solution to Max Ind Set with relative error ε than to find a solution to Min
Node Cover with the same relative error.
The nodes of a maximal matching of the graph always form a node cover
of at most twice the optimal size, whereas no algorithm approximating the
independent set exists, provided that P = NP.
Here we have two optimization problems which in a way are the same,
but have different approximability due to the definition of relative error. In
this specific case we are lucky, because we will get better results if we use the
normalized relative error instead of the ordinary relative error, but generally
we cannot hope for this.
Let F =Max Ind Set, G=Min Node Cover, x = V, E ∈ IF = IG ,
y ∈ SF (x), ȳ = V − y, worstF (V, E) = 0 and worstG (V, E) = |V |. Now the
normalized relative errors are
EFn (x, y) =
and
n
(x, ȳ) =
EG
=
optF (x) − mF (x, y)
|optF (x) − mF (x, y)|
=
|optF (x) − worstF (x)|
optF (x)
mG (x, ȳ) − optG (x)
|optG (x) − mG (x, ȳ)|
=
=
|optG (x) − worstG (x)|
worstG (x) − optG (x)
optF (x) − mF (x, y)
(|V | − mF (x, y)) − (|V | − optF (x))
=
.
|V | − (|V | − optF (x))
optF (x)
n
Thus EFn (x, y) = EG
(x, ȳ).
Chapter 3
Reductions
3.1
Reductions preserving approximability
In Section 2.6 we saw that the NP-complete problems do not share the same
approximability. If we use an ordinary NP-reduction to reduce one optimization problem to another the approximation properties will in general not be
preserved.
In order to be able to speak about completeness of classes of optimization problems with respect to approximation we have to introduce some kind
of stronger reduction between such problems. The reduction must preserve
approximability in some way.
As we have seen earlier there are many measures of approximability and
therefore there are many kinds of reductions. Various authors have proposed
several more or less different conditions on what an approximation preserving
reduction should look like. Most of them are based on the following idea.
An approximation preserving reduction f from an optimization problem F
to an optimization problem G must be able to transform each instance of the
F problem to an instance of G. Furthermore, we must be able to transform
each solution of this instance of G to a solution of the original instance.
Thus, if we have an approximation algorithm A for G we can use it to get an
approximation algorithm for F . Suppose we have an instance x of F . Use the
first transformation t1 to transform x to an instance t1 (x) of G. Then use the
approximation algorithm A to get an approximate solution y to t1 (x). Finally
transform y to a solution t2 (y) of the original problem. See Figure 3.1 for an
illustration of this.
The main point of interest is how good this solution t2 (y) is compared to
the optimal solution which has value optF (x). This depends obviously both on
the algorithm A and the reduction f .
Let us look at the most common approximation preserving reductions. In
the rest of the thesis we will mainly use the reencoding, the L-reduction, the Preduction and the parameter dependent S-reduction. We will start by presenting the strongest reduction, the reduction between two optimization problems
which are so similar that they can easily be reencoded into each other.
14
Section 3.2. Reencoding of optimization problems 15
IF
x
t1
IG
t1 (x)
A
A
SF (x)
SG (t1 (x))
t2 (y)
t2
y
Figure 3.1: The new approximation algorithm A corresponding to the reduction
f = (t1 , t2 ) and the approximation algorithm A.
3.2
Reencoding of optimization problems
What is a legal reencoding of a problem instance? First of all the reencoding
must be fast (polynomial time), invertible and the optimum should be preserved. Furthermore a solution (exact or approximate) to an instance should
have a unique corresponding solution to the corresponding instance with the
same value of the objective function.
Thus an optimal solution to the reencoded problem gives an optimal solution
to the original problem with the same value and a solution with relative error
ε gives a solution of the original problem with the same relative error. The
same result holds for the normalized relative error, the performance ratio and
the absolute error.
Definition 3.1 Given two NPO problems F and G (both maximization problems or both minimization problems), a reencoding of F to G is a pair f =
(t1 , t2 ) such that
i) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (x, y) ∈ SF (x)
ii) t1 is an invertible function and t2 is invertible for all fixed x ∈ IF . Both
t1 , t2 and their inverses should be polynomial time computable.
iii) ∀x ∈ IF and ∀y ∈ SG (t1 (x)), mF (x, t2 (x, y)) = mG (t1 (x), y).
If there is a reencoding from F to G we write F ≡p G.
Proposition 3.1 If F ≡p G and G ≡p H then F ≡p H. If F ≡p G then
G ≡p F .
Example 3.1 Let F = Max Clique (the problem of finding the largest set
of nodes in a graph where each pair of nodes is connected) and G = Max Ind
Set (the problem of finding the largest set of nodes in a graph where no pair
of nodes is connected).
16
Chapter 3. Reductions
Since a clique of size k in a graph corresponds to an independent set of size
k in the complement graph and vice versa, f = (t1 , t2 ) defined as follows is a
reencoding of F to G.
Let t1 transform an input graph to its complement and let t2 be the identity
function. These functions are obviously invertible and both the functions and
their inverses are polynomial time computable.
3.3
Strict reduction
The following reduction, introduced by Orponen and Mannila, is applicable to
every measure of approximation. It completely preserves the approximability
with respect to the measure of approximation.
Definition 3.2 [83] Given two NPO problems F and G, a strict reduction
from F to G with respect to a measure E of approximation quality is a pair
f = (t1 , t2 ) such that
i) t1 , t2 are polynomial time computable functions.
ii) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (x, y) ∈ SF (x).
iii) ∀x ∈ IF and ∀y ∈ SG (t1 (x)), EF (x, t2 (x, y)) ≤ EG (t1 (x), y).
If there is a strict reduction from F to G we write F ≤ps G and if at the same
time F ≤ps G and G ≤ps F we write F ≡ps G.
Proposition 3.2 (Orponen and Mannila [83])
Given three NPO problems F , G and H. If F ≤ps G and G ≤ps H then F ≤ps H.
3.4
Relative error preserving reductions
Reductions which preserve the relative error in some way are the most commonly used. We shall here present five types of reductions which preserve
the relative error to different extent. The definitions of the A-reduction, Preduction, R-reduction and F-reduction are very similar. The reductions are
approximation preserving, Ptas-preserving, Rptas-preserving and Fptas-preserving respectively, see Chapter 4. The fifth reduction, the L-reduction, is
often most practical to use to show that a problem is as hard to approximate
as another. If there is an L-reduction between two problems there is also a Preduction, and if there is a P-reduction between two problems there is also an
A-reduction. Unfortunately there is no such relation between the F-reduction
and for example the P-reduction as we will see.
3.4.1
A-reduction
Definition 3.3 Given two NPO problems F and G, an A-reduction (approximation preserving reduction) from F to G is a triple f = (t1 , t2 , c) such that
Section 3.4. Relative error preserving reductions 17
i) t1 , t2 are polynomial time computable functions and c : QG → QF where
+
Q ∩ (0, 1) if optx = max,
Qx =
Q+
if optx = min.
is a computable function.
ii) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (x, y) ∈ SF (x).
r
iii) ∀x ∈ IF and ∀y ∈ SG (t1 (x)), EG
(t1 (x), y) ≤ ε ⇒ EFr (x, t2 (x, y)) ≤ c(ε).
If F A-reduces to G we write F ≤pA G and if at the same time F ≤pA G and
G ≤pA F we write F ≡pA G.
Proposition 3.3 (Orponen and Mannila [83])
Given two NPO problems F and G, if F ≤pA G and G has a bounded approximation, then so does F .
This proposition says that the A-reduction preserves bounded approximation. The A-reduction was called bounded reduction by Orponen and Mannila
[83].
3.4.2
P-reduction
Definition 3.4 Given two NPO problems F and G, a P-reduction (Ptas preserving reduction) from F to G is a triple f = (t1 , t2 , c) such that
i) t1 , t2 are polynomial time computable functions and c : QF → QG is a
computable function.
ii) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (x, y) ∈ SF (x).
r
iii) ∀x ∈ IF and ∀y ∈ SG (t1 (x)), EG
(t1 (x), y) ≤ c(ε) ⇒ EFr (x, t2 (x, y)) ≤ ε.
If F P-reduces to G we write F ≤pP G and if at the same time F ≤pP G and
G ≤pP F we write F ≡pP G.
Proposition 3.4 (Orponen and Mannila [83])
Given two NPO problems F and G, if F ≤pP G and G has a Ptas, then so
does F .
Proof AF (x, ε) is a Ptas for F if ∀ε∀x ∈ IF , EFr (x, AF (x, ε)) ≤ ε. Let
AF (x, ε) = t2 (x, AG (t1 (x), c(ε))). This is a polynomial time algorithm which,
by condition iii), approximates x with relative error at most ε. ✷
The P-reduction has been used by e.g. Crescenzi, Panconesi and Ranjan
[24, 84]. The same reduction was called continuous reduction by Orponen and
Mannila [83].
18
Chapter 3. Reductions
Proposition 3.5 A reduction which is a P-reduction is at the same time an
A-reduction (with the same functions t1 and t2 and another function c). If the
c-function in an A- or P-reduction is of the form c(ε) = k · ε, for some constant
k, the reduction is both an A-reduction and a P-reduction. If the c-function in
an A- or P-reduction is c(ε) = ε, the reduction is a strict reduction with respect
to the relative error E r .
The proof is trivial.
3.4.3
R-reduction
The R-reduction is a seldom used randomized variant of the P-reduction. In
this thesis it will only be used in Section 4.11 to show that the maximum
independent set is hard to approximate. See Section 4.5 for a definition of
Rptas.
Definition 3.5 [12] Given two NPO problems F and G, an R-reduction (an
Rptas preserving reduction) from F to G is a tuple f = (t1 , t2 , c, p) such that
i) t1 , t2 are random polynomial time computable functions, p is a real constant between zero and one, and c : QF → QG is a computable function.
ii) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (x, y) ∈ SF (x).
r
(t1 (x), y) ≤ c(ε) ⇒ EFr (x, t2 (x, y)) ≤ ε
iii) ∀x ∈ IF and ∀y ∈ SG (t1 (x)), EG
with probability at least p.
If F R-reduces to G we write F ≤pR G and if at the same time F ≤pR G and
G ≤pR F we write F ≡pR G.
Thus every P-reduction is also an R-reduction with the probability constant
p = 1.
Proposition 3.6 Given two NPO problems F and G, if F ≤pR G and G has
an Rptas, then so does F .
The proof is similar to that of Proposition 3.4.
3.4.4
L-reduction
The L-reduction was introduced in 1988 by Papadimitriou and Yannakakis
in order to prove completeness in the classes Max NP and Max SNP, see
Section 4.10.
Definition 3.6 [88] Given two NPO problems F and G, an L-reduction (linear
reduction) from F to G is a tuple f = (t1 , t2 , α, β) such that
i) t1 , t2 are polynomial time computable functions and α and β are positive
constants.
ii) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (x, y) ∈ SF (x).
Section 3.4. Relative error preserving reductions 19
iii) optG (t1 (x)) ≤ α · optF (x),
iv) ∀x ∈ IF and ∀y ∈ SG (t1 (x)),
|optF (x) − mF (x, t2 (x, y))| ≤ β |optG (t1 (x)) − mG (t1 (x), y)| .
If F L-reduces to G we write F ≤pL G and if at the same time F ≤pL G and
G ≤pL F we write F ≡pL G.
Sometimes when mentioning the transformation f we will actually refer to the
function t1 .
Proposition 3.7 (Papadimitriou and Yannakakis [88])
If F L-reduces to G with constants α and β and there is a polynomial time
approximation algorithm for G with worst-case relative error ε, then there is a
polynomial time approximation algorithm for F with worst-case relative error
αβε.
Proof ∀x ∈ IF and ∀y ∈ SG (t1 (x)) we have
EFr (x, t2 (x, y)) =
≤
|optF (x) − mF (x, t2 (x, y))|
≤
optF (x)
β |optG (t1 (x)) − mG (t1 (x), y)|
r
= αβ · EG
(t1 (x), y)
optG (t1 (x))/α
r
(t1 (x), y) ≤ ε implies that EFr (x, t2 (x, y)) ≤ αβε.
and EG
✷
Proposition 3.8 A reduction which is an L-reduction is at the same time
both an A-reduction and a P-reduction. An L-reduction with αβ = 1 is a strict
reduction with respect to the relative error E r .
Proof Follows immediately from Proposition 3.5 and Proposition 3.7.
✷
It is often easier to show that a reduction is an L-reduction than a Preduction. Therefore, instead of directly showing that a reduction is a Preduction, we will often show that it is an L-reduction and use Proposition 3.8
to see that there is a P-reduction.
3.4.5
F-reduction
Definition 3.7 [24] Given two NPO problems F and G, an F-reduction (that
is an Fptas preserving reduction) from F to G is a triple f = (t1 , t2 , c) such
that
i) t1 , t2 are polynomial time computable functions and c : QF × IF → QG .
ii) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (x, y) ∈ SF (x).
20
Chapter 3. Reductions
iii) ∀x ∈ IF and ∀y ∈ SG (t1 (x)),
r
(t1 (x), y) ≤ c(ε, x) ⇒ EFr (x, t2 (x, y)) ≤ ε.
EG
iv) The time complexity of c is p1 (1/ε, |x|) where p1 is a polynomial.
v) ∀x ∈ IF , c(ε, x) ≤ 1/p2 (1/ε, |x|) where p2 is a polynomial.
If F F-reduces to G we write F ≤pF G and if at the same time F ≤pF G and
G ≤pF F we write F ≡pF G.
Proposition 3.9 (Crescenzi and Panconesi [24])
Given two NPO problems F and G, if F ≤pF G and G has a Fptas, then so
does F .
Proposition 3.10 (Crescenzi and Panconesi [24])
An F-reduction is not definable as a P-reduction with some additional constraint.
The reason for this is that the function c in the definition of the P-reduction
must be independent of |x| but in the definition of the F-reduction c can be
polynomially dependent on |x|. A surprising fact shown by Crescenzi and Panconesi is that every problem which can be approximated within some constant
can be F-reduced to a problem which has a Ptas [24]. Thus F ≤pF G and G
has a Ptas ⇒ F has a Ptas. See Section 4.6.
3.4.6
Transitivity
All relative error preserving reductions defined in this section are transitive.
Proposition 3.11 ([12, 24, 83, 88])
Given three NPO problems F , G and H.
If F
If F
If F
If F
If F
3.5
≤pA G
≤pP G
≤pR G
≤pL G
≤pF G
and
and
and
and
and
G ≤pA
G ≤pP
G ≤pR
G ≤pL
G ≤pF
H
H
H
H
H
then
then
then
then
then
F
F
F
F
F
≤pA H.
≤pP H.
≤pR H.
≤pL H.
≤pF H.
Ratio preserving reduction
In this chapter we have seen a lot of definitions of reduction which preserve
the relative error. Now we will switch to another type of reduction, introduced
by Simon in 1990, which preserves the performance ratio. Recall from Definition 2.7 that the performance ratio of a solution y to an instance x of a problem
F is
optF (x)/mF (x, y) if optF = max,
RF (x, y) =
mF (x, y)/optF (x) if optF = min.
where x ∈ IF and y ∈ SF (x).
Section 3.5. Ratio preserving reduction 21
Definition 3.8 Given two NPO problems F and G (either two maximization
problems or two minimization problems) and two problem instances x ∈ IF
and x ∈ IG , a mapping γ from SF (x) to SG (x ) is called a-bounded if for all
y ∈ S(x)
1
· mF (x, y)
a
mG (x , γ(y)) ≤ a · mF (x, y)
mG (x , γ(y)) ≥
if optF = optG = max,
if optF = optG = min.
Definition 3.9 Given two NPO problems F and G (either two maximization problems or two minimization problems), a ratio preserving reduction with
expansion c2 c3 from F to G is a tuple f = (t1 , t2 , t3 , c2 , c3 ) such that
i) t1 , t2 are polynomial time computable functions.
ii) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (t1 (x), y) ∈ SF (x).
iii) ∀x ∈ IF and ∀y ∈ SF (x), t3 (x, y) ∈ SG (t1 (x)).
iv) For each x ∈ IF , t2 is c2 -bounded and t3 is c3 -bounded.
If f is a ratio preserving reduction with expansion c2 c3 from F to G we write
F ≤cr2 c3 G and if at the same time F ≤1r G and G ≤1r F we write F ≡pr G.
The definition is due to Simon [101], but he calls the reduction an absolute
continuous reduction, which could be confused with Orponen’s and Mannila’s
continuous reduction, see Section 3.4.2. The following propositions motivate
why we have introduced the name ratio preserving reduction.
Proposition 3.12 (Simon [101])
If f = (t1 , t2 , t3 , c2 , c3 ) is a ratio preserving reduction from F to G, x ∈ IF and
y ∈ SG (t1 (x)), then RF (x, t2 (x, y)) ≤ c2 c3 · RG (t1 (x), y).
Proposition 3.13 (Simon [101])
If f = (t1 , t2 , t3 , c2 , c3 ) is a ratio preserving reduction from F to G, then
R[F ]≤ c2 c3 ·R[G].
Thus the product c2 c3 controls the expansion of the reduction, that is, how
much larger the performance ratio will be in the worst case.
Proposition 3.14 (Simon [101])
If F , G and H are either three maximization problems or three minimization
problems and if f = (t1 , t2 , t3 , c2 , c3 ) is a ratio preserving reduction from F to
G and g = (t4 , t5 , t6 , c5 , c6 ) is a ratio preserving reduction from G to H, then
there is a ratio preserving reduction from F to H with expansion c2 c3 c5 c6 .
Proposition 3.15 A ratio preserving reduction f = (t1 , t2 , t3 , c2 , c3 ) from F
to G is an A-reduction.
22
Chapter 3. Reductions
Proof The functions t1 and t2 satisfy the requirements i) and ii).
It only remains to show that given x ∈ IF , y ∈ SG (t1 (x)) and ε > 0 there is a
r
function c(ε) such that EG
(t1 (x), y) ≤ ε ⇒ EFr (x, t2 (x, y)) ≤ c(ε).
We distinguish between the cases of minimization and maximization, and
start with supposing that F and G are minimization problems. We know that
the performance ratio expansion of f is bounded by a constant e = c2 c3 since
f is a ratio preserving reduction.
RF (x, t2 (x, y))
r
EF (x, t2 (x, y)) + 1
EFr (x, t2 (x, y))
≤
e · RG (t1 (x), y)
≤
r
e · (EG
(t1 (x), y) + 1)
≤
r
e · EG
(t1 (x), y) + e − 1
r
EG
(t1 (x), y) ≤ ε ⇒ EFr (x, t2 (x, y)) ≤ eε + e − 1.
Thus c(ε) = eε + e − 1.
Now suppose that F and G are maximization problems.
≤
RF (x, t2 (x, y))
1
1 − EFr (x, t2 (x, y))
r
1 − EG
(t1 (x), y)
≤
EFr (x, t2 (x, y))
≤
≤
e · RG (t1 (x), y)
1
e·
r (t (x), y)
1 − EG
1
r
e · (1 − EF (x, t2 (x, y)))
1 1 r
1 − + EG
(t1 (x), y)
e e
r
EG
(t1 (x), y) ≤ ε ⇒ EFr (x, t2 (x, y)) ≤ 1 + (ε − 1)/e.
Thus c(ε) = 1 + (ε − 1)/e < 1 when ε < 1. ✷
Definition 3.10 Given two NPO problems F and G (either two maximization
problems or two minimization problems), a ratio preserving reduction scheme is
a sequence of ratio preserving reductions from F to G with gradually decreasing
expansion values, such that for every constant ε > 0 some reduction in the
sequence has an expansion less than ε.
Proposition 3.16 If there is a ratio preserving reduction scheme from F to
G and G has a Ptas, then F has a Ptas.
The proof is trivial.
Proposition 3.17 Given a ratio preserving reduction f = (t1 , t2 , t3 , c2 , c3 )
from F to G with c2 c3 = 1. Then t1 is an L-reduction with α = c2 and
β = c3 if optF = optG = max and α = c3 and β = c2 if optF = optG = min.
Thus we in both cases have a strict reduction with respect to the relative error.
Section 3.5. Ratio preserving reduction 23
Proof Let x ∈ IF be an arbitrary instance of F .
First suppose that F and G are minimization problems. We know that

y ∈ SG (t1 (x)) ⇒ mF (x, t2 (t1 (x), y)) ≤ c2 · mG (t1 (x), y) ∧



∧ mG (t1 (x), y) ≥ optG (t1 (x))
z
∈
S
(x)
⇒
m
(t
(x),
t
(x,
z))
≤ c3 · mF (x, z) ∧

F
G 1
3


∧ mF (x, z) ≥ optF (x)
As seen in Definition 3.6 the requirements of the L-reduction are
i) optG (t1 (x)) ≤ α · optF (x),
ii) for every solution of t1 (x) with measure k2 we can in polynomial time
find a solution of x with measure k1 such that
|optF (x) − k1 | ≤ β |optG (t1 (x)) − k2 | .
Let z ∈ SF (x) be a minimum solution to x. Then
optF (x) = mF (x, z) ≥
1
1
· mG (t1 (x), t3 (x, z)) ≥
· optG (t1 (x)).
c3
c3
Thus the first requirement of the L-reduction is satisfied with α = c3 .
Since optF (x) ≥ c2 · optG (t1 (x)) and for y ∈ SG (t1 (x)), mF (x, t2 (t1 (x), y)) ≤
c2 · mG (t1 (x), y) we have that
|optF (x) − mF (x, t2 (t1 (x), y))| = mF (x, t2 (t1 (x), y)) − optF (x) ≤
≤ c2 · mG (t1 (x), y) − c2 · optG (t1 (x)) = c2 |optG (t1 (x)) − mG (t1 (x), y)|
and thus the second requirement of the L-reduction is satisfied with β = c2 .
Now suppose that F and G are maximization problems. We know that

1


y ∈ SG (t1 (x)) ⇒ mF (x, t2 (t1 (x), y)) ≥
· mG (t1 (x), y) ∧


c

2

∧ mG (t1 (x), y) ≤ optG (t1 (x))
1
 z ∈ S (x)

⇒ mG (t1 (x), t3 (x, z)) ≥
· mF (x, z) ∧
F


c

3

∧ mF (x, z) ≤ optF (x)
Let y ∈ SG (t1 (x)) be a maximum solution to t1 (x). Then
optG (t1 (x)) = mG (t1 (x), y) ≤ c2 · mF (x, t2 (t1 (x), y)) ≤ c2 · optF (x).
Thus the first requirement of the L-reduction is satisfied with α = c2 .
Let z ∈ SF (x) be a maximum solution to x. Then
optF (x) = mF (x, z) ≤ c3 · mG (t1 (x), t3 (x, z)) ≤ c3 · optG (t1 (x)).
Let y ∈ SG (t1 (x)).
mF (x, t2 (t1 (x), y)) ≥
1
· mG (t1 (x), y) = c3 · mG (t1 (x), y)
c2
24
Chapter 3. Reductions
The two last inequalities imply that
optF (x) − mF (x, t2 (t1 (x), y)) ≤ c3 (optG (t1 (x)) − mG (t1 (x), y))
and thus the second requirement of the L-reduction is satisfied with β = c3 .
✷
3.6
Parameter dependent reductions
The relative error preserving reductions, like the L-reduction and the P-reduction, work well when reducing to problems with bounded approximation, but
there are several problems which cannot be approximated within a constant,
unless P = NP. When analyzing approximation algorithms for such problems
one usually specifies the approximability using a one variable function where the
parameter concerns the size of the input instance. For example
the maximum
independent set problem can be approximated within O n/(log n)2 where the
parameter n is the number of nodes in the input graph. Which quantity of
the input instance to choose as the parameter depends on the problem and the
algorithm. In the example above the most relevant quantity turned out to be
the number of nodes.
When reducing between two such problems, say from F to G, the relative
error preserving reductions are not perfect. The trouble is that these reductions
may transform an input instance of F to a much larger input instance of G.
One purpose of a reduction is to be able to use an approximation algorithm for
G to construct an equally good (within a constant) approximation algorithm
for F . Because of the size amplification the constructed algorithm will not be
as good as the original algorithm.
As an example (from Section 6.2.2) we take Max Ind Set as G, some other
problem on graphs as F and transform the input graph to a graph where each
node corresponds to a pair of nodes in the input graph. Thus, if the input
graph of F contains n nodes, the input graph of G will contain O(n2 ) nodes,
so the above mentioned approximation algorithm of Max Ind Set will only
give us an algorithm approximating F within
n2
n2
O
=O
.
(log n2 )2
(log n)2
In order to tell how the approximability, when given as a function, will be
changed by a reduction, we have to specify how the size of the input instance
will be amplified. The situation is complicated by not knowing in what parameter the input instances will be measured. For graphs both the number of
nodes and the number of edges may be possible choices.
For every reduction mentioned in earlier sections in this chapter we may
add a statement with size amplification f (n) in order to specify this. If the
size amplification is O(n), i.e. if the size of the constructed structure is a
constant times the size of the original structure, we say that the reduction is
Section 3.7. Non-constructive reductions 25
without amplification. Moreover we introduce a completely new size dependent
reduction which we think is well suited for reductions between problems which
cannot be approximated within a constant.
Definition 3.11 Given two NPO problems F and G, an S-reduction with size
amplification a(n) from F to G is a tuple f = (t1 , t2 , a, c) such that
i) t1 , t2 are polynomial time computable functions, a is a monotonously
increasing positive function and c is a positive constant.
ii) t1 : IF → IG and ∀x ∈ IF and ∀y ∈ SG (t1 (x)), t2 (x, y) ∈ SF (x).
iii) ∀x ∈ IF and ∀y ∈ SG (t1 (x)), RF (x, t2 (x, y)) ≤ c · RG (t1 (x), y).
iv) ∀x ∈ IF , |t1 (x)| ≤ a(|x|).
Proposition 3.18 Given two NPO problems F and G, if F ≤pS G with size
amplification a(n) and G can be approximated within some monotonously increasing positive function u(n) of the size of the input instance, then F can be
approximated within c · u(a(n)), which is a monotonously increasing positive
function.
Proof For each x ∈ IF of size n we use the approximation function for G to
find a solution y ∈ SG (t1 (x)) so that
RF (x, t2 (x, y)) ≤ c · RG (t1 (x), y) ≤ c · u(|t1 (x)|) ≤ c · u(a(|x|)) = c · u(a(n))
because u is a monotonously increasing positive function.
✷
For constant and polylogarithmic approximable problems the S-reduction
preserves approximability within a constant for any polynomial size amplification, since c logk (np ) = pk c logk n = O(logk n). For nc approximable problems
the S-reduction preserves approximability within a constant just for size amplification O(n), since c · (O(n))c = O(nc ).
3.7
Non-constructive reductions
Two of the first reductions between optimization problems to be introduced
were the non-constructive ratio preserving reduction and the non-constructive
measure preserving reduction. They were defined in 1979 by Paz and Moran.
The reductions are called non-constructive because they don’t tell how to find
a solution, just what its objective function is.
Definition 3.12 [90] Given two NPO problems F and G (either two maximization problems or two minimization problems), a non-constructive ratio
preserving reduction from F to G is a polynomial time computable function
g : IF → IG together with two constants c1 and c2 such that 0 < c1 ≤ c2 and
∀x ∈ IF , c1 optF (x) ≤ optG (g(x)) ≤ c2 optF (x).
26
Chapter 3. Reductions
Definition 3.13 [90] Given two NPO problems F and G (either two maximization problems or two minimization problems), a non-constructive measure
preserving reduction from F to G is a polynomial time computable function
g : IF → IG such that ∀x ∈ IF , optF (x) = optG (g(x))
We can see that the non-constructive measure preserving reduction is a
non-constructive ratio preserving reduction with c1 = c2 = 1.
Suppose that A is a non-constructive approximation algorithm for G, that
is A is a polynomial time computable function A : IG → N such that ∀x ∈
IG , A (x ) ≤ optG (x ) if optG = max and A (x ) ≥ optG (x ) if optG = min.
If g is a non-constructive ratio preserving reduction from F to G, then a nonconstructive approximation algorithm A for F is an algorithm which for an
input x ∈ IF computes
A (g(x))
.
c1
Proposition 3.19 (Paz and Moran [90])
Given a non-constructive ratio preserving reduction g from F to G and a nonconstructive approximation algorithm A for G. If A approximates G within
a constant, then A (defined as above) approximates F within a constant. If
c1 = c2 = 1 (i.e. g is a non-constructive measure preserving reduction) and
A approximates G within any constant, then A approximates F within any
constant.
Thus the non-constructive ratio preserving reduction is a non-constructive
variant of the A-reduction, and the non-constructive measure preserving reduction is a non-constructive variant of the P-reduction.
3.8
Structure preserving reduction
The last reduction in this chapter, the structure preserving reduction, differs
from all the other reductions defined here because it preserves much more
information about the instances but it is not immediately applicable to approximation. The reduction was invented by Ausiello, D’Atri and Protasi in
1977.
Definition 3.14 [4] Given an NPO problem F and an input instance x ∈ IF ,
the structure of x is the list structF (x) = a0 , . . . , ac where
c = |optF (x) − worstF (x)|, ai = |{y ∈ SF (x) : i = |mF (x, y) − worstF (x)|}|.
Example 3.2 [4] Let F be the minimum set cover problem (given a number
of sets, find the minimum number of sets covering all elements) and x1 =
{S1 , S2 , S3 , S4 , S5 } where S1 = {1, 2, 3, 4}, S2 = {1, 2, 5}, S3 = {3, 4, 6}, S4 =
{5, 6, 7}, S5 = {1, 2, 3, 4, 5, 6, 7}. Now we have worstF (x1 ) = 5, optF (x1 ) =
1, structF (x1 ) = 1, 5, 9, 5, 1.
Example 3.3 [4] Let F be the minimum set cover problem and define x2 as
the family of sets {S1 , S2 , S3 , S4 } where the sets are defined as in the previous
example. In this case we have worstF (x2 ) = 4, optF (x2 ) = 2, structF (x2 ) =
1, 3, 1.
Section 3.8. Structure preserving reduction 27
Definition 3.15 [4] Given two NPO problems F and G, a structure preserving
reduction from F to G is a pair f = (t1 , t2 ) such that
i) t1 and t2 are polynomial time computable functions such that t1 : IF →
IG and t2 : IF × N → N.
ii) ∀x ∈ IF and ∀k ∈ N
(∃y ∈ SF (x) : mF (x, y) = k) ⇔
⇔ (∃y ∈ SG (t1 (x)) : mG (t1 (x), y ) = t2 (x, k))
iii) ∀x ∈ IF , structF (x) = structG (t1 (x))
If there is a structure preserving reduction from F to G we write F ≤psp G and
if at the same time F ≤psp G and G ≤psp F we write F ≡psp G.
Definition 3.16 An NPO problem F is said to be convex if for every x ∈ IF
and for every integer k between optF (x) and worstF (x) there is at least one
solution y ∈ SF (x) such that mF (y) = k.
Definition 3.17 [4] Given two NPO problems F and G, a parsimonious
reduction from F to G is a pair f = (t1 , t2 ) such that
i) t1 and t2 are polynomial time computable functions such that t1 : IF →
IG and t2 : IF × N → N.
ii) ∀x ∈ IF and ∀k ∈ N
|{y ∈ SF (x) : mF (x, y) = k}| =
= |{y ∈ SG (t1 (x)) : mG (t1 (x), y ) = t2 (x, k)}|
Definition 3.18 [4] Given two convex NPO problems F and G, a structure
preserving reduction f = (t1 , t2 ) from F to G is strictly monotonous if for every
x ∈ IF and for every pair of integers k1 and k2 between optF (x) and worstF (x)
k1 < k2 ⇒ t2 (x, k1 ) < t2 (x, k2 ).
Proposition 3.20 (Ausiello, D’Atri and Protasi [4])
Given two convex NPO problems F and G and a parsimonious reduction f =
(t1 , t2 ) from F to G such that
i) there is a function a : IF → Z such that for every x ∈ IF and for every
integer k between optF (x) and worstF (x)
a(x) + k if optF = optG ,
t2 (x, k) =
a(x) − k if optF = optG .
ii) ∀x ∈ IF , t2 (x, worstF (x)) = worstG (t1 (x))
Then f is structure preserving and strictly monotonous.
28
Chapter 3. Reductions
Proposition 3.21 (Ausiello, D’Atri and Protasi [4])
Given two convex NPO problems F and G and a structure preserving and
strictly monotonous reduction f = (t1 , t2 ) from F to G, then f is parsimonious
and satisfies the conditions of Proposition 3.20.
Proposition 3.22 (Ausiello, D’Atri and Protasi [4])
Given two convex NPO problems F and G, a structure preserving reduction
f = (t1 , t2 ) from F to G and a structure preserving reduction g = (u1 , u2 ) from
G to F such that
i) both f and g are strictly monotonous,
ii) there is a function a : IF → Z such that for every x ∈ IF and for every
integer k between optF (x) and worstF (x)
a(x) + k if optF = optG ,
t2 (x, k) =
a(x) − k if optF = optG .
iii) there is a function b : IG → Z such that for every x ∈ IG and for every
integer k between optG (x ) and worstG (x )
b(x ) + k if optF = optG ,
u2 (x , k ) =
b(x ) − k if optF = optG .
iv) ∀x ∈ IF
a(x) ≥ −b(t1 (x))
a(x) ≤ b(t1 (x))
if optF = optG ,
if optF =
optG ,
then there is a non-constructive strict reduction from F to G with respect to
the normalized relative error.
Note that conditions ii) and iii) are already satisfied since f and g are structure
preserving and strictly monotonous due to Proposition 3.21.
Chapter 4
Approximability classes
4.1
Introduction
In order to sort out how different NPO problems behave regarding approximability we introduce approximability classes, that is classes of problems which
we can approximate equally well. For example we have one class of problems
which can be approximated within a constant and another class of problems
which can be approximated within any constant.
As usual in complexity we would like to find the hardest problems in each
class, problems which have the property that every problem in the class can be
reduced to them.
Definition 4.1 Given an NPO problem F , a class C and an approximation
preserving reduction ≤.
We say that F is C-complete under the reduction ≤ if
1. F ∈ C,
2. for all G ∈ C, G ≤ F .
We say that F is C-hard under the reduction ≤ if for all G ∈ C, G ≤ F .
The P-reduction is the most common reduction in this context, so whenever
we mention completeness or hardness without specifying the type of reduction
the P-reduction is implicit.
It is also possible to define classes of problems without using approximability
behaviour explicitly. Much work has been done on classes defined by logical
formulas. Such a class contains all NPO problems which can be formulated
in the same way, for example all problems whose objective function is the
size of a set which can be specified using a first-order formula with only one
existential quantifier. For some of these classes every contained problem can
be approximated in a uniform way.
Often it is useful to look at the closure (under some reduction) of a class
defined by logical formulas. The closure is the set of problems which can be
reduced to a problem in the original class.
29
30
Chapter 4. Approximability classes
Definition 4.2 Given an approximability class C and an approximation preserving reduction ≤.
The closure of C under the reduction ≤ is
C = {F ∈ NPO : ∃G ∈ C : F ≤ G}.
In the following sections the most common approximability classes are defined and their characteristics are presented.
4.2
Fptas
An Fptas or a fully polynomial time approximation scheme was defined in
Definition 2.15 as a polynomial approximation scheme with a time complexity
bounded by a polynomial in 1/ε. Let us define the class Fptas of optimization
problems which can be approximated by a fully polynomial time approximation
scheme. For simplicity the class Fptas has the same name as the approximation
scheme Fptas. This should not create any confusion.
Definition 4.3
Fptas = {F ∈ NPO : F has an Fptas}
The property of having an Fptas is closely related to the property, introduced by Garey and Johnson, of having a pseudo-polynomial time algorithm.
A pseudo-polynomial time algorithm is an algorithm whose time complexity is
bounded by a polynomial in both the size of the input and the magnitude of
the largest number in the input.
Definition 4.4 [35] Given an NPO problem F . Let maxintF (x) denote the
magnitude of the largest integer occurring in x where x ∈ IF , or 0 if no integers
occur in x.
Definition 4.5 [35] Given an NPO problem F . An algorithm that solves F
is called a pseudo-polynomial time algorithm if its time complexity is bounded
from above by a polynomial function of the two variables maxintF (x) and |x|
where x ∈ IF .
Proposition 4.1 (Garey and Johnson [34])
Given an NPO problem F such that for each x ∈ IF , optF (x) is bounded from
above by a polynomial in both maxintF (x) and |x|. If F ∈ Fptas then it can
be solved by a pseudo-polynomial time algorithm.
This is also related to the concept of strong NP-completeness.
Definition 4.6 [35] A decision problem F ∈ NP is NP-complete in the strong
sense if there exists a polynomial p : N → N for which the problem, when
restricting to the instances x that satisfy
maxintF (x) ≤ p(|x|),
is NP-complete.
Section 4.2. Fptas
31
Many of the problems mentioned in Computers and Intractability: a guide
to the theory of NP-completeness by Garey and Johnson are NP-complete in
the strong sense [34].
Proposition 4.2 (Garey and Johnson [34])
Given an NPO problem F . If the decision problem version of F is NP-complete
in the strong sense, then F cannot be solved by a pseudo-polynomial time algorithm unless P = NP.
Thus, given an NPO problem F such that for each x ∈ IF , optF (x) is
bounded from above by a polynomial in both maxintF (x) and |x|; if the decision
problem version of F is NP-complete in the strong sense, then F ∈
/ Fptas
unless P = NP.
Paz and Moran have completely characterized the problems in Fptas using
a property called p-simpleness. The connections between p-simpleness and
NP-completeness in the strong sense are discussed in [5].
Definition 4.7 [90] An NPO problem F is p-simple if there is some polynomial q : N × N → N such that for each k ∈ N the set
{x ∈ IF : optF (x) ≤ k}
is recognizable in time q(|x| , k).
Proposition 4.3 (Paz and Moran [90])
Given an NPO problem F.
1. If F is p-simple and for all x ∈ IF , optF (x) is bounded from above by a
polynomial in |x|, then F is polynomially solvable, i.e. F ∈ PO.
2. If F is p-simple and for all x ∈ IF , optF (x) is bounded from above by
a polynomial in maxintF (x) and |x|, then F can be solved by a pseudopolynomial time algorithm.
3. If F can be solved by a pseudo-polynomial time algorithm and for all
instances x ∈ IF , maxintF (x) is bounded from above by a polynomial in
|x| and optF (x), then F is p-simple.
Proposition 4.4 (Paz and Moran [90])
Given an NPO problem F. F ∈ Fptas if and only if the following conditions
hold.
1. F is p-simple.
2. There is a function b : IF × Z+ → N and a polynomial q : N → N such
that for each instance x ∈ IF and each integer h > 0
optF (x)
− b(x, h) ≤ q(|x|) if optF = max,
h
optF (x)
≤ q(|x|) if optF = min
0 ≤ b(x, h) −
h
0≤
where b has time complexity bounded by a polynomial in |x| and
optF (x)
.
h
32
Chapter 4. Approximability classes
4.3
Ptas
A Ptas or a polynomial time approximation scheme is an algorithm that approximates an NPO problem within 1 + ε for each ε > 0. It was defined
formally in Definition 2.14. In the same way as in the preceding section we
define the class Ptas as the optimization problems which can be approximated
by a polynomial time approximation scheme.
Definition 4.8
Ptas = {F ∈ NPO : F has a Ptas}
Apparently Fptas ⊆ Ptas. There is a characterization of Ptas by Paz
and Moran which is similar to the characterization of Fptas.
Definition 4.9 [90] An NPO problem F is simple if for each k ∈ N the set
{x ∈ IF : optF (x) ≤ k}
is recognizable in time polynomial in |x| (and arbitrary in k).
Proposition 4.5 (Paz and Moran [90])
Given an NPO problem F. F ∈ Ptas if and only if the following conditions
hold.
1. F is simple.
2. There is a function b : IF × Z+ → N and a constant Q ∈ N such that for
each instance x ∈ IF and each integer h > 0
optF (x)
− b(x, h) ≤ Q
h
optF (x)
≤Q
0 ≤ b(x, h) −
h
0≤
if optF = max,
if optF = min
where b has time complexity bounded by a polynomial in both |x| and
optF (x)/h.
There exist problems which are Ptas-complete, that is problems which are
in Ptas and every problem in Ptas is reducible to them. Still no natural
optimization problem has been shown to be Ptas-complete.
Proposition 4.6 (Crescenzi and Panconesi [24])
The problem Max Weighted Sat with Small Bound is Ptas-complete
under F-reductions.
Maximum weighted satisfiability with small bound is a variant of the weighted
maximum satisfiability problem. Given a boolean formula F over the variables U , non-negative integer weights w(u) on the variables and a non-negative
integer bound B such that
1
w(u) ≤ 1 +
B.
|U | − 1
u∈U
Section 4.4. Fptas∞ and Ptas∞
33
The problem is to find a truth assignment t : U → {true, false} that maximizes the function which takes the value B when F is not satisfied and
w(u)
u:t(u)=true
otherwise.
4.4
Fptas∞ and Ptas∞
Suppose we are given a set of items with integer sizes and an unbounded number
of bins of some fixed size c. We would like to pack all the items in as few bins
as possible. This is the bin packing problem, which has been rigorously studied
under many years, see [22] for a survey.
It is easy to show (using the NP-complete problem Partition) that it
is NP-complete to decide whether two bins are enough. Therefore Min Bin
Packing cannot be approximated better than within 3/2, supposing that P =
NP, and certainly Min Bin Packing ∈
/ Ptas.
However Karmarkar and Karp have shown that there is an algorithm which
approximates Min Bin Packing within 1 + ε in time polynomial in 1/ε where
ε = O(log2 (opt(U, c, s))/opt(U, c, s)) [56]. Thus there almost is an Fptas
for the problem. The best asymptotic performance ratio for the problem is
one and it has asymptotically an Fptas. We say that Min Bin Packing ∈
Fptas∞ .
Definition 4.10 Fptas∞ is the set of NPO problems F such that there exists
an approximation algorithm that takes as input both an instance x ∈ IF and
a constant ε > 0, and then, in time polynomial in both 1/ε and the length of
x, outputs a solution which approximates F asymptotically within 1 + ε.
In the same way we can define an asymptotical version of Ptas.
Definition 4.11
Ptas∞ = {F ∈ NPO : R∞ [F] = 1}
Several problems on planar graphs can be placed in Ptas∞ using Lipton’s
and Tarjan’s planar separator theorem, see Section 8.2.
4.5
Rptas
The Ptas class can be extended somewhat by introducing randomization. This
leads to the class Rptas consisting of the problems which can be approximated
by a randomized polynomial approximation scheme, that is a scheme which for
each ε > 0 approximates a problem within 1+ε with some constant probability.
Definition 4.12
Rptas = {F ∈ NPO : F has a randomized Ptas}
34
Chapter 4. Approximability classes
Apparently Ptas ⊆ Rptas. This class is used very little in the literature.
The most interesting result is by Berman and Schnitger [12] and says that if any
Max SNP-complete problem (see Section 4.10) is not in Rptas, then there is
a constant c > 0 such that the maximum independent set problem cannot be
approximated within nc , where n is the number of nodes in the input graph,
see Section 4.11.
4.6
Apx
The next class is very important: the class of problems which have bounded
approximation, that is which can be approximated within a constant. Here are
some famous examples of such problems.
1. Maximum satisfiability (Max Sat): given a set of disjunctive clauses,
find the truth assignment that satisfies the largest number of clauses.
Max Sat can be approximated within the constant 4/3 [110].
2. Maximum three-set packing (Max 3SP): given a collection of sets of size
three, find the largest number of pairwise disjunctive sets. Max 3SP can
be approximated within the constant 3 [52].
3. Euclidean travelling salesperson problem (Min ETsp): given a set of
points in the plane, find the shortest tour which visits all the points. Min
ETsp can be approximated within 3/2 [21].
Definition 4.13
Apx = {F ∈ NPO : ∃c ≥ 1 such that F can be approximated within c}
Equivalently we can define Apx as the union of the set of minimization problems which can be approximated within a constant relative error and the set of
maximization problems which can be approximated within a constant relative
error less than 1.
Obviously Ptas ⊆ Apx.
Proposition 4.7 (Crescenzi and Panconesi [24])
The problem Max Weighted Sat with Bound is Apx-complete under Preductions.
Max Weighted Sat with Bound is the same problem as Max Weighted
Sat with Small Bound but with the more generous condition on B that
w(u) ≤ 2 B.
u∈U
A startling result by Crescenzi and Panconesi is that every problem in Apx
can be F-reduced to a problem which is Ptas-complete under F-reductions
[24], in other terms: Apx ⊆ Ptas under F-reductions. The reason for this is
that the F-reduction is not a P-reduction with some additional constraint, see
Proposition 3.10.
Section 4.7. NPO 35
4.7
NPO
The class NPO is the largest class that we will treat in this thesis. It contains
every optimization problem which can be solved in nondeterministic polynomial
time. If P = NP every NPO problem can be solved in polynomial time and
we have no need for polynomial approximations.
We have that PO ⊆ Fptas ⊆ Ptas ⊆ Apx ⊆ NPO.
Proposition 4.8 (Orponen and Mannila [83])
The following problems are NPO-complete under strict reductions with respect
to any cost-respecting measure of approximation quality. For example they are
NPO-complete under P-reductions and A-reductions.
• Minimum weighted 3-satisfiability (Min Weighted 3Sat):
given a
boolean formula F in 3CNF with non-negative integer weights w(u) on
the variables; find a truth assignment t : U → {true, false} that satisfies
F and minimizes
w(u).
u:t(u)=true
• Travelling salesperson problem (Min Tsp): given a complete graph G
with non-negative integer weights s(e) on the edges; find a tour C in G
that minimizes
s(e).
e∈C
• Minimum 0 − 1 programming (Min 0 − 1 Programming): given an
integer m × n-matrix A, integer m-vector b and a non-negative integer
n-vector c; find a zero-one n-vector x that satisfies Ax ≥ b and minimizes
cT x.
4.8
NPO problems with polynomially bounded
optimum
NPO PB is the class of problems in NPO whose solution is bounded from
above by a polynomial in the size of the input, see Definition 2.16.
Definition 4.14 For every class C ⊆ NPO we define C PB to be the problems
in C which have polynomially bounded optimum, that is
C PB = C ∩ NPO PB.
It is obvious that PO PB ⊆ Fptas PB ⊆ Ptas PB ⊆ Apx PB ⊆ NPO PB.
Proposition 4.9 Fptas PB ⊆ PO PB.
36
Chapter 4. Approximability classes
Proof F ∈ Fptas PB ⇒ ∃ algorithm A(x, ε), polynomial p(|x| , 1/ε) such
that the time complexity of A is p(|x| , 1/ε), A approximates F within 1 + ε
and there is a polynomial
q(|x|)
such that optF (x) ≤ q(|x|).
1
Compute A x,
which approximates F within 1+1/(q(|x|)+1).
q(|x|) + 1
The time for this is p(|x| , q(|x|) + 1), i.e. polynomial time.
Let s = mF (x, A(x, 1/(q(|x|) + 1))). First suppose that optF = max. Then
0 < s ≤ optF (x) ≤ q(|x|).
optF (x)
1
s
≤1+
⇔ s ≥ optF (x) −
> optF (x) − 1
s
q(|x|) + 1
q(|x|) + 1
Thus optF (x) − 1 < s ≤ optF (x) ⇒ s = optF (x) because s is an integer.
If optF = min then 0 < optF (x) ≤ s and optF (x) ≤ q(|x|).
s
optF (x)
≤1+
1
optF (x)
⇔ s ≤ optF (x) +
< optF (x) + 1
q(|x|) + 1
q(|x|) + 1
Thus optF (x) ≤ s < optF (x) + 1 ⇒ s = optF (x).
In both cases we found an optimal solution in polynomial time.
✷
Proposition 4.10 (Berman and Schnitger [12])
For every NPO PB-complete problem there is an ε > 0 such that the problem
cannot be approximated within O(nε ), unless P = NP.
Observe that the result above applies to NPO-complete problems as well.
Proposition 4.11 (Berman and Schnitger [12])
The following problems are NPO PB-complete under P-reductions.
• Longest induced path in a graph: given a graph G, find the largest subset
of nodes for which the induced subgraph is a simple path.
• Longest path with forbidden pairs: given a graph G and a collection P of
pairs of nodes; find the longest simple path in G containing at most one
node from each pair in P .
• Maximum bounded 0 − 1 programming: given an integer m× n-matrix A,
an integer m-vector b and a zero-one integer n-vector c; find a zero-one
n-vector x that satisfies Ax ≤ b and maximizes cT x.
There are more examples of NPO PB-complete problems in Chapter 8.
The class NPO PB is the same as the class Krentel called OptP[log n] [63].
He also defined completeness in this class, but under a reduction which does
not preserve approximability. Therefore the OptP[log n]-complete problems
under his reduction are different from the NPO PB-complete problems under
P-reductions.
Section 4.9. The existence of intermediate degrees 37
4.9
The existence of intermediate degrees
Are there problems between Apx and the NPO-complete problems, that is
problems which are not in Apx and are not NPO-complete? The following
proposition answers this question affirmative.
Proposition 4.12 (Crescenzi and Panconesi [24])
If P = NP there is an NPO problem F such that F ∈
/ Apx, F is not NPOcomplete and F is Apx-hard under P-reductions.
Proposition 4.13 (Crescenzi and Panconesi [24])
If P = NP there is an NPO problem F such that F ∈
/ Apx, F is not NPOcomplete and F is not Apx-hard under P-reductions.
Thus there are intuitively strange problems which are strong enough to be
not approximable within a constant, but not strong enough to represent all
problems which are approximable within a constant.
4.10
Classes defined by logical formulas
An alternative, logical characterization of NP was made by Fagin in 1974 [29].
It is interesting since it is the only definition which does not involve computation. As an example we shall show that Sat ∈ NP using this characterization.
Example 4.1 Given a number of disjunctive clauses the Sat problem is to
determine if there is a truth assignment that satisfies all clauses. Let the input
be given as two predicates P and N where P (x, c) = true iff variable x appears
positive in clause c and N (x, c) = true iff variable x appears negated in clause
c. The clauses can be satisfied if and only if
∃T ∀c∃x(P (x, c) ∧ x ∈ T ) ∨ (N (x, c) ∧ x ∈
/ T ).
T shall be interpreted as the set of true variables.
In general, a language L is in NP if and only if there is a quantifier free
first-order formula ΦL such that
I ∈ L ⇔ ∃S ∀x∃yΦL (I, S, x, y)
where I is a finite structure describing the instance, S is a finite structure, x
and y are finite vectors.
This formalism was used by Papadimitriou and Yannakakis in 1988 to define
two classes of NPO problems: Max NP (maximization NP) and Max SNP
(maximization strict NP) [88].
Later Panconesi and Ranjan introduced the class Max Π1 [84] and recently
Kolaitis and Thakur completed the picture with four class hierarchies Max Πi ,
Max Σi , Min Πi and Min Σi [61, 60]. All these classes will be presented later
in this section.
The definitions of Max NP and Max SNP have been interpreted differently
by different authors. In this theses the notations Max NP and Max SNP
38
Chapter 4. Approximability classes
will be used for the classes as Papadimitriou and Yannakakis intended them
to be, and Syntactic Max NP and Syntactic Max SNP will be used
for the plainly syntactically defined classes used by for example Kolaitis and
Thakur [61, 60] and by Panconesi and Ranjan [84]. Syntactic Max SNP and
Syntactic Max NP are included in the hierarchies as Max Σ0 and Max Σ1
respectively.
Only some of these syntactically defined classes seem to capture approximation properties. However, the value of classifying problems using logical
definability can be discussed because the same problem may or may not be
included in a class depending on how it is encoded. Therefore we, in Section 4.10.5, propose new definitions of Max SNP and Max NP where we
allow different encodings.
4.10.1
Syntactic Max NP
Definition 4.15 Syntactic Max NP is the class of NPO problems F which
can be written in the form
optF (I) = max |{x : ∃y ΦF (I, S, x, y)}|
S
where ΦF is a quantifier free formula, I an instance of F described as a finite
structure and S a solution described as a finite structure.
Example 4.2 Show that the problem Max Sat ∈ Syntactic Max NP.
Max Sat is the problem of, given a boolean formula in CNF, finding a truth
assignment that satisfies the maximum number of clauses. Let the instance
I = P, N where P (x, c) is true when the variable x appears positive in clause
c and N (x, c) is true when x appears negated in c. Let S be the set of true
variables. Now the optimum value can be written
/T opt(P, N ) = max c : ∃x P (x, c) ∧ x ∈ T ∨ N (x, c) ∧ x ∈
T
Compare this with how we showed that Sat ∈ NP in Example 4.1. A main
reason for introducing Syntactic Max NP was the following result.
Proposition 4.14 (Papadimitriou and Yannakakis [88])
Every problem in Syntactic Max NP can be approximated within a constant,
that is Syntactic Max NP ⊆ Apx.
Proposition 4.15 (Kolaitis and Thakur [61])
The size of the optimum solution of any problem in Syntactic Max NP is
bounded above by a polynomial, that is Syntactic Max NP ⊆ NPO PB.
Proposition 4.14 and 4.15 thus say that Syntactic Max NP ⊆ Apx PB.
Proposition 4.16 (Papadimitriou and Yannakakis [88])
Every problem in Syntactic Max NP can be P-reduced to maximum generalized k-satisfiability (Max G kSat) for some k. Max G kSat is similar to
Section 4.10. Classes defined by logical formulas 39
Max Sat but each clause is a disjunction of conjunctions, where each conjunction contains at most k literals. Max G kSat ∈ Syntactic Max NP for
every k ∈ Z+ . Thus there is a k such that Max G kSat is Syntactic Max
NP-complete.
Proposition 4.17 (Crescenzi, Fiorini and Silvestri [23])
Every problem in Syntactic Max NP can be reduced to Max Clique using
a strict reduction with respect to E r . Thus Max Clique is Syntactic Max
NP-hard.
Max Clique is Syntactic Max NP-hard but not Syntactic Max NPcomplete since one can show that the problem is not contained in Syntactic
Max NP.
Theorem 4.18 (Panconesi and Ranjan [84])
a) Max Clique is not in Syntactic Max NP.
b) Max 3SP (maximum three-set packing) is not in Syntactic Max NP.
c) Max 3DM (maximum three dimensional matching) is not in Syntactic
Max NP.
d) Max 2DM (maximum bipartite matching) is not in Syntactic Max
NP.
Proof The proofs are similar. Here follows Panconesi’s and Ranjan’s proof
of c).
Assume to the contrary that Max 3DM ∈ Syntactic Max NP. Then
there exists a formula ϕ such that for all instances I of the problem
opt3DM (I) = max |{x | ∃y ϕ(I, S, x, y)}| .
S
Consider an instance I1 = {T1 , . . . , Tn } such that opt3DM (I1 ) = n. Given
Ti = (ai , bi , ci ) and Tj = (aj , bj , cj ), we say that they are compatible if ai =
aj ∧ bi = bj ∧ ci = cj . I1 is a set of n mutually compatible 3-tuples.
From our contradictory assumption we have that there is S1 such that
opt3DM (I1 ) = |{x | ∃y ϕ(I1 , S1 , x, y)}| = n.
Let x1 , . . . , xn be the tuples satisfying the above formula. Take x1 and suppose, without loss of generality, that it contains a1 , i.e. x1 = (a1 , u2 , . . . , uk ).
We now construct another instance I2 by simply replacing a1 with a brand
new element a0 . Let I2 = {T0 , T2 , . . . , Tn } where T0 = (a0 , b1 , c1 ). I2 is made
of the same tuples as I1 except the first, T0 . T0 and T1 only differ for the
first component. We choose a0 so that I2 is made of n mutually compatible
tuples. Now define S2 to be the same set as S1 provided any occurrence of a1
is replaced by an occurrence of a0 , and define z i to be the same tuple as xi
provided the same substitution takes place. Then |{z | ∃y ϕ(I2 , S2 , z, y)}| = n.
40
Chapter 4. Approximability classes
If we now consider the new instance Inew = I1 ∪I2 and define Snew = S1 ∪S2 ,
we have that opt3DM (Inew ) = n but
max |{w | ∃y ϕ(Inew , S, w, y)}| ≥ |{w | ∃y ϕ(Inew , Snew , w, y)}| ≥ n + 1
S
because |{x1 , . . . , xn } ∪ {z 1 , . . . , z n }| ≥ n + 1.
Here we have used the general principle
A |= ∃xφ(x) ∧ A ⊆ B ⇒ B |= ∃xφ(x)
where φ(x) is a quantifier-free first-order formula and A ⊆ B means that A is
a submodel of B. ✷
The same proof may be applied to the corresponding bounded problems as
well, though this was not noticed by the original authors.
Theorem 4.19
a) Max Clique −B (Maximum clique in a graph with bounded degree) is
not in Syntactic Max NP.
b) Max 3SP −B (maximum bounded three-set packing) is not in Syntactic Max NP.
c) Max 3DM −B (maximum bounded three dimensional matching) is not
in Syntactic Max NP.
Corollary 4.20 Syntactic Max NP does not contain PO PB.
Proof The problems Max Clique −B and Max 2DM are not in Syntactic
Max NP but are in PO PB.
✷
Thus Syntactic Max NP is a class that contains optimization problems
which can be defined by the same type of formulas and can be approximated
within a constant, but it is not entirely satisfactory that there are problems
which can be solved in polynomial time which are not included in the class.
Later we will see that the closure of Syntactic Max NP under P-reductions
does contain PO PB.
4.10.2
Syntactic Max SNP
Papadimitriou and Yannakakis also defined a subclass Syntactic Max SNP
(strict NP) of Syntactic Max NP using the same definition without the
existence quantifier.
Definition 4.16 Syntactic Max SNP is the class of NPO problems F
which can be written in the form
optF (I) = max |{x : ΦF (I, S, x)}|
S
where ΦF is a quantifier free formula, I an instance of F described as a finite
structure and S a solution described as a finite structure.
Section 4.10. Classes defined by logical formulas 41
Example 4.3 Show that the problem Max 3Sat, which is the same problem
as Max Sat with at most three literals in each clause, is in Syntactic Max
SNP. Suppose that each clause is unique.
Encode the input instance as four relations C0 , C1 , C2 , C3 where Ci contains
all clauses with exactly i negative literals. Let c = (x1 , x2 , x3 ) ∈ Ci mean that
the i first variables x1 , . . . , xi occur negated in clause c and the 3 − i remaining
variables occur positive in clause c. If a clause contains less than three literals
we duplicate the last variable in the encoding to fill up the three places in the
clause. Now Max 3Sat can be defined as follows.
opt(C0 , C1 , C2 , C3 ) = max | (x1 , x2 , x3 ) :
T
((x1 , x2 , x3 ) ∈ C0 ∧ (x1 ∈ T ∨ x2 ∈ T ∨ x3 ∈ T )) ∨
/ T ∨ x2 ∈ T ∨ x3 ∈ T )) ∨
∨ ((x1 , x2 , x3 ) ∈ C1 ∧ (x1 ∈
∨ ((x1 , x2 , x3 ) ∈ C2 ∧ (x1 ∈
/ T ∨ x2 ∈
/ T ∨ x3 ∈ T )) ∨
/ T ∨ x2 ∈
/ T ∨ x3 ∈
/ T )) |
∨ ((x1 , x2 , x3 ) ∈ C3 ∧ (x1 ∈
If we allow several copies of the same clause in the input the above definition
will not work, but we can make it work by making the 3-ary relations Ci
(0 ≤ i ≤ 3) 4-ary by including a clause number. For example the clause
c17 = x2 ∨ x4 ∨ x11 is encoded by adding (x4 , x2 , x11 , c17 ) to relation C1 .
Example 4.4 Show that the problem Max Ind Set −B, which is the same
problem as Max Ind Set on a graph of degree at most B, is in Syntactic
Max SNP.
We encode the graph as a (B + 1)-ary relation A. There is one tuple
(u, v1 , . . . , vB ) for every node u listing its neighbours v1 , . . . , vB . If u has less
than B neighbours, just repeat the last one to fill up the tuple. Now we can
define Max Ind Set −B as follows, where S shall be interpreted as a set of
independent nodes.
/ S ∧ . . . ∧ vB ∈
/ S}|
opt(A) = max |{(u, v1 , . . . , vB ) ∈ A : u ∈ S ∧ v1 ∈
S
Since Syntactic Max SNP ⊆ Syntactic Max NP we know that every
problem in Syntactic Max SNP can be approximated within a constant.
Several natural optimization problems are contained in Syntactic Max SNP
and have been shown to be complete in the class with respect to P-reductions.
Proposition 4.21 (Papadimitriou and Yannakakis [88])
Max 3Sat, Max 3Sat −B (B ≥ 6) and Max Ind Set −B (B ≥ 7) are
Syntactic Max SNP-complete under P-reductions. Max 3Sat −B is the
same problem as Max 3Sat where the total number of occurrences of each
variable is bounded by the constant B. Max Ind Set −B is the maximum
independent set problem on a graph with degree bounded by B.
Many more problems were shown to be Syntactic Max SNP-complete in
[88] and further more problems will be shown to be complete in the following
chapters of this thesis. In Chapter 8 there is a list of all problems currently
known to be Max SNP-complete.
42
Chapter 4. Approximability classes
4.10.3
Closures of Max NP and Max SNP
Definition 4.17 [88] Max NP is the closure under P-reductions of Syntactic Max NP, that is
{F ∈ NPO : ∃G ∈ Syntactic Max NP ∃ P-reduction f : F ≤pP G}
Max NP was originally defined by Papadimitriou and Yannakakis [88], but
their definition has been interpreted both as Definition 4.17 (which was their
intention [86]) and as Definition 4.15 [84].
Definition 4.18 [88] Max SNP is the closure under P-reductions of Syntactic Max SNP, that is
{F ∈ NPO : ∃G ∈ Syntactic Max SNP ∃ P-reduction f : F ≤pP G}
Not only maximization problems, but also some minimization problems can
be placed in Max NP and Max SNP with these definitions.
Example 4.5 Show that Min Node Cover −B (minimum node cover in a
graph with bounded degree) is in Max SNP.
Let us (as in Section 2.6) use that given a graph without free nodes (nodes
which do not have any neighbours), a set of nodes is a node cover if and only if
its complement is an independent set. We observe that free nodes are trivially
included in any maximal independent set. We would like to find a P-reduction
from Min Node Cover −B to Max Ind Set −B, which we in Example 4.4
showed is included in Syntactic Max SNP.
Often it is more convenient to show that a reduction is an L-reduction.
Recall from Proposition 3.8 that an L-reduction satisfies the conditions of a
P-reduction. Let F be Min Node Cover −B, G be Max Ind Set −B
and f : IF → IG be the identity function which takes a graph and returns it
immediately. This function is certainly polynomial time computable.
1. Show that there is a constant α such that for every instance x ∈ IF
optG (f (x)) ≤ α · optF (x),
i.e. that the size of the maximum independent set is bounded above by
a constant times the size of the minimum node cover of a graph.
Since every node in a maximum independent set (apart from the free
nodes) must be connected to at least one node in the node cover and
since the degree of the graph is bounded by B, the size of the maximum
independent set cannot be larger that B times the size of the minimum
node cover. Thus α = B.
2. Show that there is a constant β such that for every instance x ∈ IF
and for every solution of f (x) with measure c2 we can in polynomial
time find a solution of x with measure c1 such that |optF (x) − c1 | ≤
β |optG (f (x)) − c2 |.
Section 4.10. Classes defined by logical formulas 43
Let S be a solution to G, that is an independent set in the graph, whose
size is k less than the size of the maximum independent set. The complement set of S is a node cover whose size is at most k more than the size
of the minimum node cover. Thus the second condition is satisfied with
β = 1.
An obvious shortcoming of the classes Syntactic Max NP and Syntactic Max SNP is that they do not contain PO PB, the polynomially bounded
optimization problems solvable in polynomial time. On the other hand one can
show that PO PB is contained in Max SNP.
Theorem 4.22 PO PB ⊆ Max SNP.
Proof Given a maximization problem F ∈ PO PB. Define a P-reduction f =
(t1 , t2 ) from F to an optimization problem G in the following way. Since F ∈
PO PB there is a polynomial time function g : IF → SF (IF ) which computes
the optimum solution with the maximum value mF (I, g(I)) = optF (I). Let
G be the simple maximization problem of counting: given a set A, give a
(maximum) lower bound of the number of elements in A. Let t1 (I) be the
function that computes mF (I, g(I)) and creates a set with this number of
elements. Let t2 (I, y) = g(I). t1 and t2 are polynomial time computable
functions since g is polynomial and since mF (I, g(I)) is polynomially bounded.
For every y we have
EFr (x, t2 (x, y)) = EFr (x, g(x)) =
|optF (x) − mF (x, g(x))|
r
= 0 ≤ EG
(t1 (x), y)
optF (x)
Now we can define G as a Syntactic Max SNP problem with the input
set A:
optG (A) = max |{x ∈ A}|
✷
Proposition 4.23 Every problem in Max NP, Syntactic Max SNP and
Max SNP can be approximated within a constant, that is Max NP ⊆ Apx,
Syntactic Max SNP ⊆ Apx, Max SNP ⊆ Apx.
Proof This follows immediately from Proposition 4.14, the fact that Syntactic Max SNP ⊆ Syntactic Max NP and the definitions of Max NP
and Max SNP. ✷
Proposition 4.24 (Papadimitriou and Yannakakis [88])
If there exists a Max SNP-complete problem which has a Ptas, then every
problem in Max SNP has a Ptas.
Since it seemed very unlikely for a Max SNP-complete problem to have
a Ptas it was generally assumed that Max SNP ⊆ Ptas. Recently Arora,
Lund, Motwani, Sudan and Szegedy confirmed this assumption.
Proposition 4.25 (Arora, Lund, Motwani, Sudan and Szegedy [2])
No Max SNP-complete problem can have a Ptas unless P = NP.
44
Chapter 4. Approximability classes
4.10.4
Relations between the classes Syntactic Max SNP
and Max SNP
In Chapter 5 we will show that Max 3DM −B and Max 3SP −B are in
Max SNP by reducing them to Max Ind Set −B. Since Theorem 4.19 says
that Max 3DM −B and Max 3SP −B are not in Syntactic Max NP, the
following theorem may be a bit surprising.
Theorem 4.26
a) Max 3DM −B is in Syntactic Max SNP with a different encoding.
b) Max 3SP −B is in Syntactic Max SNP with a different encoding.
Proof The proofs of a and b are similar. We just present the proof of b.
Suppose that the Max 3SP −B instance is given by specifying for every set s
its neighbour sets, i.e. the sets which have at least one element in common with
s. B + 1 sets of sets #0 , . . . , #B are used to specify the number of neighbour
sets for every set.
s ∈ #k ⇔ s has exactly k neighbour sets.
Since every set has at most B neighbours we have B neighbour relations
N 1 , . . . , NB :
(s, s ) ∈ Ni ⇔ s is the i-th neighbour set of s.
If s has k < B neighbour sets, we let (s, s) ∈ Ni for all k < i ≤ B.
Now we can define the problem.
opt3SP −B (I) = max {x ∈ S B+1 : Φ(x, I, S)}
S
where x = (s, s1 , . . . , sB ), I = (N1 , . . . , NB , #0 , . . . , #B ) and
Φ(x, I, S) = s ∈ S ∧
/ S ∧ · · · ∧ sB ∈
/ S ∧ (s, s1 ) ∈ N1 ∧ · · · ∧ (s, sB ) ∈ NB ∧
∧ s ∈ #B ⇒ s1 ∈
/ S ∧ · · · ∧ sB−1 ∈
/ S ∧ (s, s1 ) ∈ N1 ∧ · · · ∧
∧ s ∈ #B−1 ⇒ s1 ∈
∧ (s, sB−1 ) ∈ NB−1 ∧ sB = s ∧
..
.
∧
s ∈ #0 ⇒ s1 = s ∧ s2 = s ∧ · · · ∧ sB = s .
✷
Thus the problem Max 3SP −B is not in Syntactic Max NP and therefore not in the smaller class Syntactic Max SNP with the usual encoding,
but it is in Syntactic Max SNP with a different encoding. The same thing
applies to Max 3DM too. It is not sound that the encoding of the problem influences the complexity class in such a brutal way. Some amount of reencoding
of the problem before placing it in a class would be desirable.
Section 4.10. Classes defined by logical formulas 45
4.10.5
New definitions of Max SNP and Max NP
We hereby define new versions of Max NP and Max SNP using the reencoding
defined in Definition 3.1.
Definition 4.19 Max NP is the problems which can be reencoded to some
problem in Syntactic Max NP, that is
{F ∈ NPO : ∃G ∈ Syntactic Max NP ∃ reencoding F ≡p G}
Definition 4.20 Max SNP is the problems which can be reencoded to some
problem in Syntactic Max SNP, that is
{F ∈ NPO : ∃G ∈ Syntactic Max SNP ∃ reencoding F ≡p G}
We observe that the reencoding is a form of P-reduction and thus these
new classes lie between the strictly syntactically defined classes and the closure
under P-reductions. We have the following situation.
Syntactic
Max NP ⊂ Max
NP ⊆
|
|
Syntactic Max SNP ⊂ Max SNP ⊆
Max
NP ⊆
|
Max SNP
Apx
Syntactic Max NP ! Max 3DM −B ∈ Max SNP
Syntactic Max NP ! Max 3SP −B ∈ Max SNP
It is not known whether or not PO PB is contained in Max NP or Max
SNP with the new definitions.
It seems to be harder to show that a problem is not in Max NP with the
new definition than to show that it is not in Syntactic Max NP, but it might
not be impossible in view of the restricted reencoding used.
The following proposition clears the relations between completeness in these
classes.
Proposition 4.27 A Syntactic Max NP-complete problem is always Max
NP-complete and a Max NP-complete problem is always Max NP-complete.
A Max NP-complete problem is Max NP-complete if it is in Max NP and a
Max NP-complete problem is Syntactic Max NP-complete if it is in Syntactic Max NP.
A Syntactic Max SNP-complete problem is always Max SNP-complete
and a Max SNP-complete problem is always Max SNP-complete.
A Max SNP-complete problem is Max SNP-complete if it is in Max SNP
and a Max SNP-complete problem is Syntactic Max SNP-complete if it is
in Syntactic Max SNP.
Proof We will only prove one part of the proposition. The same type reasoning can be used to prove the rest.
An X-complete problem is, by Definition 4.1, a problem which is in X and
to which every problem in X can be P-reduced.
Suppose we have a problem F and that every problem in Syntactic Max
NP can be P-reduced to F . Since Max NP consists of the problems which can
46
Chapter 4. Approximability classes
be P-reduced to some problem in Syntactic Max NP we know that every
problem in Max NP can be P-reduced to F . Thus F is Max NP-complete if
it is in Max NP, and if F is in Syntactic Max NP we know that it is in
Max NP. Thus a Syntactic Max NP-complete problem is always Max NPcomplete.
A Max NP-hard problem is also Syntactic Max NP-hard because Syntactic Max NP ⊂ Max NP. This means that a Max NP-complete problem
is Syntactic Max NP-complete if it is in Syntactic Max NP. ✷
4.10.6
The hierarchies Max Πi , Max Σi , Min Πi and
Min Σi
In analogy with the polynomial time hierarchy [103] with the notation Πpi and
Σpi Kolaitis and Thakur have introduced hierarchies Max Πi and Max Σi of
maximization problems and Min Πi and Min Σi of minimization problems.
Definition 4.21 [61] Consider the set of maximization problems which can be
written in a form such that for every problem F and instance I ∈ IF
optF (I) = max |{x : ΦF (I, S, x)}|
S
where ΦF is a first-order formula in prenex normal form. We say that F is in
the class Max Σi , i ∈ N if ΦF has i alternations of quantifiers and starts with
a block of existential quantifiers and that F is in the class Max Πi , i ∈ N if ΦF
has i alternations of quantifiers and starts with a block of universal quantifiers.
Similarly we define Min Σi and Min Πi , i ∈ N as the classes which contain
the minimization problems which can be written in a form such that for every
problem F and instance I ∈ IF
optF (I) = min |{x : ΦF (I, S, x)}|
S
where ΦF is a first-order formula in prenex normal form having i alternations
of quantifiers.
From the definition follows that Max Σ0 = Max Π0 = Syntactic Max
SNP and Max Σ1 = Syntactic Max NP.
Definition 4.22 [61] Let Max PB be the maximization problems which have
polynomially bounded optimum value, that is
Max PB = {F ∈ NPO PB : optF = max}
and let Min PB be the minimization problems which have polynomially bounded optimum value, that is
Min PB = {F ∈ NPO PB : optF = min}.
Section 4.10. Classes defined by logical formulas 47
Thus NPO PB = Max PB ∪ Min PB. The hierarchy of maximization
problems collapses at Max Π2 and has four distinct levels. The hierarchy of
minimization problems collapses at Min Π1 and has three distinct levels.
Proposition 4.28 (Kolaitis and Thakur [61])
Max Σ0 ⊂ Max Σ1 ⊂ Max Π1 = Max Σ2 ⊂ Max Π2
i ≥ 2 ⇒ Max Πi = Max PB, i ≥ 3 ⇒ Max Σi = Max PB
Max Σ0 ! Max Sat ∈ Max Σ1
Max Σ1 ! Max Clique ∈ Max Π1
Max Π1 ! Max Connected Component ∈ Max Π2
Max Connected Component is the problem of finding the largest connected
component in a given graph. Since Max Connected Component ∈ PO PB
we also have that PO PB ⊆ Max Π1 .
Example 4.6 Max Σ1 ! Max Clique ∈ Max Π1
Theorem 4.19 says that Max Clique ∈
/ Max Σ1 . We show that Max
Clique ∈ Max Π1 by giving its optimization formula opt(V, E):
max
|{v ∈ V : ∀v1 ∀v2 (v1 ∈ V ∧ v2 ∈ V ∧ v1 = v2 ) ⇒ (v1 , v2 ) ∈ E}|
V
For minimization problems the hierarchy is even shorter.
Proposition 4.29 (Kolaitis and Thakur [61])
Min Σ0 = Min Σ1 ⊂ Min Π1 = Min Σ2
i ≥ 1 ⇒ Min Πi = Min PB, i ≥ 2 ⇒ Min Σi = Min PB
Min Σ1 ! Min Graph Colouring ∈ Min Π1
Here, Min Graph Colouring is the problem of finding the minimum number
of colours which can colour the nodes of a graph in such a way that no edge
connects two nodes with the same colour.
Every problem in Max Σ0 and Max Σ1 can be approximated within a
constant. We could suppose that this would be true for Min Σ0 and Min Σ1
as well, but this is not the case, as the following proposition shows.
Proposition 4.30 (Kolaitis and Thakur [61])
Min 3DNF Sat cannot be approximated within a constant unless P = NP.
Min 3DNF Sat is Min Σ0 -complete under P -reductions.
The problem minimum 3DNF satisfiability (Min 3DNF Sat) takes as input a
boolean formula in 3DNF (disjunctive normal form with at most three literals
in each conjunction) and finds the minimum number of satisfiable conjunctions.
Unlike the case of maximization problems, the pattern of the quantifier prefix does not have any influence on the approximability of minimization problems.
48
Chapter 4. Approximability classes
4.10.7
Closures of these classes
In Section 4.10.3 we studied closures of Max Σ0 and Max Σ1 . We shall show
that Max Π1 , the closure of Max Π1 , is in fact the whole of NPO PB by showing that the maximum number of satisfiable formulas problem is in Max Π1
and is NPO PB-hard.
The maximum number of satisfiable formulas problem or Max # Sat takes
as input a set Ψ = {ψ1 , . . . , ψn } of 3CNF formulas. The problem is to find a
truth assignment to the included variables such that the maximum number of
the formulas are satisfied.
Proposition 4.31 (Panconesi and Ranjan [84])
Max # Sat is in Max Π1 .
Theorem 4.32 Max # Sat is NPO PB-complete.
Proof It is obvious that Max # Sat is an NPO problem and that the optimum value is bounded by the number of formulas, i.e. polynomially bounded
in the size of the input. (This also follows from the fact that Max # Sat
∈ Max Π1 .)
We show that Max # Sat is NPO PB-hard by indicating how an Lreduction may be obtained from the longest induced path problem, which is
NPO PB-complete (see Proposition 4.11).
The idea is to construct a 3CNF formula for each edge in the input graph.
The i-th edge gives birth to the formula ei ∧ C where ei is a boolean variable
indicating if the i-th edge is in the solution, and C is a very big formula which
is true if and only if the solution specified by the variables is a valid solution
of the problem. Hereby the number of satisfied formulas will be equal to the
number of edges in the solution if the solution is legal and zero otherwise.
It is not very hard to see that such a reduction is an L-reduction with
α = β = 1. ✷
Theorem 4.33 Min 3DNF Sat is Max SNP-hard.
Proof Let us show that there is an L-reduction from Max 3Sat to Min
3DNF Sat.
Let f be a function which takes a set of clauses and returns an equally large
set of conjunctions by negating each clause. For example the clause (x1 ∨x2 ∨x3 )
transforms into (x1 ∧ x2 ∧ x3 ).
If I is an instance of Max 3Sat with n clauses and optimum value x then
f (I) is an instance of Min 3DNF Sat with n conjunctions and optimum value
n − x. Each solution of f (I) with value v immediately gives a solution of I
with value n − v.
Since we always can satisfy at least half of the clauses in a Max 3Sat
problem we see that opt(f (I)) ≤ n/2 ≤ opt(I).
Thus f gives an L-reduction with α = β = 1. ✷
Section 4.10. Classes defined by logical formulas 49
Max Σ0
∩
Max Σ0
∩
Min Σ0
∪
Min Σ0
⊂
⊆
=
=
Max Σ1
∩
Max Σ1
⊂
Min Σ1
∪
Min Σ1
⊆
⊂
⊂
Max Π1
∩
Max Π1
#
Min Π1
∪
Min Π1
⊂
=
Max Π2
∩
Max Π2
=
Max PB
⊃ NPO PB
⊃ NPO PB
=
Min PB
Figure 4.1: Relations between classes defined by logical formulas.
This theorem together with Proposition 4.30 shows that Max Σ0 (which is
the same as Max SNP) is a subset of Min Σ0 . Figure 4.1 contains a summary
of the relations between classes in the hierarchies and their closures.
4.10.8
Other syntactically defined classes
For many natural optimization problems a feasible solution can be expressed
as a relation and the objective function is the cardinality of the relation. For
example a feasible solution of Max 3DM is a set of triples which do not agree in
any coordinate and the objective function is the cardinality of the set. Another
example is Min Node Cover which has a set of nodes forming a node cover
as its feasible solution. The objective function is the cardinality of the set.
In this section we will define new classes which are subclasses of syntactically
defined classes and contain only problems which can be formulated as described
above.
Definition 4.23 [60] A minimization problem G is in the class Min FΠ1 iff
its optimization function for the instance I ∈ IG can be expressed as
optF (I) = min |{x : ∀y ΦG (I, S, y) ⇒ S(x)}|
S
where ΦG is a quantifier free formula. If there is no S such that ΦG (I, S, y) is
true then optG (I) is equal to the trivial value trivG . For technical reasons we
define trivG as the number of possible different values that x can take.
Definition 4.24 [60] A maximization problem G is in the class Max FΠ1 iff
its optimization function for the instance I ∈ IG can be expressed as
optF (I) = max |{x : ∀y ΦG (I, S, y) ∧ S(x)}|
S
where ΦG is a quantifier free formula. If there is no S such that ΦG (I, S, y) is
true then optG (I) is equal to the trivial value 1.
Similarly we define Min FΠn and Max FΠn for n = 2, 3, . . . generalizing
Min Πn and Max Πn in the corresponding way. By definition Min FΠn ⊆
Min Πn and Max FΠn ⊆ Max Πn but we can in fact say much more.
50
Chapter 4. Approximability classes
Proposition 4.34 (Kolaitis and Thakur [60])
For each n ≥ 1
Min FΠn = Min Σn and Max FΠn = Max Πn .
Proposition 4.35 (Kolaitis and Thakur [60])
Min PB = Min FΠ2 = Min FΠn , n ≥ 2
Max PB = Max FΠ2 = Max FΠn , n ≥ 2
Thus these hierarchies collapse at n = 2.
A family of subclasses of these classes are more interesting in the framework
of approximability.
Definition 4.25 [60] A minimization problem F is in Min F+ Π1 (k) iff its
optimization function for the instance I ∈ IF can be expressed as
optF (I) = min |{x : ∀y ΦF (I, S, y) ⇒ S(x)}|
S
where ΦF is a quantifier free DNF formula, all occurrences of S in ΦF are
positive, and S appears at most k times in each disjunct.
Definition 4.26 [60] Min F+ Π1 is defined as
Min F+ Π1 (k)
k∈N
Analogously we can define the class Min F+ Π2 .
Example 4.7 [61] Min F+ Π1 (2) contains Min Node Cover as a member
because the minimum node cover of a graph G = V, E is given by
/ E ∨ y ∈ S ∨ z ∈ S) ⇒ x ∈ S}| .
opt(G) = min |{x : (∀y∀z, (y, z) ∈
S
Example 4.8 [61] Min Node Cover can be generalized to k-hypergraphs.
A k-hypergraph is a structure A, E where E ⊆ Ak . A hypernode cover is
a set S ⊆ A such that for every k-tuple (a1 , a2 , . . . , ak ) ∈ E we have that
S contains some ai . The minimum k-hypernode cover problem is to find the
smallest hypernode cover in a k-hypergraph. It can be placed in Min F+ Π1 (k)
by defining opt(A, E) as
/ E ∨ y1 ∈ S ∨ · · · ∨ yk ∈ S) ⇒ x ∈ S}| .
min |{x : (∀y1 . . . ∀yk , (y1 , . . . , yk ) ∈
S
Note that for k = 2 the problem is the same as Min Node Cover. We can
find a node cover (using a maximal matching) which is at most twice the size
of the optimal node cover [34]. The same idea can be used to approximate Min
k-hypernode Cover within the constant k.
Section 4.10. Classes defined by logical formulas 51
Example 4.9 [60] Min F+ Π2 (1) contains Min SC as a member because the
minimum set cover of a collection of subsets C of a finite set X is given by
opt(X, C) = min{|S| : ∀y ∈ X∃z ∈ C : z ∈ S ∧ y ∈ z}
S
which can be written in the required way if we introduce a relation M (y, z)
which is true when the element y ∈ X is contained in the subset z ∈ C:
opt(X, M ) = min |{x : (∀y∃z, y ∈ X ⇒ (z ∈ C ∧ M (y, z))) ⇒ x ∈ S}| .
S
Proposition 4.36 (Kolaitis and Thakur [61])
For each k ≥ 2 Min k-hypernode Cover is complete for Min F+ Π1 (k). As
a result Min F+ Π1 ∈ Apx.
Proposition 4.37 (Kolaitis and Thakur [61])
Min SC and Min Dominating Set are Min F+ Π2 (1)-complete. As a result
every problem in Min F+ Π2 (1) can be approximated within O(log n).
Analogously with the classes Min F+ Π1 (k) we can also define the classes
Max F− Π1 (k). These were originally introduced by Panconesi and Ranjan,
but under the name Rmax(k).
Definition 4.27 [84] A maximization problem F ∈ Max F− Π1 (k) if its optimization function for the instance I ∈ IF can be expressed as
optF (I) = max |{x : S(x) ∧ ∀y ΦF (I, S, y)}|
S
where ΦF is a quantifier free CNF formula, all occurrences of S in ΦF are
negative, and S appears at most k times in each clause.
Definition 4.28 [84] Max F− Π1 is defined as
Max F− Π1 (k)
k∈N
Example 4.10 [84] Max Clique can also be generalized to k-hypergraphs.
A hyperclique in a k-hypergraph A, E is a set S ⊆ A such that for every
k-tuple e of elements from S we have that e ∈ E. The maximum k-hyperclique
problem is to find the largest hyperclique in a k-hypergraph. It can be placed
in Max F− Π1 (k) by defining opt(A, E) as
max |{x : x ∈ S ∧ (∀y1 . . . ∀yk , y1 ∈
/ S ∨ · · · yk ∈
/ S ∨ (y1 , . . . , yk ) ∈ E)}| .
S
Proposition 4.38 (Panconesi and Ranjan [84])
For all k ≥ 2, Max k-Hyperclique is Max F− Π1 (k)-complete.
Proposition 4.39 (Panconesi and Ranjan [84])
Max Clique, Max SP and Max k-colourable IS are Max F− Π1 (2)complete.
52
Chapter 4. Approximability classes
All Max F− Π1 (2)-complete problems have the same approximability, see
further Section 4.11.
Proposition 4.17 says that Max Clique is Max NP-hard, which means
that every problem in Max NP can be P-reduced to any Max F− Π1 (2)complete problem. Thus
Max Σ1 ⊂ Max F− Π1 (2).
4.11
The Max Ind Set class
As we saw in Section 3.2 the Max Clique problem is actually the same problem as Max Ind Set on the complementary graph. We shall see that there
are several problems which are as hard to approximate as these problems, for
example the maximum set packing problem (see Section 5.4) and the maximum
common induced connected subgraph problem (see Section 6.2). For simplicity we call the set of problems which are equivalent with these problems with
respect to the P-reduction the Max Ind Set class.
Definition 4.29 Let the Max Ind Set class be the set of NPO problems F
such that F ≡pP Max Ind Set.
The Max F− Π1 (2)-complete problems (defined in Section 4.10.8) are a subset
of the Max Ind Set class.
There are a lot of results regarding the approximability of the problems in
this class.
The best positive result is that Max Ind Set and Max Clique can be
approximated within O(n/(log n)2 ) (where n is the number of nodes in the
input graph) and is due to Boppana and Halldórsson [18].
Garey and Johnson have shown that either there is a Ptas for Max Ind
Set or the problem cannot be approximated within any constant, that is Max
Ind Set ∈
/ Apx [34]. They used the fact that Max Ind Set is self-improvable.
Berman and Schnitger have shown a stronger result: if some Max SNPcomplete problem does not have an Rptas (a randomized polynomial time
approximation scheme) then for some constant c > 0 it is impossible to approximate Max Ind Set within nc [12]. Thus this result relates the approximability of the Max SNP-complete problems with the approximability of
Max Ind Set. This is done via an amplifying chain of problems starting with
maximum 2-constraint satisfaction, ending with maximum O(log n)-constraint
satisfaction and using R-reductions. The maximum k-constraint satisfaction
problem takes a set of n conjunctions, each involving at most k literals and
returns a truth assignment which satisfies the largest number of conjunctions.
Maximum 2-satisfiability can be L-reduced to maximum 2-constraint satisfaction (see Theorem A.3) and it is easy to see that maximum O(log n)-constraint
satisfaction can be L-reduced to Max Ind Set.
This result has been improved by Halldórsson [37] using a method by Blum
[16]:
Section 4.11. The Max Ind Set class 53
Proposition 4.40 (Halldórsson [37])
If Min Node Cover ∈
/ Rptas then for some constant c > 0 it is impossible
to approximate Max Ind Set within nc where n is the number of nodes in the
input graph.
Crescenzi, Fiorini and Silvestri have shown that Max Clique is Max NPhard, see Proposition 4.17, and thus that if Max Clique can be approximated
within a constant then Max NP ⊂ Ptas. As we will see this result is no longer
interesting since Max Clique ∈
/ Apx.
A completely different approach to the problem has been done by Feige,
Goldwasser, Lovász, Safra and Szegedy [30]. They have shown that Max
Clique (and therefore also every other problem in the Max Ind Set class)
(1−ε)
˜
in polynomial time, unless NP ⊂ P,
cannot be approximated within 2(log n)
˜
where P denotes the set of languages accepted in quasi polynomial time (i.e.
c
time 2log n ). This result was proved using interactive protocols. Recently
Arora and Safra improved this result, finally confirming that Max Clique ∈
/
Apx and thereby eliminating the possibility of a Ptas for the problem [3].
And yet more recently Arora, Lund, Motwani, Sudan and Szegedy showed
that a Max SNP-complete problem cannot admit a Ptas, see Theorem 4.25,
which with results by Feige, Goldwasser, Lovász, Safra and Szegedy [30] give
us the following corollary.
Corollary 4.41 (to Theorem 4.25)
There is a constant c ∈ R+ such that Max Ind Set cannot be approximated
within nc , unless P = NP. n is the number of nodes in the input graph.
Chapter 5
Matching and packing
problems
5.1
Introduction
In the following chapters we will concentrate on the approximability of certain
categories of NPO problems. This chapter will deal with the approximability of
several matching and packing problems. In Chapter 6 the family of maximum
common subgraph problems will be studied, and Chapter 7 will be devoted to
the travelling salesperson problem.
First we will show that Max 3DM, the optimization version of the NPcomplete 3-dimensional matching problem is Max SNP-hard, even if the number of occurrences of any element is bounded by a constant. This is shown by
a reduction from Max 3Sat −B. As we have already seen, Max 3DM is in
Max SNP if the number of occurrences of each element in triples is bounded
by a constant. Thus Max 3DM −B is Max SNP-complete.
Two related problems, maximum bounded three-set packing and maximum
bounded triangle packing, are also shown to be Max SNP-complete. The
results can be extended to maximum k-dimensional matching and maximum
k-set packing.
A generalization of the maximum bounded triangle packing problem is the
maximum bounded H-matching problem, in which we want to find the largest
collection of node-disjoint copies of the constant graph H in a bounded degree
graph. This problem is shown to be Max SNP-hard if H contains three or
more nodes in some connected component. The proof is built (as most of the
proofs in this chapter) on the proof that Max 3DM −B is Max SNP-hard.
5.2
Maximum three dimensional matching
Theorem 5.1 Max 3DM −B, B ≥ 3 is Max SNP-complete.
In the proof we will use a polynomial-time transformation f from Max 3Sat
−B to Max 3DM −B. It is an extension of the reduction used to prove that
54
Section 5.2. Maximum three dimensional matching 55
Figure 5.1: Two matchings of the structure described in [34] corresponding to the
clauses {x, x, x, x}. Each triangle is a triple in M and each dot is an element in
either W , X, or Y . The matched triples are marked with rings. The left matching is
optimal (with 7 matched triples) but the right is the matching corresponding to x true
(with 6 matched triples).
3DM is NP-complete in [34]. In that proof, for each variable a ring of triangles
is formed (see Figure 5.1), the triangles alternately represent the variable and its
negation, so that a perfect matching corresponds to fixing a truth value. The
rings are interconnected by triangles representing clauses. For optimization,
the problem with this reduction is that, since we allow solutions which are not
perfect matchings, a better matching may result if, instead of including every
other triple in the rings, we include many clause triples (see Figure 5.1). We
are able to solve this problem by creating many rings for every variable, and
connecting these rings with binary trees.
Let I be an instance of Max 3Sat −B with U = {u1 , . . . , un } and C =
{c1 , . . . , cm }. Let di be the total number of occurrences of ui in C, either as ui
3
or ui . We know that di ≤ B for each i. Let K = 2log( 2 B+1)
, i.e. the largest
power of two such that K ≤ 32 B + 1.
For every variable ui we construct K identical rings, each ring containing
2di ring triples, connected as in Figure 5.2. The free elements in the ring triples
of ring k are called vi [γ, k] and v i [γ, k] (1 ≤ γ ≤ di , 1 ≤ k ≤ K) as in Figure 5.2.
The K rings are connected by tree triples in 2di binary trees in such a way
that the elements vi [1, 1], vi [1, 2], . . . , vi [1, K] are leaves in the first tree and the
root of this tree is called ui [1]; v i [1, 1], . . . , v i [1, K] are leaves in the second tree
and the root is called ui [1], et cetera.
Thus there are 2di (2K − 1) triples which originate in the single variable ui .
There are K rings with 2di ring triples in each which are connected with 2di
binary trees with K − 1 tree triples in each. This structure we call the ring of
trees corresponding to ui . See Figure 5.3 for an example.
Finally clause triples connect some of the roots. For each clause cj we introduce two new elements s1 [j] and s2 [j] and (at most) three triples connecting
them to the appropriate root elements. If the variable ui occurs in this clause
56
Chapter 5. Matching and packing problems
v i [1, 1]
vi [1, 1]
vi [2, 1]
R
R
R
v i [4, 1]
v i [2, 1]
R
vi [4, 1]
R
R
R
vi [3, 1]
R
v i [3, 1]
Figure 5.2: The first of K rings for
a variable ui with di =4 occurrences.
The shaded triangles are the same as
the shaded triangles in Figure 5.4.
s1 [17]
Figure 5.3: A ring of trees with di = 3 and
K = 4.
s2 [17]
C
ui [1]
ui [1]
T
vi [1, 1]
R
T
vi [1, 2]
vi [1, 3]
R
R
T
T
vi [1, 4]
v i [1, 1]
R
R
T
v i [1, 2]
v i [1, 3]
R
R
T
v i [1, 4]
R
Figure 5.4: An example of binary trees for ui and the adjacent clause triple and ring
triples where the first occurrence of ui in C is in the 17-th clause. The triples are
marked with R, T or C for ring, tree and clause triples, respectively. If ui occurs as
ui and the tree contains an even number of levels (as in this example) or if ui occurs
as ui and the tree contains an odd number of levels then the clause triple is connected
to the root of the left tree. Otherwise it is connected to the right tree.
and this is its γ-th occurrence in C then root element in the triple is to be ui [γ]
or ui [γ], depending on whether the occurrence was ui or ui and whether the
binary tree contains an even or odd number of levels.
Now we have constructed all elements and triples which are needed to define
the transformation f .
For the ring, tree and clause triples to define M ⊆ W × X × Y we have
to label the elements with w, x or y. All trees are labelled identically in the
following way. Start at the root, label it w, and label the elements in every tree
triple w, x and y anti-clockwise. The ring triples are labelled anti-clockwise
in ui -trees and clockwise in ui -trees, in some suitable planar representation of
Section 5.2. Maximum three dimensional matching 57
w
w ui [1]
T
x
T
y
w
R
w
R
x
x
T
w
x
R
y
y
T
y
x
R
y
T
x
y
w
R
x
w
ui [1]
y
R
w
y
T
w
x
R
x
y
R
x
w
y
Figure 5.5: An example of element labelling in a tree with two levels. Dots in the
bottom layer which represent identical elements are connected with arcs.
each ring. s1 [j] and s2 [j] are labelled x and y respectively. In this way every
element gets a unique label, see Figure 5.5.
n
Now the transformation f is fully described. It contains
di clause triples,
n
i=1
K · 2di ring triples and
n
i=1
2di · (K − 1) tree triples, that is
i=1
|M | =
n
di +
i=1
≤
3m +
n
2di (K + K − 1)
i=1
n
i=1
n
2di (3B + 1)
6B 2 + 2 · 3m
≤
3m +
=
9m + 6B 2 n.
i=1
f can be computed in polynomial time in m and n. Moreover, every element
in a ring or tree triple occurs exactly two times in M , except for half of the root
elements (ui [γ] or ui [γ]) which occur only once. The only remaining elements
are s1 [j] and s2 [j] in the clause triples; they occur at most three times each,
because a clause contains at most three literals. Thus f (I) is a problem in
Max 3DM −B for B ≥ 3.
We now study three dimensional matchings of the ring of trees corresponding to the variable ui . First we show that in an optimal matching of this
structure all rings belonging to the same variable are matched in the same
way, i.e. all triples in the same positions (e.g. the ring triples which contain
vi [1, k], 1 ≤ k ≤ K) are either in the matching or not in the matching. We say
that a triple is chosen if it is included in the matching.
Consider a pair of rings, that is, two rings connected to the same lowest-level
tree triples. Suppose that the first ring has t1 and the second ring t2 chosen
triples and that t1 ≥ t2 . Look at the matching for the two rings and the 2di tree
triples that connect them. Construct a new matching of this structure from
the old matching in the following way. Observe that for each of the t1 chosen
58
Chapter 5. Matching and packing problems
triples in the first ring, the connected tree triple cannot be chosen. Therefore
we can match the second ring in the same way as the first. This matching is
at least as large as the original matching. For every lowest-level tree triple,
choose it if the connected ring triples are not chosen (if this is not possible
because the connected tree triple on the next level is chosen, we first delete it
from the matching before choosing the new tree triple). This will only make
the matching larger.
Now we do the same thing one level up. We look at two adjacent pairs
of rings (which are connected to the same 2di second lowest level tree triples)
including the 2 · 2di lowest-level tree triples which connect each pair and the
2di second lowest level tree triples which connect these tree triples. Suppose
that the two rings in the first pair have been equally matched as in the preceding paragraph and likewise that the two rings in the second pair are equally
matched. Suppose that the first half (the first pair of rings and the 2di tree
triples that connect them) has t1 chosen triples and that the second half (the
second pair and 2di tree triples) has t2 chosen triples, where t1 ≥ t2 . In exactly
the same way as above we can get a larger matching if we match all rings in
the same way as in the largest ring matching, for every lowest-level tree triple
choose it if the connected ring triples are not chosen and for every second lowest level tree triple choose it if the connected lowest-level tree triples are not
chosen.
This procedure can continue in log K − 1 steps, adding a new tree level in
every step. We have shown that in an optimal matching of the 2di (2K − 1)
triples in the ring of trees corresponding to ui all rings must be equally matched
and that the triples in every other level of the trees must be contained in the
matching.
Now say that only di −δ triples from every ring are included in the matching
but all rings are equally matched. Then we will get a matching of the ring
of trees of size (# matched ring triples) + (# matched tree triples in trees
connected to matched ring triples) + (# matched tree triples in trees connected
to unmatched ring triples) which is less than
(di − δ)K + (di − δ)
K −1
2K − 2
2K + 1
+ (di + δ)
= di (2K − 1) − δ
3
3
3
if K = 2α and α is even, and less than
(di − δ)K + (di − δ)
K −2
2K − 1
2K − 1
+ (di + δ)
= di (2K − 1) − δ
3
3
3
if K = 2α and α is odd.
Obviously δ = 0 gives us a maximum matching with di (2K − 1) triples.
triples
δ = 1 gives us a matching of the structure which is at least 2K−1
3
smaller than the maximum matching.
Finally, still concentrating on the i-th variable’s triples, we have di clause
triples which are situated at the root of some of the binary trees, corresponding
to the clauses to which the variable belongs and whether it is negated or not
in that clause. We would like the property that every other ring triple is
included in the matching to be more valuable than the inclusion of any number
Section 5.2. Maximum three dimensional matching 59
of clause triples. Assume that we sacrifice this property by including only
p clause
di − δ triples from every ring in the matching and that we include
triples instead. From these p triples one can always choose p2 triples which
occur at even distances from
each other (corresponding to the fact that one of
ui or ui appears in at least p2 clauses). Thus we can always obtain a matching
with di (2K − 1) + p2 triples without sacrificing the aforementioned property.
We want that
p
2K − 1
> di (2K − 1) − δ
+ p for 1 ≤ δ ≤ di , p ≤ di
di (2K − 1) +
2
3
p p
1
3 di 1
⇐ (2K − 1) > p −
=
for p ≤ di ⇐ K >
+
3
2
2
2 2
2
This is true because
3
3
3
1
3
1
K = 2log( 2 B+1)
≥ 2log( 2 di +1)
= 2log( 4 di + 2 )
+1 > 2log( 4 di + 2 ) =
3 di 1
3
1
di + ≥
+ .
=
4
2
2 2
2
Let A be the structure consisting of the rings of trees corresponding to
all variables (i.e. A is M without the clause triples). It is easy to find a
maximum matching for A, namely every other triple, and there are two ways
to obtain it for every i. These two ways correspond to the truth values of
ui . With the choice of K above we know that any maximum matching of the
whole problem must contain a maximum matching of the substructure A. In
order to obtain the optimal matching one has to include as many of the clause
triples as possible. At most one triple from every Cj can be included. A triple
(ui [γ], s1 [j], s2 [j]) can be included only if the root triple in the corresponding
tree is not included, and this depends on the manner in which the substructure
for variable i is matched.
We see that solving a Max 3Sat −B-problem I is equivalent to solving
the Max 3DM-problem f (I).
Lemma 5.2 The transformation f : Max 3Sat −B → Max 3DM −3 is an
L-reduction.
Proof Assume that I is an instance of Max 3Sat −B. We have to show the
two following inequalities.
1. Show that opt f (I) ≤ α opt(I) for a constant α > 0.
opt f (I) =
n
di (2K − 1) + opt(I)
i=1
=
n
i=1
≤
≤
di
2K − 1 + opt(I)
3
3m 2 · ( B + 1) − 1 + opt(I)
2
(18B + 7) opt(I)
60
Chapter 5. Matching and packing problems
11
10
1
11
9
7
3
2
1
8
4
5
6
10
9
8
5
6
3
2
7
4
Figure 5.6: An example of a matching problem I and the Max Ind Set problem
g(I).
because opt(I) ≥ m
2 (it is always possible to satisfy at least half of the
clauses in I). Thus α = 18B + 7 in the inequality above.
2. Show that for every matching for f (I) of size c2 we can, in polynomial
time,
of I with c1 clauses satisfied and opt(I) − c1 ≤
find a solution
β opt f (I) − c2 where β = 1.
If the given matching is not optimal on the substructure A (defined above)
then it will increase in size if we make it optimal on A (as seen above).
Thus we may presume that the given matching for f (I) is optimal on A.
By setting the variables of I as the matching indicates (i.e. by looking
at the matching for every ring) we will get an approximate
solution of I
which satisfies c1 clauses and opt(I) − c1 = opt f (I) − c2 .
✷
In order to show that Max 3DM −B is in Max SNP we define a new
polynomial-time transformation g from Max 3DM −B to Max Ind Set −B.
Let V = M , that is, for every triple in M we have a node in the graph. There
is an edge in E between two triples in M if they have at least one element in
common. Thus, for every element in W ∪ X ∪ Y which occurs k times in M
we have a k-clique between the corresponding nodes in V , see Figure 5.6.
The degree of a node in g(I) is at most 3 · (B − 1) where B is the bound of
occurrences in M . Thus g(I) is a bounded independent set problem.
Lemma 5.3 The transformation
g from the problem Max 3DM −B to the
problem Max Ind Set − 3(B − 1) is an L-reduction.
Proof Assume that I is an instance of Max 3DM −B with set of triples
M . Two triples in M are adjacent if and only if the two corresponding nodes
in g(I) are adjacent. We see that the three dimensional matching problem
of I corresponds
exactly to the independent set problem of g(I). Thus we
get opt g(I) = opt(I) and for every independent set for g(I) of size c we
immediately have a three dimensional matching for I of size c. g is an Lreduction since both of the needed inequalities are satisfied (with α = β = 1).
✷
Section 5.3. Maximum three-set packing 61
Proof of Theorem 5.1 By Lemma 5.2 Max 3Sat −B L-reduces to Max
3DM
−3 and
by Lemma 5.3 Max 3DM −B L-reduces to Max Ind Set
− 3(B − 1) . Since Max 3Sat −B and Max Ind Set −B are Max SNPcomplete [88] Max 3DM −B is Max SNP-complete for B ≥ 3. Theorem 4.26
says that Max 3DM −B is in Syntactic Max SNP with a different encoding.
Thus Max 3DM −B is Max SNP-complete with the new definition of Max
SNP (Definition 4.20). ✷
We have seen that maximum bounded three dimensional matching is Max
SNP-complete, but how about the harder, unbounded problem? The transformation g above takes an unbounded Max 3DM problem to an unbounded
Max Ind Set problem. Unfortunately the latter problem is not in Max
SNP. If there is no polynomial-time approximation scheme for some Max
SNP-complete problem, then Max Ind Set cannot be approximated within
any constant, see Section 4.11. But Max 3DM is not this hard. The trivial
algorithm described below approximates the optimal solution within 3. Thus
it is still possible that the unbounded version of Max 3DM is in Max SNP
or Max SNP.
Algorithm 5.1
Input: A set M of triples.
Output: A maximal matching M ⊆ M .
Algorithm:
T := M ; M := ∅;
while T = ∅ do begin
t := any element in T ;
M := M ∪ {t};
T := T − {t and all its neighbours in T };
end;
Analysis: For any triple in the found matching M , consider it and all its
neighbour triples. At most three of these triples can be in the optimal matching.
Thus the algorithm approximates Max 3DM within 3.
5.3
Maximum three-set packing
We are given a collection of sets of size three. The maximum three-set packing
problem or Max 3SP is to find the largest number of pairwise disjunctive sets.
In Max 3SP −B, the bounded version of the problem, the same element
cannot be included in more than B three-sets.
Theorem 5.4 Max 3SP −B, B ≥ 3 is Max SNP-complete.
Proof The difference between maximum three dimensional matching and
maximum three-set packing is that in the former problem the elements are of
different types (W , X or Y ) but in the latter problem all elements are of the
same type A.
62
Chapter 5. Matching and packing problems
Define f : Max
−B → Max 3SP −B by A = W ∪ X ∪ Y and
3DM
C = M . Now opt f (I) = opt(I) and every solution of f (I) can be translated
to an equally good solution of I by f −1 .
Let g : Max 3SP −B → Max Ind Set − 3(B − 1) be the same transformation as in the reduction from Max 3DM −B, that is, two nodes in the
graph are connected if the corresponding sets have a common element.
Both f and g are L-reductions and Max 3DM −B, B ≥ 3 and Max Ind
Set −B are Max SNP-complete. Thus Max 3SP −B is Max SNP-complete
for B ≥ 3. It is also Max SNP-complete by Theorem 4.26. ✷
Max 3SP can be approximated within 3 using Algorithm 5.1.
5.4
Maximum k-set packing
The maximum k-set packing problem, where k is a positive integer, is the
natural generalization of the maximum three-set packing problem, that is, we
are given a collection of sets of size k and want to find the largest number of
pairwise disjunctive sets.
For k = 1 the problem is trivial, for k = 2 it is the same problem as
maximum matching and can be solved optimally in polynomial time [78]. For
k > 3 the problem is at least as hard to approximate as maximum three-set
packing, since we get an L-reduction with α = β = 1 from Max 3SP to Max
kSP by extending all sets to k elements by introducing extra dummy elements.
Thus Max kSP is Max SNP-hard for k ≥ 3, even if the same element cannot
be included in more than a bounded number of k-sets.
Using the same ideas as in Theorem 4.26 one can show that Max kSP −B
∈ Max SNP. This leads us to the following theorem.
Theorem 5.5 Max kSP −B is Max SNP-complete for all k ≥ 3.
The optimal solution of the maximum k-set packing problem is at most k
times as big as any solution which is a maximal set packing, so if we once again
use Algorithm 5.1 we approximate Max kSP within k.
The general maximum set packing without any restrictions on the number
of elements in the sets is much harder to approximate. It is in fact as hard
to approximate as Max Clique and thus cannot be approximated within any
constant unless P = NP.
Proposition 5.6 (Ausiello, D’Atri and Protasi [4]) Max SP ≡psp Max
Clique and Max SP ≡pL Max Clique with α = β = 1 and without node
amplification.
Proof We will give the reductions but omit the proof that they are structure
preserving.
Let an instance of Max Clique be given by the graph G = V, E and an
instance of Max SP be given by the collection C of subsets of some finite set.
Section 5.5. Maximum k-dimensional matching 63
Define a transformation f from Max Clique to Max SP by
C = {S1 , . . . , S|V | } where Si = {{vi , vj } : vj ∈ V ∧ (vi , vj ) ∈
/ E} .
A set packing now corresponds to a clique of the same size. Thus f is an
L-reduction with α = β = 1.
Define a transformation g from Max SP to Max Clique by V = C and
(Si , Sj ) ∈ E iff Si ∩ Sj = ∅. Since a maximum clique corresponds to a set
packing of the same size g is an L-reduction with α = β = 1.
In both the reductions |C| = |V | so the reductions are S-reductions with
size amplification n in the number of nodes and sets. Thus an approximation
algorithm for one of the problems gives us an equally good approximation
algorithm for the other problem. ✷
Since Max SP ≡pL Max Clique it is in the Max Ind Set class, see
Section 4.11.
5.5
Maximum k-dimensional matching
Using the same idea as in the preceding section we generalize maximum three
dimensional matching to maximum k-dimensional matching, where k is a positive integer. We are given k-tuples from k pairwise disjoint sets and want to
find the largest number of k-tuples which do not agree in any coordinate.
For k = 1 the problem is trivial, for k = 2 it is the same problem as
maximum bipartite matching and can be solved optimally in polynomial time
[78]. For k > 3 the problem is at least as hard to approximate as maximum
three dimensional matching, since we get an L-reduction with α = β = 1 from
Max 3DM to Max kDM by extending all triples to k-tuples introducing extra
dummy elements. Thus Max kDM is Max SNP-hard for k ≥ 3, even if the
same element cannot appear in more than a bounded number of k-tuples.
Once again we can use the ideas in Theorem 4.26 to show that Max kDM
−B ∈ Max SNP and thus Max kSP −B is Max SNP-complete for all k ≥ 3.
Algorithm 5.1 will approximate Max kDM within k.
5.6
Maximum triangle packing
The Max Triangle Packing problem is the optimization version of the problem partition into triangles: given a graph G = V, E, find the largest collection {Vi } of mutually disjoint 3-sets of nodes in V such that every Vi induces
a triangle (i.e. a 3-clique) in G. When bounding the degree of the input graph
by B we get the problem Max Triangle Packing −B.
Theorem 5.7 Max Triangle Packing −B, B ≥ 4 is Max SNP-complete.
Proof Since we can easy build a list of every possible triangle in the input
graph it is clear that any Max Triangle Packing input can be written as a
Max 3SP input. If the degree of the graph is bounded by B, every element in
64
Chapter 5. Matching and packing problems
the Max 3SP input will occur in at most B(B − 1)/2 three-sets. Thus Max
Triangle Packing −B is in Max SNP.
To show that Max Triangle Packing −B is Max SNP-hard we can
use the reduction by Garey and Johnson from 3DM to Partition into Triangles [34] to get an L-reduction from Max 3SP −B to Max Triangle
Packing −2B. This is proved in [52].
Another way is to use the reduction from Max 3Sat −B to Max 3DM
−3 in Theorem 5.1 and view the constructed structure as a graph. We observe
that all possible triangles in the graph are the triples in the structure. Thus the
same proof can be used to show that this is an L-reduction from Max 3Sat
−B to Max Triangle Packing −4. ✷
Max Triangle Packing can be approximated within 3 using Algorithm 5.1
where M is the set of possible triangles in the graph.
5.7
Maximum H-matching
Let H be a fixed graph. Max H-matching takes as input an undirected graph
G = V, E. The problem is to find the largest H-matching, that is, the largest
collection of node-disjoint copies of H in G. The Max Induced H-matching
problem is to find the largest induced H-matching, that is, the largest collection
of disjoint subsets of V such that every subset induces a subgraph of G which
is isomorphic to H.
Thus a solution of Max Induced H-matching is at the same time always
a solution of Max H-matching, but not vice versa, since given a copy H of H
in a solution of Max H-matching there may exist edges in G which are not
in H between the vertices in H .
If the input graph has degree bounded by a constant B we get the problems
Max H-matching −B and Max Induced H-matching −B.
Example 5.1 Let H be a 3-clique. Since H is a clique Max H-matching and
Max Induced H-matching coincide. This problem is the maximum triangle
packing problem known from Section 5.6.
Berman et al [10] have shown that the maximum planar H-matching problem is NP-complete for any connected planar graph H containing at least three
nodes. Given a planar graph G and an integer k, this is the decision problem
of determining whether G contains k node-disjoint copies of H. They
also gave
√
a fast approximation algorithm guaranteed to find k(1 − O(1/ log k)) nodedisjoint copies of H where k is the optimal number. Baker has shown that there
exists a Ptas for the H-matching problem on planar graphs [6]. For general
graphs the problem is likely to be harder to approximate in polynomial time.
We will show that for general graphs with at least three nodes in a connected
component the problem is Max SNP-hard. This is shown by a reduction from
the problem of maximum bounded 3-satisfiability. The same result holds for the
induced H-matching problem. The reduction is an extension of the reductions
Section 5.7. Maximum H-matching 65
used by Berman et al [10] and in Section 5.2 when proving that Max 3DM
−B is Max SNP-hard.
Theorem 5.8 Maximum bounded H-matching is Max SNP-hard for any H
with three or more nodes in some connected component.
Proof We divide the possible H-graphs into three classes depending on
whether they are connected and whether the largest 2-connected (i.e. 2-nodeconnected) component is unique. A cut edge is here considered to be a degenerate form of a 2-connected component. In each case we reduce Max 3Sat
−B to an input structure with generator rings connected by binary trees to
receptors. The receptors correspond to the clauses in the 3Sat problem and
the generator rings and trees correspond to the variables.
There are three types of base elements: generator elements, tree elements
and receptor elements. Each element has three special nodes which are the
only points connecting the element to other elements. In a maximum matching
we want all three special nodes in every element to be matched in the same
way.
Every variable in the 3Sat problem gives birth to a number K (which
has to be a power of two) of generator rings, each consisting of 2d generator
elements where d is the number of occurrences of the variable in clauses (see
Figure 5.7). Two of the three contact points of a generator element connect it
to neighbouring generator elements and the third connects it to a tree leaf.
Place all K generator rings created by a single variable on top of each other.
Connect all tree contact points which are in the same position in the rings with
a log K-level binary tree consisting of K − 1 tree elements. Two of the contact
points of a tree element connect it to its children (or to generator elements if
it is a leaf) and the third connects it to its father (if it is not the root of the
tree). Thus the K rings are connected to 2d trees. This structure with all
the rings and trees originating in the same variable we call a ring of trees (see
Figure 5.8).
Every matching of the structure where all three special nodes in each base
element are matched in the same way, we can look at as a matching of base
elements. A base element is considered matched in the base element matching
iff its three special nodes are matched in the original matching. A maximum
base element matching of a ring of trees can be obtained in two ways (see
Section 5.2) by including every other ring element and all tree elements in every
other tree level in the matching, which means Kd ring elements and d(K − 1)
tree elements. Mark the roots of the trees alternating + and − (walking around
the rings in any direction). We say that the ring of trees is in false mode if
it has a maximum matching and all its + roots are in the matching but no −
root, and in true mode if all − roots are in the matching but no + root. The
mode corresponds to whether the variable is true or false.
For every clause in the 3Sat problem we construct a receptor consisting
of one receptor element per variable in the clause (see Figure 5.9) where each
receptor element has one special node which should be identified with a root
node in the ring of trees originating in the corresponding variable. If the
variable appears uncomplemented in the clause we use a + root and if the
66
Chapter 5. Matching and packing problems
Figure 5.7: A generator ring with d = 4.
Figure 5.8: A ring of trees with d = 3
and K = 4.
Figure 5.9: A receptor with two elements and a receptor with three elements.
variable appears complemented we use a − node. Thus half of the root nodes
in every ring of trees will be identified to receptor nodes and the rest of them
will be free.
In order to specify the structure completely we now just have to define the
generator, tree and receptor elements and the constant K. K should be chosen
in such a way that for every matching of the structure we can in polynomial
time find an at least as big matching where every ring of trees is in either true
or false mode.
Class 1. H is connected and contains three or more nodes and a unique
maximum-size 2-connected component.
The special case where H is a triangle (i.e. a 3-cycle) is the problem Max
Triangle Packing −B which was proved to be Max SNP-complete in Sec3
tion 5.6. That proof uses the described structure with K = 2log( 2 B+1)
and
all the generator, tree and receptor elements as triangles.
Class 1, general case.
Let H be any connected graph with at least three nodes for which the
maximum-size 2-connected component, which we henceforth will denote by H,
is unique. Choose three nodes from any cycle in H and call them a, b and c.
Section 5.7. Maximum H-matching 67
a
a
H
b
c
b
Figure 5.10: Representation of H as a triangle.
H
H
H
H
Figure 5.11: A generator element in class 1. The three special nodes are open circles.
Now we can represent H as a triangle (see Figure 5.10). H with a, b and c as
special nodes will be used as both tree element and receptor element. We will
use the same K as in the special case above, and a generator element consisting
of four copies of H, connected as in Figure 5.11. The reason for complicating
the generator element in this way is that it helps us to get a matching consisting
just of fully matched triangles, as will be explained later.
The graph will get degree at most max{deg(H), 3 deg(a), 3 deg(b), 3 deg(c)}.
We have to show that for every matching of the structure we can in polynomial
time find an at least as big matching where no copy of H occurs across several
triangles. First note that if the H part of H is inside one triangle it must contain
the a, b and c nodes (because H contains only one maximum-size 2-connected
component), and we can always move the whole copy of H into the triangle
without disturbing the rest of the matching. Thus we need only look at copies
of H.
Every copy of H which occurs across several triangles must visit a cycle of
triangles (because H is 2-connected) and for each triangle in the cycle it must
use at least two of the nodes a, b and c. By inspection of the structure we see
that every cycle must go through a generator element, and in the generator
element through a triangle with an a, b or c node not connected to any other
c
68
Chapter 5. Matching and packing problems
triangle, because it is only the center triangle in a generator element in which
all three special nodes are connected to other triangles. Thus we can move the
whole copy of H into this one triangle, without disturbing anything else.
Now we are back to the special case with the only difference that the generator elements contain four triangles instead of one.
In the same way as in Section 5.2 we see that given a matching of a ring
of trees we can always modify it to a matching with all the rings matched in
the same way. Ring triangles which are connected to the tree leaves we call
top triangles. All ring triangles except the top triangles compose a chain of 6d
triangles, and at most 3d of them can be included in a maximum matching. If
3d of these triangles are in the matching, at most d of the top triangles could be
included. Suppose that d − δ top triangles are in the matching where δ > 0 and
that all rings are matched in the same way. Then we will get a matching of the
ring of trees of size at most K · 3d + (# matched ring triples) + (# matched tree
triples in trees connected to matched ring triples) + (# matched tree triples in
trees connected to unmatched ring triples) which is less than
3dK + (d − δ)K + (d − δ)
2K − 2
2K + 1
K −1
+ (d + δ)
= d(5K − 1) − δ
3
3
3
if K = 2α and α is even, and less than
3dK + (d − δ)K + (d − δ)
2K − 1
2K − 1
K −2
+ (d + δ)
= d(5K − 1) − δ
3
3
3
if K = 2α and α is odd.
Obviously δ = 0 gives us the maximum matching with d(5K − 1) triples.
δ = 1 gives us a matching of the structure which is at least 2K−1
triples smaller.
3
If more than d top triangles are in the matching, say d + δ, we can at most
include 4d − 1 ring triangles, so (# matched ring triples) + (# matched tree
triples in trees connected to matched ring triples) + (# matched tree triples in
trees connected to unmatched ring triples) which is less than
(4d − 1)K + (d + δ)
2K − 2
K −1
K −1
+ (d − δ)
= d(5K − 1) − K − δ
3
3
3
if K = 2α and α is even, and less than
(4d − 1)K + (d + δ)
2K − 1
K +1
K −2
+ (d − δ)
= d(5K − 1) − K − δ
3
3
3
less than the maximum matching.
if K = 2α and α is odd, which is at least 4K−1
3
We have d receptor elements connected to the roots of some of the trees.
Which root a receptor element is connected to depends on to which clauses the
corresponding variable belongs and whether it is negated or not in the clauses.
We would like the property that the ring of trees is in either true or false mode
to be more valuable than the inclusion of any number of the connected receptor
elements in the matching. Assume that we sacrifice this property and that we
p receptor elements instead. From these p triples one can always choose
include
p
triples
which occur at even distances from each other (corresponding to
2
Section 5.7. Maximum H-matching 69
p
the fact that one of u or u appears in at least
p 2 clauses). Thus we can
always obtain a matching with d(5K − 1) + 2 triples without sacrificing the
aforementioned property. We want that
p
2K − 1
> d(5K − 1) −
+ p for p ≤ d ⇐
d(5K − 1) +
2
3
p
1
3d 1
⇐ (2K − 1) >
for p ≤ d ⇐ K >
+ .
3
2
2 2
2
This is true because
3
3
3
1
3
1
K = 2log( 2 B+1)
≥ 2log( 2 d+1)
= 2log( 4 d+ 2 )
+1 > 2log( 4 d+ 2 ) =
1
3d 1
3
d+ ≥
+ .
=
4
2
2 2
2
Given a matching of the whole structure we can, as seen above, modify it
to an at least as big matching where every ring of trees is in either true or false
mode. By setting the variables of the 3Sat problem as the modes indicate we
will get an approximate solution of this problem which does not differ from the
optimal solution more than the size of the matching differs from the size of the
optimal matching.
This is one of the two properties of an L-reduction. The other is that the
optimum for the matching problem opt(f (I)) is bounded by a constant times
the optimum for the 3Sat problem opt(I).
opt f (I) =
n
n
di 5K − 1 + opt(I) ≤
di (5K − 1) + opt(I) ≤
i=1
≤
because opt(I) ≥
in I).
i=1
3
3m 5 · ( B + 1) − 1 + opt(I) ≤ (45B + 25) opt(I)
2
m
2
(it is always possible to satisfy at least half of the clauses
Class 2. H is connected and contains two or more maximum-size 2-connected
components.
We first consider the special case where H is a path with three nodes. As
both generator elements and tree elements we use gadgets, described in Figure 5.12. A receptor element is just a 3-node path, see Figure 5.13. Examples
of a ring and a tree are shown in Figure 5.14.
We can always modify a matching of the structure so that every 3-node
path is contained totally within a gadget or a receptor, without changing the
size of the matching, in the following way. Since every 3-node path between two
elements will isolate a leaf in one of the elements, we can move the matched
3-node path one step and use the isolated leaf instead. Next we rearrange
(and complete when needed) the matchings inside every gadget in order to
obtain one of the matchings in Figure 5.15. This is always possible and easy
to do. In these two matchings all special nodes in the gadget are matched in
the same way and we can look at the gadgets just as triangles. Thus we are
back to the special case in class 1, and we can see from that proof that this
special case is Max SNP-hard. The optimal solution of the matching problem
70
Chapter 5. Matching and packing problems
Figure 5.12: A gadget, which can be
used as a generator element or a tree element.
Figure 5.13: A receptor with two elements and a receptor with three elements.
Figure 5.14: A generator in class 2 with d = 3 and a tree with K = 4.
Figure 5.15: The two good ways to match a gadget. The continuous lines correspond
to edges included in the matching.
Section 5.7. Maximum H-matching 71
c
a
b
A
B
B
A
Figure 5.16: The representation of H with the two components A and B as two
directed edges A and B.
A
A
B
B
B
A
B
B
B
B
A
B
Figure 5.17: A gadget and a receptor element in class 2, general case.
is here bounded by the constant 72B + 28 times the optimal solution of the
satisfiability problem.
Class 2, general case.
Let H be any connected graph in which there are at least two maximumsized 2-connected components. Let H be one of the maximum-size 2-connected
components in H. In the same way as in [10] we select a cut point c which
is contained in H and which separates it from the rest of the maximum-size
2-connected components in H. This may not be possible for every H, but there
is always a choice of H such that c can be selected. Let B be the union of {c}
and the connected component containing H − {c} which is cut off by c, and
let A be the union of {c} and the rest of H. Choose a node b from H − {c}.
Let C be the 2-connected component in A which contains c. If C is one of
the maximum-size 2-connected components then let a be any node in C but
c. Otherwise let a be a node in C which separates H from a maximum-size
2-connected component in A.
Now H can be represented as something reminiscent of a 3-path with the
three nodes a, c and b, see Figure 5.16. Using this similarity we can construct generator elements, tree elements and receptor elements as in the special case, see Figure 5.17, where the edges A and B are represented as arrows, pointing towards the c node. The resulting graph has degree at most
max{deg(H), 4 deg(a), 4 deg(b), 4 deg(c)}.
We now have to see that a matching can be modified in such a way that
every matched copy of H covers exactly one A and one B edge, and does not
spread across different elements. This is proved for a similar structure in [10]
in the following way.
Suppose that we in the matching have a copy D of H which utilizes two
or fewer of the a, b and c nodes. If a c node which corresponds to a leaf copy
72
Chapter 5. Matching and packing problems
a)
b)
c)
B
B
A
A
B
d)
B
B
B
A
B
B
B
B
B
A
Figure 5.18: Possible cases for occurrences of H using two or less of the a, b and c
nodes.
of A is used, then the rest of the leaf A cannot be used by any other copy of
H and we may use the whole of A in D. By inspection of the structure we
see that D must occur in one of the four ways shown in Figure 5.18. In the
first three cases a, b and c in Figure 5.18, there is one less copy of H available
than is needed to make a copy of H. Hence a copy of H cannot occur in this
fashion. In the last case (Figure 5.18d) there are just enough maximum-size
2-connected components available (provided that a is not in a maximum-size
2-connected component of H – otherwise we are done) but there are not enough
nodes available which are in 2-connected components separating maximum-size
2-connected components. This is because all such nodes in H are contained in
A and cannot be replaced by nodes in B. Since a is such a node, it must be used
in order to complete a copy of H. Hence H cannot be contained in any of the
structures shown in Figure 5.18 and hence we can always modify a matching
in such a way that every matched copy of H covers exactly an A and a B edge.
Now we just rearrange the matchings in every gadget, as in the special case,
once again obtaining the structure of the special case in class 1.
Class 3. H is not connected.
Consider the set of maximum-size connected components in H. Let H1 be
one of the connected components in this set which have the largest number of
edges. First we look at the case when H1 is unique in H. We construct the
normal structure, as described above, with H1 as the connected graph, and
callthe structure S.
a maximum
H1 -matching of size not exceeding
S will have
3
3m 5(32 B + 1) − 1 + m = 45
B
+
13
m
if
H
1 is in class 1 and 5 · 3m 2( 2 B +
2
1) − 1 + m = (45B + 16)m if H1 is in class 2. Add this number of copies of
H−H1 to S. Now it is possible to match as many copies of H as the number of
matched H1 in S. Since H1 is a unique maximum-size connected component, we
cannot use the added components to match H1 . Therefore, given a matching of
the new structure, we first move every matched copy of a small component to
its “right place”, that is to one of the added components which are isomorphic
to the component. Then only copies of H1 are left in S and we proceed as in
the proof of class 1 or 2.
If H1 is not unique, we proceed in the following way. Suppose there are i
isomorphic maximum-size connected components H1 , H2 ,. . . , Hi in H. We construct the normal structure, but duplicate the
structure
whole
i − 1 times so we
have i identical substructures. Then we add m 45
B
+
13
or m(45B + 16)
2
i
copies of H− j=1 Hj , depending on whether H1 is in class 1 or 2, and proceed
Section 5.7. Maximum H-matching 73
as in the first case. If we have a matching which is δ from the optimal matching we can find a solution of the 3Sat problem which is less than δ/i from the
optimal solution. Thus we have an L-reduction. ✷
By inspection of the constructed H-matching instances we see that they are
instances of induced H-matching as well, with the same properties. Thus, using
the same proof we have the following theorem.
Theorem 5.9 Maximum bounded induced H-matching is Max SNP-hard for
any H with three or more nodes in some connected component.
Theorem 5.10 Both the problems Max H-matching −B and Max Induced
H-matching −B are Max SNP-complete for any connected H with three or
more nodes.
Proof Theorem 5.8 and 5.9 say that Max H-matching −B and Max Induced H-matching −B are Max SNP-hard when H is connected and contains at least three nodes. We will show that the problems are in Max SNP
by reducing them to Max Ind Set −B which is in Max SNP.
In order to show this we define a polynomial-time transformation from the
problem Max H-matching −B to Max Ind Set −B. We construct the
instance graph GI = VI , EI of the independent set problem from the Hmatching graph G = V, E in the following way. For every possible subset of
V which has the same number of nodes as H, and which induces a subgraph of G
which contains H (or in the induced H-matching problem: which is isomorphic
to H) we construct a node in VI . We have an edge e ∈ EI between two nodes v1
and v2 in VI if and only if the two corresponding subsets of V are not disjoint.
This means that every H-matching of G is an independent set of GI of the
same size and vice versa. This is a polynomial time transformation since H is
fixed and connected, and the degree of G is bounded by B. The degree of GI
is the maximum number of H-copies in G which are not node-disjoint to any
copy of H in G. This degree is bounded by a function of B and H. Therefore
the transformation is an L-reduction. ✷
Chapter 6
Maximum common
subgraph problems
6.1
Introduction
The Subgraph isomorphism problem is a famous NP-complete problem. It is
one of the first problems mentioned in Computers and Intractability by Garey
and Johnson [35]. Given two graphs the problem is to decide whether the
second graph is isomorphic to any subgraph of the first graph. The problem is
shown to be NP-complete by the following simple reduction from the Clique
problem. Let the first input graph to Subgraph isomorphism be the input
graph to Clique and let the second input graph be a K-clique where K is the
bound in the Clique problem. Now the K-clique is isomorphic to a subgraph
of the first graph if and only if there is a clique of size K or more in the graph.
A related optimization problem is called Maximum common subgraph.
In this problem we are given two graphs and we want to find the largest subgraphs which are isomorphic. The corresponding decision problem was shown
to be NP-complete by Garey and Johnson using the same reduction as above
[35]. The approximation properties of various versions of this problem are
studied in this chapter.
6.2
Maximum common induced subgraph
The maximum common induced subgraph problem (Max CIS) takes two undirected graphs G1 = V1 , E1 and G2 = V2 , E2 as input. The problem is to find
V1 ⊆ V1 and V2 ⊆ V2 such that
G
1 |V1 and
G2 |V2 (the graphs induced by V1
and V2 ) are isomorphic and V1 = V2 is as large as possible. The isomorphism between G1 |V1 and G2 |V2 is expressed as a bijective function f : V1 →
V2 such that for all v1 , v2 ∈ V1 we have (v1 , v2 ) ∈ E1 ⇔ (f (v1 ), f (v2 )) ∈ E2 .
We say that v is matched with f (v) and that f (v) is matched with v.
The maximum bounded common induced subgraph problem (Max CIS −B)
is the same problem but with restricted space of input instances: G1 = V1 , E1 74
Section 6.2. Maximum common induced subgraph 75
and G2 = V2 , E2 have degree bounded by a constant B.
6.2.1
Approximation of maximum bounded common induced subgraph
Theorem 6.1 Maximum bounded common induced subgraph (Max CIS −B)
can be approximated within B + 1.
Proof We use that independent sets of the same size are always isomorphic.
The following trivial algorithm finds an independent set V1 in the graph G1 =
V1 , E1 .
• V1 ← ∅
• Pick nodes from V1 in any order and add each node to V1 if none of its
neighbours are already added to V1 .
This algorithm will create a set of size |V1 | ≥ |V1 | /(B + 1) because for each
node in V1 either the node itself or one of its at most B neighbour nodes must
be in V1 .
Applying the algorithm to G1 and G2 gives us two independent sets V1 and
V2 . If they are of different size, remove nodes from the largest set until they
have got the same size. These sets are a legal solution of the problem of size
at least min(|V1 | , |V2 |)/(B + 1). Since the optimal solution has size at most
min(|V1 | , |V2 |) the algorithm approximates the problem within the constant
B + 1. ✷
Theorem 6.2 Max CIS −B is Max SNP-hard when B ≥ 25.
Proof The problem Max 3Sat −6, where each variable is in at most six
clauses is known to be Max SNP-complete [88]. We assume that each variable
xi occurs both as xi in some clause and as xi in some other clause, that no
clause is trivially satisfied (e.g. xi ∨ xi ) and that there are more clauses than
variables. The problem is still Max SNP-complete under these assumptions.
We will show that there is an L-reduction f1 from this problem to Max CIS
−B. Let U = {x1 , x2 , . . . , xn } be the variables and C = {c1 , c2 , . . . , cm } be the
clauses of the input instance.
f1 takes the sets U and C and constructs a Max CIS −B instance (the
graphs G1 and G2 ) in the following way. G1 and G2 are similar and consist of
6n literal nodes (six for each variable), 18m clique nodes (18 for each clause) and
a number of clause nodes. G1 has 7m clause nodes (seven for each clause) and
G2 has m clause nodes (one for each clause). The clique nodes are connected in
18-cliques (m in each graph). In both graphs the six literal nodes for a variable
xi are connected in two 3-cliques — one 3-clique we call the xi clique and the
other 3-clique we call the xi clique.
In G2 each clause node is connected with one of the clique nodes in the
corresponding 18-clique and with all the literal nodes corresponding to the at
76
Chapter 6. Maximum common subgraph problems
most three literals which are contained in the corresponding clause in the Max
3Sat −6 problem. This completes the description of graph G2 . G1 has edges
between each pair of literal nodes which corresponds to the same variable (i.e.
building a 6-clique). Finally there are some edges from the clause nodes to the
clique nodes and literal nodes in G1 . Number the seven clause nodes of clause
cj from 1 to 7 and the 18 clique nodes in the corresponding clique from 1 to
18. Now add edges between clause node i and clique node i for i from 1 to 7.
Call the three literal 3-cliques corresponding to the three literals in ci A, B and
C. Add edges between clause node 1 and each node in A, 2 and B, 3 and A,
3 and B, 4 and C, 5 and A, 5 and C, 6 and B, 6 and C, 7 and A, 7 and B,
7 and C. If ci only has two literals just add the edges from clause nodes 1, 2
and 3. If ci only has one literal just add three edges, between node 1 and the
literal 3-clique. See Figure 6.1 for an example.
The idea is that a truth assignment shall be encoded in the subgraph problem by including the corresponding literal 3-cliques in the subgraphs. For
example, if x4 is true then the literal 3-clique x4 is in the subgraphs, and if
x4 is false then the literal 3-clique x4 is in the subgraphs. The included literal
3-cliques of G1 and G2 are matched with each other. A clause node in graph
G2 is included in the subgraph iff it is satisfied by the truth assignment. If a
clause node in G2 is included then it is matched with one of the corresponding
seven clause nodes in G1 , namely with the node which is connected with exactly those literals in the clause which are true in the truth assignment. All the
clique nodes are included in the subgraphs and are matched with each other
clause-wise.
A solution of the Max 3Sat −6 problem with k satisfied clauses will be
encoded as two subgraphs (of G1 and G2 ), each with k clause nodes, 3n literal
nodes and 18m clique nodes. Since a literal can be contained in at most five
clauses at the same time, a literal node in the graph G1 has degree at most
5 · 4 + 5 = 25, a clause node has degree at most 4 and a clique node has degree
17 or 18. In G2 a literal node has degree at most 7, a clause node at most 4
and a clique node at most 18. Thus B ≥ 25.
We will now prove that the maximum solution of the Max 3Sat −6 problem
will be encoded as a maximum solution of the Max CIS −B problem, and that
given a solution of the Max CIS −B problem we can in polynomial time find
an at least as good solution which is a legal encoding of a Max 3Sat −6
solution.
Suppose we have any solution of the Max CIS −B problem, that is an
induced subgraph of G1 , an induced subgraph of G2 and a matching between
each node in the G1 subgraph and the corresponding node in the isomorphic
G2 subgraph.
• First we would like to include all clique nodes in the subgraphs and match
each 18-clique in the first graph with some 18-clique in the second. Observe that, besides the clique nodes, no node in the graph G2 is in a
clique of size five or more. This means that if five or more clique nodes
in the same 18-clique are included in the subgraph of G1 , then they must
be matched with clique nodes in the other subgraph. In the same way
we see that besides the clique nodes, no node in the graph G1 is in a
Section 6.2. Maximum common induced subgraph 77
G1 :
G2 :
x1
x1
18−clique c 1
18−clique c 1
−x
x
−x
1
x
2
1
2
18−clique c 2
−x
18−clique c 2
−x
2
2
x3
x3
18−clique c 3
18−clique c 3
−x
3
−x
3
x4
x4
18−clique c 4
−x
4
18−clique c 4
−x
4
Figure 6.1: The constructed instance of the Max CIS −B problem for the Max 3Sat
−6 input U = {x1 , x2 , x3 , x4 }, C = {(x1 ∨ x2 ∨ x3 ), (x2 ∨ x3 ∨ x4 ), (x3 ∨ x4 ), (x4 )}. One
of the possible maximum common subgraphs is formed by including the shaded nodes.
clique of size seven or more, so if seven or more clique nodes in the same
18-clique are included in the subgraph of G2 , then they must be matched
with clique nodes in the subgraph of G1 .
In each 18-clique in G1 which has 5 ≤ p < 18 nodes included in the
subgraph, we add the rest of the 18-clique to the subgraph and remove
every clause node which is connected to an added clique node. We have
added 18−p clique nodes and removed at most the same number of clause
nodes.
The matched 18-clique in G2 must also have p clique nodes in the subgraph. Add the remaining 18 − p clique nodes and remove the nodes
78
Chapter 6. Maximum common subgraph problems
which are matched with the removed clause nodes in G1 . It is easy to
see that we now can match the two 18-cliques with each other without
problems.
Perform the same operation for each 18-clique in G1 which has at least five
but not all nodes included in the subgraph. The resulting subgraphs are
at least as large as the original subgraphs, and they are still isomorphic.
Now every 18-clique in G1 either has all nodes in the subgraph or at most
four nodes in the subgraph. For each 18-clique in G1 with 0 ≤ p ≤ 4 nodes
we do the following.
We add 18 − p clique nodes to the subgraph of G1 and remove every
clause node which is connected to a clique node in the current 18-clique.
We have added 18 − p nodes and removed at most 7. In G2 we choose one
18-clique with 0 ≤ q ≤ 6 nodes in the subgraph and add the remaining
18 − q clique nodes. We remove the p nodes which are matched with the
old clique nodes in the first subgraph and the at most 7 nodes which are
matched with the removed nodes in the first subgraph. Furthermore we
have to remove the q nodes in G1 which are matched with the q old clique
nodes in G2 . If the clause node in G2 (which is a neighbour to the current
18-clique in G2 ) is included in the second subgraph we remove it and its
matched node in G1 . We have now added 18 − p ≥ 14 nodes to the first
subgraph and removed at most 7 + q + 1 ≤ 14. We have added 18 − q ≥ 12
nodes to the second subgraph and removed at most 7 + p + 1 ≤ 12. As
before, since the 18-cliques are now separate connected components we
can match them with each other without problems.
The two subgraphs are still isomorphic, and thus a solution of the problem. They are at least as large as before, but now all clique nodes are
included in the subgraphs and are matched with each other (but they are
not necessarily matched in order yet).
• We observe that in each 7-group of clause nodes in G1 at most one node is
in the subgraph. The explanation is that every clause node is in contact
with an 18-clique, which is completely in the subgraph, but in the subgraph of G2 only one node can be in contact with each 18-clique (namely
the corresponding clause node). Hence a structure with two or more
nodes connected to an 18-clique cannot be isomorphic with any structure
in G2 . Furthermore we can see that clause nodes in one of the subgraphs
can only be matched with clause nodes in the other subgraph and, since
all clique nodes are matched with clique nodes, literal nodes must be
matched with literal nodes.
• We would like to change the subgraphs so that each literal 3-clique is
either totally included in a subgraph or is not included at all. Furthermore
at most one of the two literal 3-cliques in G1 corresponding to the same
variable may be included in the subgraph. Suppose that there is (at least)
one node in the literal 3-clique x which is included in the subgraph of G1 .
Let y be the literal node in the subgraph of G2 with which this node is
matched. We examine two cases.
Section 6.2. Maximum common induced subgraph 79
G1 :
G2 :
c
b
x
18-clique
18-clique
y
x
Figure 6.2: The structure in case 1.
Case 1. At least one of the clause nodes connected to x is included in the
subgraph of G1 . Let b be one of these clause nodes and let c be
the clause node in G2 with which b is matched. See Figure 6.2.
First we shall see that no node in the x literal 3-clique can be in the
subgraph. This is because the nodes in the x clique are connected to
the nodes in the x clique but not to b (since we have assumed that x
and x cannot be in the same clause), but in G2 there are no literal
nodes which are connected to y but not to c. Since all three nodes
in the x clique have the same connections to the environment in G1
and all three nodes in the literal 3-clique containing y have the same
environment in G2 we still have isomorphic subgraphs if we include
the whole x 3-clique in the subgraph of G1 and the whole 3-clique
containing y in the subgraph of G2 .
Case 2. None of the clause nodes connected to x are in the subgraph of G1 .
If one or more nodes in x are in the subgraph of G1 then none of the
clause nodes which are connected to x can be in the subgraph, since
we in that case would be in case 1 with the clause node as b and x
as x. Thus we have a separate k-clique (with 1 ≤ k ≤ 6) of literal
nodes which by the above must be matched with a separate k-clique
of literal nodes in G2 . In G2 the largest possible clique of literal
nodes is of size 3. Therefore the only possible cases are 1 ≤ k ≤ 3.
We remove those k nodes and instead include the whole x 3-clique
in the subgraph of G1 and the whole 3-clique containing one of the
matched nodes in the subgraph of G2 .
In both cases we get a subgraph of G1 where each literal 3-clique is either
totally included in a subgraph or is not included at all and where both of
the literal 3-cliques corresponding to the same variable are never included
in the subgraph of G1 at the same time.
• We now forget about the subgraph of G2 and concentrate on the subgraph
of G1 . It contains all clique nodes, at most one of each 7-group of clause
nodes and at most one of each pair of literal 3-cliques. First we will
include literal nodes so that every pair of literal 3-cliques has exactly one
of the 3-cliques in the subgraph. We will have to remove some of the
clause nodes, but the subgraph should contain at least as many nodes as
80
Chapter 6. Maximum common subgraph problems
before. Then we reorder the clause nodes to form a legal encoding of a
Max 3Sat −6 solution.
1. Suppose there are k variables which do not have any of their literal
3-cliques in the subgraph and that there are j clauses which contain
these variables. We know that each variable can occur in at most
six clauses, thus j ≤ 6k. Using a simple algorithm (see for example
[48]) we can give values to the k variables so that at least half of
the j clauses are satisfied. We first remove all of the j clause nodes
which are in the subgraph from the subgraph and then include one
clause node for each clause which was satisfied by the algorithm and
the literal 3-cliques corresponding to the k variable values. We will
then have removed at most j nodes and included at least 3k + j/2 ≥
j/2 + j/2 = j nodes.
2. In order to create a subgraph of G1 which is a legal encoding of
a Max 3Sat −6 solution we may have to substitute some clause
nodes in the subgraph for other clause nodes in the same 7-groups.
Every clause node in the resulting subgraph should have connections
to exactly those literal 3-cliques which are included in the subgraph
of G1 and correspond to literals in the corresponding clause. It is
easy to see that this operation is always possible.
• As the subgraph of G2 choose nodes as shown in the description of the
encoding above. This is possible since the subgraph of G1 is a legal
encoding of a Max 3Sat −6 solution. The isomorphic matching is then
trivial.
We have now shown that every solution of the Max CIS −B problem can be
transformed to an at least as large solution which is a legal encoding of a Max
3Sat −6 solution. Moreover this transformation can be done in polynomial
time.
If the optimal number of satisfied clauses is r and we do not have more
variables than clauses then the optimal number of nodes in a subgraph is 3n +
18m + r ≤ (3 + 18)m + r ≤ 21 · 2r + r = 43r, since we can always satisfy at least
half of the clauses. Thus the transformation f1 of a Max 3Sat −6 problem to
a Max CIS −B problem, where B ≥ 25, is an L-reduction with α = 43 and
β = 1. ✷
6.2.2
Approximation of maximum unbounded common
induced subgraph
Theorem 6.3 There is a reduction from Max CIS to Max Clique which is
an L-reduction and an S-reduction with node amplification n2 .
Proof From the input graphs G1 and G2 we form a derived graph G = V, E
in the following way (due to Barrow and Burstall [9]).
Section 6.2. Maximum common induced subgraph 81
1
2
3
A
A
C
D
B
B
1
2
C
3
D
Figure 6.3: An example of the transformation from Max CIS to Max Clique
in Theorem 6.3. The maximum size cliques in the right graph have size three, e.g.
(A1,B3,C2) which corresponds to a common subgraph matching between node A and
1, B and 3, C and 2 in the left graphs.
Let V = V1 ×V2 and call V a set of pairs. Call two pairs v1 , v2 and w1 , w2 compatible if v1 = w1 and v2 = w2 and if they preserve the edge relation, that
is there is an edge between v1 and w1 if and only if there is an edge between
v2 and w2 . Let E be the set of compatible pairs. See Figure 6.3.
A k-clique in the derived graph G can be interpreted as a matching between two induced k-node subgraphs. The subgraphs are isomorphic since the
compatible pairs preserve the edge relation.
Thus, if we have a polynomial time approximation algorithm for the Max
Clique problem which finds a solution within p we can apply it to the derived
graph and use the answer to get an approximate solution for the Max CIS
problem of exactly the same size. Since the maximum clique corresponds to
the maximum common induced subgraph this yields a solution within p for
the Max CIS problem and we have an L-reduction from Max CIS to Max
Clique with α = β = 1.
For example we can use the Max Clique approximation algorithm by
Boppana and Halldórsson [18]. This algorithm will, for a graph of size n, find
a clique of size at least O((log n)2 /n) times the size of the maximum clique.
Note that in spite of the size of the optimal solution being preserved by
the reduction, the size of the problem instance is increased. If the two input
graphs of the Max CIS problem contain m1 and m2 nodes respectively, the
constructed graph will contain m1 m2 nodes and the algorithm will only guarantee a common induced subgraph of size O((log m1 m2 )2 /(m1 m2 )) times the
size of the maximum common induced subgraph.
Thus the reduction is an S-reduction with node amplification n2 . ✷
Theorem 6.4 There is a reduction from Max Clique to Max CIS which is
an L-reduction and an S-reduction without node amplification.
82
Chapter 6. Maximum common subgraph problems
Proof The reduction is the same as the one Garey and Johnson used to prove
that Subgraph isomorphism is NP-complete. The Max Clique input is
given as a graph G. Let the first of the Max CIS graphs G1 be this graph. Let
G2 be a |V1 |-clique, that is a complete graph with the same number of nodes
as G1 . The constructed graphs have the same number of nodes as the input
graph.
Every induced subgraph in G2 is a clique. Thus each common induced
subgraph is a clique. The optimal solution of the Max Clique problem is a
clique of size at most |V |, and this clique is also the largest clique in G1 and is
therefore the largest common induced subgraph.
In order to prove that this is an L-reduction we also have to show that
given a solution of the Max CIS problem we in polynomial time can find an at
least as good solution of the Max Clique problem. But since every common
subgraph is a clique we can directly use the subgraph as a solution to the Max
Clique problem. The solutions have the same size. ✷
The Max Clique problem is actually the same problem as Max Ind Set
on the complementary graph. Thus the unbounded Max CIS problem is hard
to approximate, see Section 4.11.
6.3
Maximum common edge subgraph
The maximum common edge subgraph problem (Max CES) also takes two
undirected graphs G1 = V1 , E1 and G2 = V2 , E2 as input. This problem
differs from the maximum common induced subgraph problem in that the sub
graphs do not need to be node induced. The problem is to find
E1 ⊆ E 1 and
E2 ⊆ E2 such that G1 |E1 and G2 |E2 are isomorphic and E1 = E2 is as
large as possible.
The maximum bounded common edge subgraph problem (Max CES −B) is
the same problem where the input graphs have degree bounded by a constant
B.
6.3.1
Approximation of maximum bounded common edge
subgraph
Lemma 6.5 A maximum matching of a graph G = V, E with degree at most
B contains at least |E| /(B + 1) edges.
Proof Let ν be the number of edges in the maximum matching and p be the
number of nodes in the graph. If there exists a perfect matching, then p = 2ν
and
p · B/2
p
|E|
≤
< = ν.
B+1
B+1
2
If p ≥ 2ν + 1 the inequality |E| ≤ (B + 1)ν follows from [75, theorem 3.4.6].
✷
Section 6.3. Maximum common edge subgraph 83
G:
g(G):
Figure 6.4: An example of the transformation g in Theorem 6.7.
Theorem 6.6 Maximum bounded common edge subgraph (Max CES −B)
can be approximated within B + 1.
Proof We use the same idea as in the proof of Theorem 6.1, but create an
independent set of edges instead. In polynomial time we can find a maximum
matching of the graphs. The size of the smallest maximum matching is by
Lemma 6.5 at least min(|E1 | , |E2 |)/(B + 1) and the size of the optimal solution
is at most min(|E1 | , |E2 |), so we can approximate this problem too within the
constant B + 1. ✷
Now we will show that if the degrees of the graphs are bounded then the
Max CIS problem is at least as hard to approximate as the Max CES problem.
Theorem 6.7 There is an L-reduction from the problem Max CES −B to
the problem Max CIS−(2B + 3).
Proof Let f3 be the following transformation from Max CES −B to Max
CIS −(2B + 3). An input instance {G1 E , G2 E } of Max CES −B shall be
transformed to an instance {G1 I , G2 I } of Max CIS −(2B + 3). Let G1 I =
g(G1 E ) and G2 I = g(G2 E ) where g transforms each node with degree greater
than zero to a (2B + 3)-clique and each edge to two edges connected with
an edge node. The two edges are connected to one node in each of the two
(2B + 3)-cliques corresponding to the end points of the edge in the original
graph. This shall be done so that every clique node is connected to at most
one edge node. The constructed graphs have degree 2B + 3. See Figure 6.4.
Solutions {E1 , E2 } to the Max CES −B problem is encoded as solutions
{V1 , V2 } to the Max CIS problem where an edge node is in Vi iff the corresponding edge is in Ei and where min(|V1 | , |V2 |) (2B + 3)-cliques, among them
all cliques corresponding to nodes adjacent to edges in E1 and E2 , are included
in each subgraph.
In the same way as in the proof of Theorem 6.2 we will show that given a
solution of the Max CIS problem, which is d smaller than the optimal solution,
84
Chapter 6. Maximum common subgraph problems
we can in polynomial time find a solution of the Max CES −B problem which
is at most d smaller than the optimal solution.
Given solutions V1 and V2 we first modify them so that all clique nodes are
included. Observe that cliques of size three or more only can be found in the
(2B + 3)-cliques in G1 I and G2 I and thus that a (2B + 3)-clique in G1 I with
k nodes (k ≥ 3) in V1 only can be matched with a (2B + 3)-clique in G2 I with
exactly k nodes in V2 (and vice versa). For each (2B + 3)-clique in G1 I with k
nodes (3 ≤ k < 2B + 3) in V1 we can add the remaining 2B + 3 − k nodes if we
remove all edge nodes in V1 which are connected to added nodes and perform
the same operations on the matched clique in the other graph.
Now every clique either has all nodes in the subgraph or at most two nodes
in the subgraph. For each clique in G1 I with 0 ≤ p ≤ 2 nodes we do the
following (until there are no nonfull cliques left in one of the subgraphs).
We add 2B + 3 − p clique nodes to the subgraph of G1 I and remove every
edge node which is connected to a clique node in the current clique (at most
B nodes). In G2 I we choose one clique with 0 ≤ q ≤ p nodes in the subgraph.
If one of the p nodes in the first subgraph is matched with a clique node in
the second subgraph (which is always the case if p = 2 because two edge nodes
never are connected) we choose this clique. We add the remaining 2B + 3 − q
clique nodes and remove every edge node which is connected to a clique node
in the current clique (at most B nodes).
If one of the q nodes in the second subgraph is matched with an edge node
in the first subgraph we have to remove this edge node from the first subgraph.
If one of the p nodes in the first subgraph is matched with an edge node in the
second subgraph we have to remove this edge node from the second subgraph.
Furthermore we have to remove the at most B nodes in the first subgraph
which are matched with edge nodes which are connected with nodes in the
current clique in the second subgraph. And symmetrically we have to remove
the at most B nodes in the second subgraph which are matched with edge nodes
which are connected with nodes in the current clique in the first subgraph.
We have now added 2B + 3 − p ≥ 2B + 1 nodes to the first subgraph and
2B + 3 − q ≥ 2B + 1 nodes from the second subgraph and removed at most
B + 1 + B = 2B + 1 nodes from the first subgraph and B + 1 + B = 2B + 1 nodes
from the second. If we match the cliques with each other the two subgraphs
are still isomorphic.
Now every clique node in at least one of the graphs, say in G1 I , is included
in the corresponding subgraph and are matched with clique nodes in the other
subgraph. Therefore the edge nodes in the second subgraph must be matched
with edge nodes in the first subgraph. Every edge node in the first subgraph
must be matched with an edge node in the second subgraph, because it is
adjacent to a (2B + 3)-clique in the first subgraph, and no clique node in the
second subgraph is adjacent to a (2B + 3)-clique. Thus we have subgraphs
which are an encoding of a Max CES −B solution, where an edge node is in
the Max CIS subgraph if and only if the corresponding edge is in the Max
CES −B subgraph.
If the subgraphs in an optimal solution of the Max CES −B problem
contain k edges then the number of nodes in the subgraphs in the optimal
Section 6.3. Maximum common edge subgraph 85
−
→
a
←
−
a
←
−
b
−
→
d
−
→
b
←
−
c
←
−
f
−
→
f
←
−
d
−
→
e
←
−
e
−
→
c
Figure 6.5: The digraphs resulting from a triangle and a 3-star in Theorem 6.8.
solution to the Max CIS problem is
k+(2B +3)·2·min(E1 E , E2 E ) ≤ k+(2B +3)·2·(B +1)k = (4B 2 +10B +7)k
✷
Thus the reduction f3 is an L-reduction with α = 4B 2 + 10B + 7 and β = 1.
6.3.2
Approximation of maximum unbounded common
edge subgraph
Theorem 6.8 There is a reduction from Max CES to Max Clique which is
an L-reduction and an S-reduction with node amplification n2 .
Proof We use the same idea as in the proof of Theorem 6.3 but the pairs are
now pairs of directed edges instead of pairs of nodes. Let V = A1 × A2 , where
−
→
e and −
e , for each edge e ∈ Ei . We say that
Ai consists of two directed edges, ←
−
→
−
→
−
→
−
→
→1 = −
→1 , −
→1 = ←
→2 = −
→2 ,
two pairs m1 , m2 and n1 , n2 are compatible if −
m
n
m
n−1 , −
m
n
−
→
←
−
−
→
−
→
m2 = n2 and they preserve the node relation, that is m1 and n1 are incident
→2 are incident to the same node in
→2 and −
n
to the same node if and only if −
m
←
−
→ →
−
→
the same way. For example, in Figure 6.5 −
a , d is compatible with b , −
e ,
→ −
−
→ ←
− ←
←
−
←
−
←
−
→
−
→
−
b , f , b , −
e and b , f but not with e.g. b , −
e or b , ←
e .
A k-clique in the derived graph can be interpreted as a matching between
two edge subgraphs with k edges in each subgraph. The subgraphs are isomorphic since the compatible pairs preserve the node relation.
Thus we get an L-reduction from Max CES to Max Clique with α = β =
1 which we can use to transform a Max Clique approximation algorithm to
a Max CES approximation algorithm. As in Theorem 6.3 the reduction has
node amplification n2 . ✷
86
Chapter 6. Maximum common subgraph problems
Max 3Sat −B
∧
Max CIS −B
∨
Max CES −B
< Max Clique <
LIP
∧∨
∧∨
<
Max CIS
< Max CICS
∨
<
Max CES
Figure 6.6: Summary of how the common subgraph problems are related. Here
P1 < P2 means that there is an L-reduction from problem P1 to problem P2 .
6.4
Maximum common induced connected subgraph
When we gave an approximation algorithm for the Max CIS −B problem in
Theorem 6.1 we constructed a maximal independent set to use as the common
subgraph. Somehow this feels like cheating, because an independent set of
nodes is usually not the type of common subgraph we want. Perhaps we would
rather like to find a big common connected subgraph. Unfortunately the Max
CIS problem, where we demand that the common subgraph is connected, is
provably hard to approximate. We will prove that this problem is NPO PBcomplete under L-reductions.
In general, for similar graph problems, the demand that the solution subgraph is connected seems to lead to harder problems [107].
Theorem 6.9 Maximum common induced connected subgraph (Max
CICS) is NPO PB-complete under L-reductions.
Proof NPO PB consists of all NPO problems which are polynomially bounded, see Definition 2.16.
We know that Longest induced path in a graph G is NPO PB-complete
under P-reductions (see Proposition 4.11) so we will L-reduce this problem to
Max CICS in order to show that the latter problem is NPO PB-complete.
Choose G as the first graph G1 and choose a simple path with |V | nodes
as the second graph G2 . We observe that every induced connected subgraph
in G2 must be a simple path. The maximum induced connected subgraph is
the longest induced path that can be found in G1 , that is the optimal solution
of the LIP problem with input G. Since every non-optimal solution of size c
immediately gives a solution of the LIP problem of size c the transformation
is an L-reduction with α = β = 1 and without node amplification. ✷
In this chapter we have studied the approximability of some maximum
common subgraph problems. Figure 6.6 illustrates the situation.
Yannakakis observed in [108] that problems on edges tend to be easier to
solve than their node-analogues. We have seen that this is valid for the approximability of the maximum common graph problem as well.
Chapter 7
The travelling salesperson
problem
7.1
Introduction
The general travelling salesperson problem (Min Tsp) is the problem of, given
a sequence of cities c1 , c2 , . . . , cn and distances d(ci , cj ) for each pair of cities,
finding the shortest tour between the cities, that is, finding a permutation π of
the cities that minimizes
n−1
d(cπ(i) , cπ(i+1) ) + d(cπ(n) , cπ(1) ).
i=1
In the symmetric travelling salesperson problem the distances for all pairs
of cities satisfy d(ci , cj ) = d(cj , ci ). This problem has many applications, for
example VLSI chip fabrication. See [65] for an exposition of the problem’s
applications and history.
An important special case of the symmetric Tsp is the Euclidean travelling
salesperson problem. In this problem the n cities are given as coordinates in the
Euclidean space and the distances are simply the Euclidean distances between
the cities.
All the mentioned variants of the Tsp are known to be NP-hard [65]. Thus
it is almost certain that they cannot be solved in polynomial time. The trivial
algorithm which tests all n! permutations takes time 2O(n log n) . In this chapter √we present an algorithm solving the Euclidean Tsp in the plane in time
2O( n log n) using ring formed separators. Recently Warren Smith found, independently
of us, another algorithm which also solves the problem in time
√
2O( n log n) [102].
Much attention has been addressed to the question of efficient approximation algorithms. There exist many heuristics for the different variants of Tsp
[49]. An algorithm by Christofides finds in polynomial time a tour of length
at most 32 times the shortest tour possible for the symmetric Tsp where the
87
88
Chapter 7. The travelling salesperson problem
distances obey the triangle inequality [21]. This is still the best approximation
performance ratio known.
Papadimitriou and Yannakakis have shown that the Tsp with all distances
either one or two is Max SNP-hard, and therefore it does not have a polynomial time approximation scheme provided that P = NP. It is unknown
whether the Euclidean Tsp is Max SNP-hard [89].
A result of a quite different nature for the Euclidean travelling salesperson
problem where √
all n cities
is that the optimal tour in the
√ are in the unit square √
worst case is α n + o( n), where 1.075 ≤ α ≤ 2 [105].
7.2
General Tsp
Given a complete undirected graph G = V, E with non-negative integer edge
weights s : E → N. A solution to the symmetric general travelling salesperson
problem is a permutation π of the nodes in the graph. The problem is to find
the permutation that minimizes the sum of the edge weights in the tour, that
is
|V |−1
s(vπ(i) , vπ(i+1) ) + s(vπ(|V |) , vπ(1) ).
i=1
Min Tsp is in NPO but the optimal solution is not polynomially bounded, so Min Tsp ∈
/ NPO PB. Garey and Johnson have shown that if Min
Tsp could be approximated within a constant, then Min Tsp can be solved
optimally in polynomial time and thus P = NP [34].
In fact it is extremely hard to approximate Min Tsp. Orponen and Mannila have shown that Min Tsp is NPO-complete under strict reductions with
respect to any cost-respecting measure of approximation quality [83], that is
every NPO problem can be strictly reduced to Min Tsp, see Proposition 4.8.
7.3
Tsp with triangle inequality
The general travelling salesperson problem is obviously very hard to approximate, but a restricted problem may be easier. Let us demand that the edge
weight function must satisfy the triangle inequality, that is
∀i, j, k ∈ [1.. |V |], s(vi , vk ) ≤ s(vi , vj ) + s(vj , vk ) if i = j, i = k and j = k.
This is called the travelling salesperson problem with triangle inequality or Min
∆Tsp. This problem is relatively easy to approximate as we will see. It can be
approximated within a constant, but it cannot be approximated within every
constant.
7.3.1
Approximation algorithm by Christofides
Christofides has given a beautiful approximation algorithm for the travelling
salesperson problem with triangle inequality. It approximates the optimal solution within 3/2.
Section 7.3. Tsp with triangle inequality 89
Algorithm 7.1 (Christofides [21])
Input: A complete undirected graph G = V, E with non-negative integer
edge weights s : E → N which satisfy the triangle inequality.
Output: A travelling salesperson tour of G of length at most 3/2 times the
length of the minimum tour.
Algorithm:
1. Find a minimum spanning tree of G.
2. Let V be the set of nodes which have odd degree in the spanning tree.
There is always an even number of such nodes.
3. Find a minimum matching of the graph induced by V and add the edges
in the matching to the spanning tree. Now every node in the augmented
spanning tree has even degree. Thus the graph is Eulerian.
4. Find an Eulerian tour (a circuit which traverses every edge once) of the
augmented spanning tree.
5. Convert the Eulerian tour into a Tsp tour by shortcutting nodes which
have already been visited.
Analysis: First only consider the graph induced in G by V . The minimum
Tsp tour of this graph gives us two matchings of V , simply by taking every
second edge in the tour. The lengths of these two matchings can of course
not be smaller than the length of the minimum matching and the sum of the
lengths of the two matchings is the length of the minimum tour of the induced
graph which is less than the length of the minimum tour of the original graph
G. Thus the length of the minimum matching is less than half the length of
the minimum tour of G.
The sum of the length of the edges in the spanning tree is less than the
length of the minimum tour. The length of the Eulerian tour in step 4 is
therefore less than 3/2 times the length of the minimum Tsp tour.
Because of the triangle inequality the shortcuts in step 5 can only make the
tour shorter. We have found that the length of the constructed tour is at most
3/2 times the minimum tour.
Each step in the algorithm can be done in polynomial time.
7.3.2
Tsp with distances one and two
A very restricted variant of Tsp is the travelling salesperson problem with distances one and two (Min (1, 2)Tsp). In this problem the edge weight function
in the complete graph can only take values one and two, that is s : E → {1, 2}.
Observe that the sum of the lengths of two edges is at least two, i.e. greater
than or equal to the length of one edge. Thus this edge weight function satisfies
the triangle inequality and thus any negative result obtained on the approximability of Min (1, 2)Tsp will be a negative result on the approximability of
Min ∆Tsp.
Proposition 7.1 (Papadimitriou and Yannakakis [89])
Min (1, 2)Tsp is Max SNP-hard.
Thus the general polynomially bounded travelling salesperson problem with
triangle inequality is Max SNP-hard.
90
Chapter 7. The travelling salesperson problem
Papadimitriou and Yannakakis also gave an algorithm which approximates
Min (1, 2)Tsp within 7/6 and therefore is better than Christofides’s algorithm
in this case.
7.3.3
2-dimensional Euclidean Tsp
Another special case of the travelling salesperson problem with triangle inequality is the k-dimensional Euclidean Tsp. In this problem the n cities are
situated in a k-dimensional Euclidean space. The input instance consists of n
integer k-dimensional vectors, the coordinates of the cities.
The distance between two cities at coordinates (v1 , . . . , vk ) and (u1 , . . . , uk )
is the discretized Euclidean length
!
k
!
 " (vi − ui )2

 i=1




The decision problem version of the Euclidean Tsp is NP-complete for k ≥ 2
[85].
In spite of the efforts made by many researchers over the years, no algorithm
approximating the Euclidean Tsp better than Christofides’s algorithm has been
found. This is surprising, since of all the characteristics of Euclidean space,
Christofides’s algorithm only uses the triangle inequality. Therefore it seems
likely that the problem cannot be approximated much better, at least not within
every constant, so it may be possible to prove the problem to be Max SNPhard.
While working on this we found an algorithm which solves the 2-dimensional
Euclidean Tsp exactly. The algorithm is of course exponential but it is much
faster than previously known algorithms.
7.3.3.1
Exact solution
Algorithm 7.3 solves the Euclidean Tsp in the plane. It uses two subroutines:
Algorithm 7.2, which finds the separators, and Algorithm 7.4, which solves the
problem of finding the shortest Hamiltonian paths with starting points and end
points given. Given a set of points and m pairs of distinguished points, the
Hamiltonian paths are m paths with the given pairs as starting and end points,
which together pass through all points in the set and for which the sum of the
lengths is minimal.
In order to prove the correctness of Algorithm 7.3 we have to prove five
lemmas. We will start with these and conclude with the three algorithms.
Lemma 7.2 Given two concentric
√ circles with radii r1 and r2 , r1 < r2 . If
the optimal Tsp tour contains k n edges which cross both the circles, then
1 +r2 )
√
.
r2 − r1 < 3π(r
k n
Proof The idea is to find a shorter tour if the distance r2 − r1 between the
circles is too big. This is done by identifying three close neighbouring crossing
Section 7.3. Tsp with triangle inequality 91
r2−r1
Figure 7.1: Three edges crossing the circles and the result after shortening and taking
shortcuts.
E
D
F
b
B
A
C
a
Figure 7.2: Definition of A, B, C, D, E, F, a and b.
edges, substituting the parts of the edges between the circles by shorter edges
and taking shortcuts as in Figure 7.1. Observe that the optimal tour can never
cross itself.
We define the points A, B, C, D, E, F as the intersection of the edges and
the circles and the distances a and b as AC and DF respectively. See Figure 7.2.
First we look at the possible values of a + b for three neighbouring crossing
edges. Starting at any edge we compute the sum of the values of a + b around
the ring. This sum is less than the sum of the circumferences 2π(r1 + r2 ).
The mean value of a + b (supposing there is an even number of crossing edges)
+r )
√1 2 . Thus there are always three neighbouring crossing edges with
is 2π(r
k n/2
a+b<
4π(r1 +r2 )
√
.
k n
1 +r2 )
√
Suppose the distance between the circles is greater than 3π(r
. We will
k n
show that we now can find a shorter tour by substituting these three crossing
edges. The substitution will depend on how the edges are connected with
each other in the tour. Figure 7.3 shows the three possible cases (reflections
not counted) and how to make the substitutions in each case. Note that the
substitutions in case 2 and 3 are the same. We have to show that the sum of
the lengths of the new edges is less than before.
Case 1. Show that AF + BC + DE < AD + BE + CF .
AD + BE + CF ≥ AD + 2(r2 − r1 ) and AD + BE + CF ≥ CF + 2(r2 − r1 ).
AF + BC + DE < AF + a + b < AD + b + a + b
92
Chapter 7. The travelling salesperson problem
Figure 7.3: How to make edge substitutions in the three different cases.
which is less than AD + 2(r2 − r1 ) if a + 2b ≤ 2(r2 − r1 ).
AF + BC + DE < AF + a + b < CF + a + a + b
which is less than CF + 2(r2 − r1 ) if 2a + b ≤ 2(r2 − r1 ).
3
(a + b) ≤ 2(r2 − r1 ) ⇒ (a + 2b ≤ 2(r2 − r1 )) ∨ (2a + b ≤ 2(r2 − r1 )) ⇒
2
⇒ AF + BC + DE < AD + BE + CF.
Case 2 and 3. Show that AD + BC + EF < AD + BE + CF .
AD + BC + EF < AD + a + b < AD + 2(r2 − r1 ) ≤ AD + BE + CF
if 32 (a + b) ≤ 2(r2 − r1 ).
Thus we can make the tour shorter if r2 − r1 ≥
3 4π(r√
1 +r2 )
4
k n
=
3π(r1 +r2 )
√
.
k n
✷
Lemma 7.3 Suppose we have four concentric circles with radii r1 < r2 < r3 <
r4 dividing the plane into five areas
√ P, Q, R, S and T as in Figure 7.4.√Suppose
that P and T contain
at
least
K
n cities each,
Q and S exactly p n cities
√
√
each and R contains n cities. If at least K n edges in the optimal tour cross
the ring R and 0 < p < K
2 , then one of the following inequalities is true.
3π(r + r )
K 4 √2
n
2 −p
3π(r3 + r1 )
√
r3 − r1 < K
n
2 −p
√
√
Proof The ring R is crossed by at least K n edges. At most
√ 2p n of them
can go between cities in Q √
and S since there are exactly 2p n of cities in Q
and S.Therefore
(K
−
2p)
n of the edges must start in either
√
√P or T . Thus
K
either K
−
p
n
edges
cross
both
circle
2
and
4
or
−
p
n edges cross
2
2
both circle 1 and 3. Applying Lemma 7.2 gives us the sought inequalities. ✷
r4 − r2
<
Section 7.3. Tsp with triangle inequality 93
P
Q
R S
T
Figure 7.4: Division of the plane into the areas P, Q, R, S, T .
√
Lemma 7.4 Suppose we have 0.8 n+1 concentric circles with radii r0 < r1 <
· · · < r0.8√n . Suppose that√each pair of neighbouring circles
(with radii ri and
√
ri+1 ) encloses a ring with n cities and that at least K n edges in the optimal
tour go across both the circles (i and i+1). If K = 24 then the quotient between
the radius for the biggest and the smallest circle
√
r0.8√n
<1+ 2
r0
Proof Let p = ( K
2 ) − 1. First look at the 2p + 2 innermost circles. By
3π(r
+r )
Lemma 7.3 we know that either rp+1 − r0 < K p+1√ 0 or r2p+1 − rp <
3π(r2p+1 +rp )
√ .
K
n
2 −p
2
−p
n
In the first case we can use Lemma 7.3 again on rings p + 1 to
2p + 1 and in the second case on rings 0 to p. This procedure can continue,
each step giving a size bound for half of the rings. Finally we just have one or
two rings left, which we bound using Lemma 7.2. If K = 24 we will get p = 11
and the bound
3π(r2p+1 + r2p+1 ) 1
1
1
1 25r2p+1
√
< √
+ 24
+ 24
+2·
r2p+1 −r0 <
24
n
24
n
2 − 11
2 −5
2 −2
In the same way we can bound r2(2p+1) − r2p+1 by
25r3(2p+1)
√
n
by
and so on. Define ai as ri(2p+1)
have the recurrence relation
25r2(2p+1)
√
,
n
r3(2p+1) − r2(2p+1)
0.8√n for 0 ≤ i ≤ 2p+1 . We then
√
0.8 n
ai − ai−1
25ai
1
25 − 2p+1 < √ ⇒ ai <
ai−1 ⇒ a 0.8√n < 1 − √
a0
25
2p+1
n
n
1 − √n
Thus
r0.8√n
r0
<
<
✷
√
0.8 n
0.8√n
25 25 − 2p+1 −1
− 1 ln(1 − √ )
1− √
= exp −
n
2p + 1
n
0.8√n 25 √
0.8 · 25
√
= exp
<1+ 2
exp
2p + 1 n
23
94
Chapter 7. The travelling salesperson problem
L2
a)
L2
b)
A
B
A
B
≥ 0.2n cities
≥ 0.2n cities
≥ 0.2n cities
< 0.2n cities
L1
L1
C
D
C
D
≥ 0.2n cities
≥ 0.2n cities
< 0.2n cities
≥ 0.2n cities
Figure 7.5: Two partitions of n cities.
Lemma 7.5 Suppose we have a line L1 in the plane and n/2 cities on each
side of the line. Then there is a line L2 orthogonal to L1 dividing the plane
into four areas A, B, C, D as in Figure 7.5, where A and D contain at least
n/5 cities each and B and C either both contain at least n/5 cities (case a) or
both contain less than n/5 cities (case b).
Proof Place L2 in such a way that C and D contain n/4 cities each. If A and
B contain at least n/5 cities each, then we are done. Otherwise we suppose,
without loss of generality, that it is B which contains less than n/5 cities. Now
move the line L2 slowly to the left, all the time counting how many cities are
moved from A to B and from C to D. Stop when there are either n/5 cities
in B (i.e. we are in case a in Figure 7.5) or less than n/5 cities in C (i.e. we
are in case b), whichever occurs first. If the two cases occur at the same time,
at least two cities must be on L2 , one on each side of the crossing point. Then
we turn the two lines clockwise a little bit so the cities on L2 are moved from
B and C, leaving us in case b. ✷
√
Lemma 7.6 In the complex plane the four circles reiθ , r(1 + 2)eiθ , reiθ + c
√
√
and r(1+ 2)eiθ +c are given, where c = √r2 (1+ 2+i), r is a positive constant,
and 0 ≤ θ < 2π, see Figure 7.6. The ring segment D which is bounded by the
√
circles reiθ , r(1 + 2)eiθ and the lines tei0 and teiπ/4 for t ≥ r is contained
in the circle reiθ + c. The ring segment B which is bounded by the circle
reiθ and the lines teiπ and te−iπ/2 for t ≥ r has no point inside the circle
√
r(1 + 2)eiθ + c. See Figure 7.7 for an illustration.
Proof The intersection points of reiθ and reiφ + c are reiπ/4 (for φ = π)
√ iθ
and r (for φ = − 3π
2)e and reiφ + c
4 ). The intersection points of r(1 +
√
√
are r(1 + 2) (for φ = − π4 ) and r(1 + 2)eiπ/4 (for φ = π2 ). Therefore D is
contained in reiφ + c.
Section 7.3. Tsp with triangle inequality 95
Figure 7.6: The four circles of Lemma 7.6.
The point in B which is closest to c is obviously −ir. But −ir is on r(1 +
√ iφ
2)e + c for φ = − 3π
4 . Thus no point in B can be inside the circle r(1 +
√ iφ
2)e + c. ✷
Algorithm 7.2
Input: n cities
√ in the plane.
Output: 0.8 n possible ring
√ shaped separators, separating two areas in the
plane. Every separator has n cities and the two areas it separates have at
least
√ 0.1n cities each. At least one of the separators is crossed by fewer than
24 n edges from the optimal Tsp tour through the n cities.
Algorithm:
1. Find the two lines L1 and L2 as in Lemma 7.5. Let L1 be the x-axis and
L2 the y-axis in a coordinate system for the plane.
2. Construct a circle with the center in the origin (the crossing point of L1
and L2 ). Make its radius r so big that the circle contains exactly 0.1n
cities.
√
3. Construct 0.8 n concentric circles around the first circle
√ so that every
ring between two neighbouring circles contains exactly n cities.
If, at any time, a city lies on a circle, we move the whole structure so
that it does not lie on the circle and no other city is placed on a circle or
on L1 or L2 .
√
4. If the radius
of
the
outermost
circle
is
greater
than
r(1
+
2) then return
√
the 0.8 n rings between the circles.
5. Otherwise, count the cities in the four ring segments created by the innermost circle, the outermost circle and the lines L1 and L2 . Cut the
ring segment with the greatest number of cities in two symmetric halves
by a line through the origin. Choose a new center c in%the middle of the
√
half with the greatest number of cities, at distance r 2 + 2 from the
origin.
6. Construct a new circle with the center in c and radius r so that the circle
contains exactly 0.1n cities.
96
Chapter 7. The travelling salesperson problem
Figure 7.7: Naming of the three areas B, C and D used in the correctness proof.
√
7. Construct 0.8 n concentric circles around this circle in the same way as
in step 3 of the algorithm.
√
8. Return the 0.8 n rings between the circles from step 6 and 7.
Time: The heaviest part of the computation is to sort the n cities with respect
to the y-coordinate (to find L1 ), the x-coordinate (to find L2 ), the distance to
the origin (to find the circles in step 2 and 3) and the distance to c (to find the
circles in step 6 and 7). These sortings use O(n log n) comparisons. The rest
of the computation can also be done in O(n log n). √
Correctness:
The output from the algorithm is 0.8 n concentric
√ rings with
√
n cities in each ring. If the outermost radius is at least 1 + 2 times the
innermost
√ radius, then Lemma 7.4 says that there must be a ring with less
than 24 n edges from the optimal tour. Thus the algorithm is correct if it
returns in step 4.
The circle segment containing the most cities in step 5 must contain at least
1
0.8n
= 0.2n cities. The half containing the most cities must contain at least
4
0.1n %
cities. Without loss of generality we can assume that the new center is
√
√
c = r 2 + 2 eiπ/8 = √r2 (1 + 2 + i). Lemma 7.6 says that the entire half is
contained in a circle with radius r about c. Therefore the circle constructed in
step 6 must have radius r ≤ r.
By Lemma 7.6 √
we also know that the area B in Figure 7.7 is at least
the distance r(1 + 2) from c. If B contains more than 0.1n cities then the
outermost
in step 7 must cross B and thus has radius >
√
√ circle constructed
r(1 + 2) ≥ r (1 + 2).
The only thing left to show is that B contains more than 0.1n cities. The
area C in Figure 7.7 can contain at most 0.1n cities because the circle reiθ
contains exactly 0.1n cities. We have already seen that the circle segment
containing the most cities in step 5 contains at least n5 cities. Therefore the
opposite quadrant B ∪ C must contain at least n5 cities, since L1 and L2 were
chosen according to Lemma 7.5. Thus B contains at least 0.1n cities and the
correctness is shown. ✷
Section 7.3. Tsp with triangle inequality 97
Algorithm 7.3
Input: n cities in the plane.
Output: The minimal tour through the n cities.
Algorithm:
1. If n < 100, test all possible tours and return the shortest.
√
2. Otherwise, find 0.8 n possible separators by calling Algorithm 7.2.
3. For each separator S separating U from√V , test all possible connections
√
between the three areas with at most 24 √n crossing edges. There are n
cities in S and thus there are at most 2 n edges between S and U ∪ V .
For each such edge, test all combinations of the city in S, the city in
U ∪ V , the tour’s next exit from S and the tour’s next exit from U or V .
For each possible crossing edge, test all combinations of the city in U , the
city in V , the tour’s next exit from U and the tour’s next exit from V .
3.1 Check that the chosen combinations are consistent and create a single tour. Otherwise skip 3.2 to 3.5 and find the next combinations
at once.
3.2 Look at the cities in S appearing in the combinations. They can be
divided into pairs describing start points and end points for paths
inside S. Call Algorithm 7.4 with the cities in S and these pairs to
find the shortest Hamiltonian paths between the cities in the pairs.
3.3 In the same way as in step 3.2, compute the pairs for U and call
Algorithm 7.4 to compute the shortest paths in U .
3.4 In the same way as in step 3.2, compute the pairs for V and call
Algorithm 7.4 to compute the shortest path in V .
3.5 Combine the results of 3.2, 3.3 and 3.4, and compute the length of
the resulting tour, which is optimal under the chosen combinations.
Remember this tour if it is shorter than the former shortest tour
found in step 3.
4. Return the shortest tour found in step 3.
Algorithm 7.4
Input: n cities in the plane and a collection of m pairs of cities.
Output: The shortest Hamiltonian paths with start points and end points
given by the pairs.
Algorithm:
1. If n < 100, test all possible Hamiltonian paths and return the shortest
solution.
√
2. Otherwise, find 0.8 n possible separators by calling Algorithm 7.2.
3. For each separator S separating U from V√, test all possible connections
between the
√ three areas with at most 24 n crossing edges. There are
at most 2 n edges between S and U ∪ V . For each such edge, test all
combinations of the city in S, the city in U ∪ V , the path’s next exit from
S and the path’s next exit from U or V . For each possible crossing edge,
test all combinations of the city in U , the city in V , the path’s next exit
from U and the path’s next exit from V . For each pair of cities in the
98
Chapter 7. The travelling salesperson problem
input, test the path’s possible next exits from the two areas containing
the cities.
3.1 Check that the chosen combinations are consistent and create m
paths with the given endpoints. Otherwise skip 3.2 to 3.5 and find
the next combinations at once.
3.2 Look at the cities in S appearing in the combinations and in the
pairs. They can be divided into new pairs describing start points and
end points for paths inside S. Call Algorithm 7.4 recursively with
the cities in S and these new pairs to find the shortest Hamiltonian
paths between the cities in the pairs.
3.3 In the same way as in step 3.2, compute the new pairs for U and
call Algorithm 7.4 to compute the shortest paths in U .
3.4 In the same way as in step 3.2, compute the new pairs for V and
call Algorithm 7.4 to compute the shortest path in V .
3.5 Combine the results of 3.2, 3.3 and 3.4, and compute the length of
the resulting Hamiltonian paths, which is optimal under the chosen
combinations. Remember this solution if it is shorter than the former
shortest solution found in step 3.
4. Return the shortest solution found in step 3.
Time: The algorithms are very similar — Algorithm 7.3 is mainly a special
case of Algorithm 7.4 with m = 0. Therefore we only investigate the time of
Algorithm 7.4.
Step 1 takes time O(1) and step 2 takes O(n log n). Step 3 is a loop over all
possible separators
and connections between the three areas. For each of the
√
at most 2 n edges from S to U ∪ V we specify
√
city in S
n
city in U ∪ V
n
√
n√
next exit from S
√
next√exit from U or V 24 n + 2 n + m
For each of the at most 24 n edges from U to V we specify
city in U
n
city in V
n
√
√
next exit from U 24√n + 2√n + m
next exit from V 24 n + 2 n + m
For each of the m input pairs of cities we may specify
√
√
next exit from the area of the first city
24√n + 2√n
next exit from the area of the second city 24 n + 2 n
Thus the loop in step 3 is executed at most
2√n m
24√n √
√
√ 1 + n2 (26 n + m)2
1 + 262 n
0.8 n 1 + n2 (26 n + m)
√
that is 2O(( n+m) log(n+m)) times. The recursive calls of Algorithm 7.4 in steps
3.2 to 3.4 have
√ at most 0.9n cities, because of the properties of the separation.
At most 26 n pairs can be added in a recursive call. Thus m, the number of
pairs, is bounded by
√
√
√
√
√
1
√
< 508 n
26 n + 0.9n + 0.92 n + . . . = 26 n
1 − 0.9
Section 7.3. Tsp with triangle inequality 99
The consistency check in step 3.1 and the computation of pairs in steps 3.2 to
3.4 cost O(n). Thus the time T (n) for the entire algorithm is
√
n log n)
√
√ O(n) + 2T (0.9n) + T ( n) = 2O( n log n)
√
Correctness: We know that Algorithm
√ 7.3 will return 0.8 n separators of
which one is crossed by fewer than 24 n edges from the optimal Tsp tour.
Step 3 of the algorithm will test all separators, among them the sought separator. For every separator, all connections between the three areas are tested
and the shortest solution is found. The shortest
solution obtained from a sep√
arator which is crossed by more than 24 n edges from the optimal tour, can
naturally not be optimal. Thus the shortest solution of all separators must be
an optimal solution. Therefore the optimal tour will be tested and returned by
the algorithm. ✷
T (n) = 2O(
Chapter 8
How problems are related
approximability-wise
8.1
Master and slave problems
Simon introduced the name “master and slave problems” for a pair of NPO
problems where an algorithm may use the second problem, the slave problem, as
a subroutine to solve the first problem, the master problem [101]. An example
is the following algorithm for the minimum graph colouring problem which as
a subroutine uses the maximum independent set problem.
In each step the algorithm finds an approximate solution of the maximum
independent set problem, colours the found independent set by a new colour and
removes the independent set from the graph. This procedure continues until the
graph is empty. The performance ratio for the colouring algorithm is at most
log n times the performance ratio for the used Max Ind Set approximation
algorithm where n is the number of nodes in the graph, thus
R[Min Graph Colouring]≤ log n·R[Max Ind Set].
The same master-slave relation can be obtained by other problems, for
example Min Clique Partition and Max Clique, see further [101].
8.2
Problems in the plane
Many of the NP-complete optimization problems on graphs which are mentioned in Appendix B are still NP-complete when the input graph is restricted
to be planar. The approximability, however, changes a lot for most of the
problems. This is because planar graphs always can be divided into large disconnected components by removing just a small number of nodes or edges.
The separation can often be used to solve problems with divide-and-conquer
techniques. This leads to polynomial time asymptotic approximation schemes
for the problems. Several problems can even be solved by polynomial time
100
Section 8.2. Problems in the plane 101
approximation schemes. As we will see there are still some planar problems
which are relatively hard to approximate and do not seem to be in Ptas.
Some NP-complete problems are polynomially solvable when restricted to
planar graphs. PO for example contains the maximum planar clique problem
[70] as well as the maximum planar cut problem [100].
In 1979 Lipton and Tarjan stated the planar separator theorem which asserts that any planar graph of n nodes
can be divided into components of
√
roughly equal size by removing O( n) nodes [72, 73]. The planar separator
theorem was later improved somewhat by Djidjev and is formulated as follows.
Proposition 8.1 (Djidjev [25])
Let G be any n-node planar graph. The nodes of G can be partitioned into three
sets A, B, C such that no
√ edge joins a node in A with a node in B, |A| ≤ 2n/3,
|B| ≤ 2n/3, and |C| ≤ 6n.
Other separation results have been obtained by Miller [79] and Rao [93].
The planar separator theorem can be applied to a large number of planar
problems, for example maximum induced subgraph problems. This is problems
where one wants to find the largest induced subgraph which satisfies some
property Q. If we for example choose Q as node independence we will get
the maximum independent set problem. The following proposition specifies
sufficient properties for problems to obtain good approximability behaviour
using a divide-and-conquer algorithm based on the planar separator theorem.
Proposition 8.2 (Chiba, Nishizeki and Saito [82])
If P is a maximum induced subgraph problem on the planar graph G with respect
to property Q, which is
i) hereditary, that is every subgraph of G satisfies Q whenever G satisfies
Q,
ii) determined by the components, that is G satisfies Q whenever every connected component of G satisfies Q,
iii) recognizable in linear time,
then P can be approximated within
1−O
1
√
log log n
in time O(n log n) where n is the number of nodes in G. Thus P ∈ Ptas∞ .
Example of graph properties satisfying this are independence, bipartiteness,
forest and outerplanarity. Other examples of NP-complete planar problems
which can be approximated in the same way are minimum planar node cover
[82], maximum planar three dimensional matching (see [28]) and the planar
version of Max 3Sat, where literals and clauses are placed in the plane (see
[70]).
102
Chapter 8. How problems are related approximability-wise
Using that every planar graph is m-outerplanar for some m Baker has constructed an algorithm which approximates maximum planar independent set
within 1+1/k in time O(8k kn) for any positive integer k [6]. Thus her algorithm
realizes both an absolute performance ratio and an asymptotic performance ratio. If we choose k = 1/ε the algorithm places maximum planar independent
set in Ptas and if we choose k = log log n the algorithm solves maximum planar
independent set within 1 + 1/ log log n in time O(n(log n)3 log log n).
The same method can be used to place the planar versions of the problems
Min Node Cover, Min Dominating Set, Min Edge Dominating Set,
Max Triangle Packing, and Max H-matching in Ptas [6].
Separation techniques do not seem to be useful for all planar problems.
There are problems where it is not enough to look at separate components,
but where you have to look at the whole input structure, for example the
Euclidean travelling salesperson problem and the minimum Euclidean Steiner
tree problem. These problems are in Apx but probably not in Ptas. Therefore
it may be possible to show them to be Max SNP-hard. As yet only the
travelling salesperson problem with distances one and two and minimum Steiner
tree with distances one and two have been shown to be Max SNP-hard [89, 14].
An even harder problem to approximate is the minimum edge colouring
problem, which cannot be approximated within 4/3 − ε for any ε > 0 provided
that P = NP [82]. The reason for this is that it is NP-hard to decide whether
a given cubic graph can be edge coloured with three colours, in spite of the fact
that chromatic index of a cubic graph is either three or four [43].
8.3
Summary of how all problems are related
In this section all problems mentioned in the thesis and defined in Appendix B
are listed, ordered by approximability. Every box in the list below corresponds
to an approximability class. Each problem is only included in the box which
best corresponds to its approximability. For example the Max 3Sat problem is
just included in the box with Max SNP-complete problems and not the boxes
with Max SNP-complete problems and Apx problems because the Max SNPcomplete problems form a smaller class. For the definitions of the problems we
refer to Appendix B.
Figure 8.3 gives a survey of how the approximability classes are included in
each other. See Figure 4.1 for a survey of the relations between classes defined
by logical formulas.
8.3.1
Problems with constant absolute error guarantee
Constant absolute error guarantee
an additive constant from the optimum
Min Edge Colouring
Min Deg Spanning Tree
Min Planar Record Packing
Section 8.3. Summary of how all problems are related 103
NPO
✯
✟
❍
❍
✟
✟
❍❍
✟
✟
❍❍
✟
Apx
NPO PB
}

✒ ❅
I
✒ ❅
I
❅ 
❅
❅ 
❅
❅ 
❅
Ptas  Min F+ Π2
Max Ind Set
Ptas∞

 ❅
I
✒
✣ ❏

✻
✡
❅

✡
❏
 ❅
✡
❏
 ❅
Fptas
constant Fptas∞
Max SNP
absolute error
Figure 8.1: Inclusions of approximability classes.
8.3.2
Problems with approximation schemes
Fptas
within every ε in time polynomial in 1/ε
Min m-processor Scheduling
Min m-processor Scheduling Speed Factors
Min Uniform m-processor Scheduling
Max k-Multicom Flow
Max Knapsack
Max Integer k-choice Knapsack
Fptas∞
asymptotically within every ε
in time polynomial in 1/ε
Min Bin Packing
Ptas
within every ε
Min Planar Node Cover
Min Planar Dominating Set
Min Planar Edge Dominating Set
Max Planar H-matching
Max Planar Independent Set
Max Integer m-dimensional Knapsack
Max Weighted Sat with Small Bound
104
Chapter 8. How problems are related approximability-wise
Ptas∞
asymptotically within every ε
Min Planar Ind Dom Set
Max Planar k-colourable IS
Max Planar 3DM
Max Planar 3Sat
Max Planar kSat
8.3.3
Problems which can be approximated within a constant
Max SNP-complete problems
within a constant but not within every ε
Max 2Sat
Max 2Sat −B
Max 3Sat
Max 3Sat −B
Max kSat
Max kSat −B
Max Triangle Packing −B
Max 3DM −B
Max kDM −B
Max 3SP −B
Max kSP −B
Max Ind Set −B
Max k-constraint Sat
Max Not-all-equal 3Sat
Max Cut
Max Cut −B
Max k-cut
Max Directed Cut
Max k-colourable ES
Max SNP-complete problems
P-equivalent to Max 3Sat
within a constant but not within every ε
Min Node Cover −B
Min Dominating Set −B
Min kSC −B
Max H-matching −B
Max Induced H-matching −B
Min Ind Dom Set −B
Section 8.3. Summary of how all problems are related 105
Max NP ∩ Max SNP-hard
P-reduction from Max 3Sat
within a constant but not within every ε
Max Sat
Max Weighted Sat
Max G kSat
Max SNP-hard ∩ Apx
P-reduction from Max 3Sat
within a constant but not within every ε
Min Node Cover
Min k-hypernode Cover
Max 3DM
Max kDM
Max 3SP
Max kSP
Max Triangle Packing
Max H-matching
Max Induced H-matching
Max CIS −B
Min (1, 2)Tsp
Min (1, 2)Tsp −B
Min (1, 2) Steiner Tree
Shortest Common Supersequence
Min kSC
Apx
within a constant, not known to be Max SNP-hard
Min Cut
Min Weighted k-center
Min L-balanced k-center
Min L-balanced weighted k-center
Min L-balanced ρ-dominating Set
Min (k, F )-partition −d
Max CES −B
Min ∆Tsp
Min k∆Tsp
Min ETsp
Min Steiner Tree
Min Euclidean Steiner Tree
Min Rectilinear Steiner Tree
Min Scp
Min 3D Packing
Max Weighted Sat with Bound
106
Chapter 8. How problems are related approximability-wise
Apx − Ptas
within a constant but not within every ε
Min Edge Colouring
Min k-clustering
Min k-center
Min k-supplier
Min k-switching Net
Min Bottleneck ∆ Wsp
8.3.4
Problems not known to be approximable within a
constant
Min F+ Π2 -complete
within O(log n) but not within every ε
Min Dominating Set
Min SC
Min Hitting Set
Min Graph Colouring class
P- or r-equivalent to Min Graph Colouring
not within every ε
Min Graph Colouring
Min Clique Partition
Min Clique Cover
Min CBSC
(Min Consistent DFA)
NPO − Apx
not within a constant
Min Ind Dom Set
Min k-clustering Sum
Max L-balanced k-clustering Sum
Min Node Disjoint Cycle Cover
Min Directed Node Disjoint Cycle Cover
Min Edge Disjoint Cycle Cover
Min Directed Edge Disjoint Cycle Cover
Longest Path
Min 0 − 1 Assignment
Min Quadratic 0 − 1 Assignment
Min 3DNF Sat
Section 8.3. Summary of how all problems are related 107
Max Ind Set class
P-equivalent to Max Ind Set
not within nε
Max Ind Set
Max Clique
Max SP
Max 2-Hyperclique
Max 2 Ones Neg
Max CIS
Max k-colourable IS
Max Complete Bipartite Subgraph
(Longest Common Subsequence)
NPO PB-complete
P-reduction from any NPO problem with
polynomially bounded optimum, not within nε
Longest Computation
LP with Forbidden Pairs
Max PB 0 − 1 Programming
Max Induced Connected Chordal Subgraph
LIP
Max CICS
Max # Sat
Max Dones
Max Ones
NPO-complete
A- and P-reductions from any NPO problem
Min Tsp
Min 0 − 1 Programming
Min Weighted Sat
Min Weighted 3Sat
Other problems
not known to be approximable within a constant
Min Feedback Node Set
Min Feedback Edge Set
Min Balanced Cut
Min Ratio-cut
Min ρ-dominating Set
Max CES
Min Interval Graph Completion
Min EC
Min Test Collection
Min S/T 1-processor Scheduling
Min ≡Deletion
Appendix A
Proofs of several reductions
This appendix contains proofs of some reductions which are mentioned in Chapter 8 and Appendix B. Some of the reductions have been claimed in works by
other authors, but the proofs have not been published previously.
Theorem A.1 Min SC ≤pL Min Dominating Set and Min Dominating
Set ≤pL Min SC.
Proof Let f1 be the following reduction from
Min SC to Min Dominating
Set. An input C = {S1 , . . . , Sn } with X = S∈C S = {x1 , . . . , xm } is reduced
to an undirected graph G = V, E where V = {1, 2, . . . , n, x1 , x2 , . . . , xm } and
E = {(i, j) : 1 ≤ i < j ≤ n} ∪ {(i, x) : 1 ≤ i ≤ n ∧ x ∈ Si }.
Given a dominating set V ⊆ V of G we can transform it back to a set
cover in the following way. Note that the nodes 1, . . . , n are all connected to
each other by edges but there are no edges at all between the nodes x1 , . . . , xm .
For every node xj ∈ V we can substitute it in V by any one of the nodes
{i : (i, xj ) ∈ E} and we still have a dominating set of at most the same size.
Continue this until no node x1 , . . . , xm is in V . Now we can construct a set
covering of X consisting of {Si ∈ C : i ∈ V }. It is clear that this is a set cover
of size |V |.
It is easy to see that from every set cover C ⊆ C we can construct a
dominating set V ⊆ V of G of exactly the same size by including the nodes
{i : Si ∈ C }. Thus opt(f1 (C)) ≤ opt(C) and we have shown that f1 is an
L-reduction with α = β = 1.
Now we describe a reduction f2 in the other direction, from Min Dominating Set to Min SC. An input graph G = V, E with V = {1, . . . , n} is reduced
to a family C of subsets of the set X = {1, . . . , n} in the following manner. Let
C = {S1 , . . . , Sn } where, for i ∈ [1..n], Si = {i} ∪ {j ∈ [1..n] : (i, j) ∈ E}.
An element i ∈ X can be covered either by including Si , corresponding
to including the node i in the dominating set, or by including one of the sets
Sj such that (i, j) ∈ E, corresponding to including node j in the dominating
set. Thus the minimum dominating set V ⊆ V gives us the minimum set cover
C ⊆ C (which has the same size) and every set cover of C gives us a dominating
108
109
set of G of the same size. Once again we have obtained an L-reduction with
α = β = 1.
If the degree of the input graph is bounded by B we observe that f2 constructs sets of size at most B + 1 and each element in X occurs in at most
B + 1 sets. Thus f2 is an L-reduction from Min Dominating Set −B to Min
(B + 1)SC −(B + 1).
✷
The two reductions f1 and f2 come from Paz and Moran [90], but they only
showed that f1 and f2 are non-constructive measure preserving reductions, see
Definition 3.13.
Theorem A.2 Min Ind Dom Set −B is Max SNP-complete.
The minimum bounded independent dominating set problem takes a graph with
node degrees bounded by a constant B. The problem is to find a subset of the
nodes which is both independent and dominating and as small as possible.
Proof We show that Min Ind Dom Set −B ∈ Max SNP by giving a
formulation of the complement problem, that is finding the maximum subset
of nodes whose complement set is an independent dominating set.
opt(V, E) =
max | {(u, v1 , . . . , vB , w11 , . . . , w1B , . . . , wB1 , . . . , wBB ) :
S
u∈
/ S ∧ (N (1) ∧ · · · ∧ N (B)) ∧ (v1 ∈ S ∨ · · · ∨ vB ∈ S) ∧
∧(M (1) ∧ · · · ∧ M (B))} |
where N (k) = vk ∈ S ⇒ (wk1 ∈
/ S ∧ · · · ∧ wkB ∈
/ S) and M (k) = (u, vk ) ∈
E ∧ (vk , wk1 ) ∈ E ∧ · · · ∧ (vk , wkB ) ∈ E ∧ vk = vk+1 ∧ · · · ∧ vk = vB ∧ wk1 =
wk2 ∧ · · · ∧ wk(B−1) = wkB insures that there are edges between vk and u and
wki .
This formulation is only valid if every node has degree exactly B, but it can
be extended to work for lesser degrees too.
A solution of the complement problem of size s gives a solution of the
original problem of size |V |− s. The size m(V, E , V ) = |V | of any solution
V of the original problem can easily be seen to be bounded in the following
way.
|V |
≤ |V | ≤ |V |
B+1
We can assume that there are no isolated nodes in the graph. This is no
restriction since isolated nodes are always in a dominating set.
From this we immediately see that any polynomial time algorithm which
finds an independent dominating set will approximate Min Ind Dom Set −B
within B + 1.
Now we have an L-reduction from Min Ind Dom Set −B to the complement problem which is in Max Σ0 . Thus Min Ind Dom Set −B ∈ Max Σ0 =
Max SNP.
We will prove that Min Ind Dom Set −B is Max SNP-hard by L-reducing
from Max 3Sat −B.
110
Appendix A. Proofs of several reductions
Given an instance U, C of Max 3Sat −B, we construct an undirected
graph f (U, C) = V, E as follows. For each variable xi ∈ U there is a threeclique consisting of three nodes labelled xi , xi and ai . Moreover, for each clause
cj ∈ C there is one node bj and edges between bj and xi whenever the literal
xi is in clause cj and between bj and xi whenever xi is in clause cj .
First, observe that for each i, exactly one of ai , xi and xi must be in the
independent dominating set in order to dominate ai . Given an independent
dominating set V , for each i such that ai ∈ V we remove ai from V , insert
xi and remove any bj such that (bj , xi ) ∈ E. The resulting set is still an independent dominating set, not larger that the original independent dominating
set, and for every i it contains either xi or xi .
Now we can assign values to the variables (xi is set to true iff the node
xi ∈ V ). This assignment will satisfy as many clauses as there are nodes bj
which are not in the independent dominating set, that is |U | + |C| − |V |.
Thus, the optimal solution of an instance U, C of the Max 3Sat −B
problem corresponds to the optimal solution of the Min Ind Dom Set −B
problem f (U, C) in the following way (since opt(U, C) ≥ |C| /2 and we can
assume that |U | ≤ |C|).
opt(f (U, C))
=
|U | + |C| − opt(U, C) ≤ 2 |C| − opt(U, C) ≤
≤
4opt(U, C) − opt(U, C) = 3opt(U, C)
Therefore the reduction f is an L-reduction with α = 3 and β = 1.
✷
Theorem A.3 Max k-constraint Sat is Max Σ0 -complete for k ≥ 2.
Proof We will show that Max k-constraint Sat ∈ Max Σ0 in a similar
way as we showed that Max 3Sat ∈ Max Σ0 in Example 4.3.
First suppose that each conjunction is unique. Encode the input instance
as k + 1 relations C0 , . . . , Ck where Ci contains all conjunctions with exactly
i negative literals. Let c = (x1 , . . . , xk ) ∈ Ci mean that the i first variables
x1 , . . . , xi occur negated in conjunction c and the k − i remaining variables
occur positive in conjunction c. If a conjunction contains less than k literals
we duplicate the last variable in the encoding to fill up the k places in the
conjunction. Now Max k-constraint Sat can be defined as follows.
opt(C0 , . . . , Ck ) = max | (x1 , . . . , xk ) :
T
((x1 , . . . , xk ) ∈ C0 ∧ (x1 ∈ T ∧ x2 ∈ T ∧ · · · ∧ xk ∈ T )) ∨
∨
∨
((x1 , . . . , xk ) ∈ C1 ∧ (x1 ∈
/ T ∧ x2 ∈ T ∧ · · · ∧ xk ∈ T )) ∨
··· ∨
∨
((x1 , . . . , xk ) ∈ Ck ∧ (x1 ∈
/ T ∧ x2 ∈
/ T ∧ · · · ∧ xk ∈
/ T )) |
If the same conjunction appears several times in the input we have to distinguish the different occurrences by introducing an extra variable in the x-vector.
Say that the same conjunction appears at most m times in the input. Then
111
x0 may take the values [1..m], and (x0 , x1 , . . . , xk ) ∈ C if x0 is less than or
equal to the number of occurrences of the conjunction. It is easy to extend
the formula in this way for any bounded number of occurrences of the same
conjunction.
It is easy to reduce Max 2Sat to Max 2-constraint Sat. In addition to
the ordinary variables we introduce a new variable si for each clause ci in the
Max 2Sat instance. A clause ci = (x1 ∨ x2 ) corresponds to two conjunctions
(x1 ∧ si ) and (x2 ∧ si ). At most one of these two conjunctions can be satisfied
at the same time. We can see that any solution of the constructed Max 2constraint Sat instance gives us an equally large solution of the Max 2Sat
instance with the same variable assignment. Moreover, for every solution of
the Max 2Sat instance we can construct an equally large solution of the Max
2-constraint Sat instance by assigning values to the si variables such that
for each satisfied clause, one of the two corresponding conjunctions is satisfied.
Thus, this reduction is an L-reduction with α = β = 1. ✷
Theorem A.4 Min Test Collection ≤pL Min SC with α = β = 1.
The input to the minimum test collection problem consists of a set C of subsets
of some finite set X. The problem is to find a subset C ⊆ C of minimum
cardinality such that for each pair of elements of X there is a c ∈ C such that
exactly one of the elements in the pair is in c.
Proof Given an instance X, C of the minimum test collection problem we
construct an instance {S1 , S2 , . . . , S|C| } of the minimum set cover problem by
Si = {{a, b} : a ∈ X ∧ b ∈ X ∧ [(a ∈ ci ∧ b ∈
/ ci ) ∨ (a ∈
/ ci ∧ b ∈ ci )]}
where C = {c1 , . . . , c|C| }.
A set cover now corresponds to a test collection of the same size. The
reduction is an L-reduction with α = β = 1. ✷
A property of Min Test Collection is that, in order to be able to separate all pairs, the size of the optimal solution must be at least logarithmic in
the size of the element set X, that is, opt(X, C) ≥ log |X|.
Appendix B
A list of optimization
problems
This list contains every optimization problem which is mentioned in the thesis.
It is structured in the same way as Garey’s and Johnson’s famous list of NPcomplete problems [35].
The decision problem version of each optimization problem is NP-complete
unless otherwise stated. We assume that P = NP.
B.1
Graph theory
[1.1] Minimum node cover (Min Node Cover)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V : ∀(v1 , v2 ) ∈ E, v1 ∈ V ∨ v2 ∈ V }
m(V, E , V ) = |V |
opt = min
Approximability:
Min Node Cover ≡psp Max Clique ≡psp Max SP [4],
Min Node Cover ∈ Min Σ1 [61],
Min Node Cover is Max SNP-hard, see Min Node Cover −B.
The planar version of Min Node Cover ∈ Ptas [6].
Algorithm: Min Node Cover can be approximated within
log log |V |
[8].
2−
2 log |V |
[1.2] Minimum bounded node cover (Min Node Cover −B)
This is the same problem as Min Node Cover but the degree of G is
bounded by the constant B.
Approximability: Min Node Cover −B is Max SNP-complete for
B ≥ 7 (Max 3Sat −B ≤pL Min Node Cover −(B + 1) with α = B + 1
and β = 1) [88].
112
Section B.1. Graph theory 113
Algorithm: Min Node Cover −3 can be approximated within 5/4,
2B 2
for
Min Node Cover −B can be approximated within 2
B + 2B − 1
B ≥ 10 [80]. There are results for 3 < B < 10 too in [80].
[1.3] Minimum k-hypernode cover (Min k-hypernode Cover)
I = {A, E : A is a finite set, E ⊆ Ak }
S(A, E) = {A ⊆ A : ∀(a1 , a2 , . . . , ak ) ∈ E, a1 ∈ A ∨ · · · ∨ ak ∈ A }
m(A, E , A ) = |A |
opt = min
Approximability: Min Node Cover ≤pL Min k-hypernode Cover
(if k = 2 this is the same problem as Min Node Cover),
Min k-hypernode Cover is Min F+ Π1 (k)-complete [61].
Algorithm:
Min k-hypernode Cover can be approximated within k [61].
[1.4] Minimum dominating set (Min Dominating Set)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V : ∀v1 ∈ V − V ∃v2 ∈ V : (v1 , v2 ) ∈ E}
m(V, E , V ) = |V |
opt = min
Approximability: Min Dominating Set ≡pL Min SC with α = β =
1, see Theorem A.1, Min Dominating Set is Min F+ Π2 -complete [60].
The planar version of Min Dominating Set ∈ Ptas [6].
Algorithm: Min Dominating Set can be approximated within
O(log |V |) by reduction to Min SC, see Min SC.
[1.5] Minimum bounded dominating set (Min Dominating Set −B)
This is the same problem as Min Dominating Set but the degree of
G is bounded by the constant B.
Approximability: Min Dominating Set −B is Max SNP-complete
for B ≥ 14 (Min Node Cover −B ≤pL Min Dominating Set −2B)
[88].
Algorithm: Min Dominating Set −B can be approximated within
B+1
1
i by reduction to Min SC, see Min SC.
i=1
[1.6] Minimum edge dominating set (Min Edge Dominating Set)
I = {G = V, E : G is a graph}
S(V, E) = {E ⊆ E : ∀e1 ∈ E − E ∃e2 ∈ E : e1 ∩ e2 = ∅}
m(V, E , E ) = |E |
opt = min
Approximability:
The planar version of Min Edge Dominating Set ∈ Ptas [6].
[1.7] Minimum independent dominating set (Min Ind Dom Set)
114
Appendix B. A list of optimization problems
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V : (∀v1 ∈ V − V ∃v2 ∈ V : (v1 , v2 ) ∈ E) ∧
∧ (∀v1 ∈ V ∃/ v2 ∈ V : (v1 , v2 ) ∈ E)}
m(V, E , V ) = |V |
opt = min
Approximability: Min Ind Dom Set ∈
/ Apx [47].
The planar version of Min Ind Dom Set ∈ Ptas∞ , see Section 8.2.
[1.8] Minimum bounded independent dominating set (Min Ind Dom
Set −B)
This is the same problem as Min Ind Dom Set but the degree of G is
bounded by the constant B.
Approximability: Min Ind Dom Set −B is Max SNP-complete, see
Theorem A.2.
[1.9] Minimum graph colouring (Min Graph Colouring)
I = {G = V, E : G is a graph}
S(V, E) = {F = {C1 , C2 , . . . , Cm } a partition of V such that
∀i ∈ [1..m], Ci is an independent set}
m(V, E , F ) = |F |
opt = min
Approximability: There is a c ∈ R+ such that Min Graph Colourc
ing cannot be approximated within |V | [76], Min Clique Partition
≡p Min Graph Colouring [90].
Min Σ1 ! Min Graph Colouring ∈ Min Π1 [61]. Each
algorithm
1−δ
which approximates Min Graph Colouring within O 2(log|V |)
for arbitrarily small δ > 0 can be transformed to an algorithm
which
ε
approximates the size of the minimum colouring within O 2(log|V |) for
arbitrarily small ε > 0 [71].
If Max Ind Set can be approximated within f (|V |) then Min Graph
Colouring can be approximated within log |V | · f (|V |), see Section 8.1
and [48, 101].
If A is an approximation algorithm for Π =Max Ind Set then there is
an approximation algorithm A for Π =Min Graph Colouring such
that
RΠ (G, A(G)) · RΠ (G, A (G)) ≤
5 |V | optΠ (G)
5 |V |
≤
(log |V |)2 optΠ
(log |V |)2
and vice versa [18].
Algorithm:
Min Graph
Colouring can be approximated within
(log log |V |)2
O |V |
[38].
(log |V |)3
On a 3-colourable graph can Min Graph Colouring be approximated
within O(|V |0.4 ) [15].
[1.10] Maximum k-colourable edge subgraph (Max k-colourable ES)
Section B.1. Graph theory 115
I = {G = V, E : G is a graph}
S(V, E) = {E ⊆ E : ∃f : V → [1..k] : (v1 , v2 ) ∈ E ⇒ f (v1 ) = f (v2 )}
m(V, E , E ) = |E |
opt = max
For k = 2 Max k-colourable ES≡p Max Cut.
Approximability: Max k-colourable ES is Max Σ0 -complete for
k ≥ 2 (Max Cut ≤pL Max k-colourable ES) [88].
Algorithm:
k
[106].
Max k-colourable ES can be approximated within k−1
[1.11] Maximum k-colourable induced subgraph (Max k-colourable
IS)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V : ∃f : V → [1..k] :
(v1 , v2 ) ∈ E ∧ v1 ∈ V ∧ v2 ∈ V ⇒ f (v1 ) = f (v2 )}
m(V, E , V ) = |V |
opt = max
For k = 1 Max k-colourable IS≡p Max Ind Set.
Approximability:
Max k-colourable IS is Max F− Π1 (2)-complete for k ≥ 1 [84].
The planar version of Max k-colourable IS ∈ Ptas∞ , see Section 8.2.
Algorithm: Reduce to Max Ind Set.
[1.12] Minimum edge colouring (Min Edge Colouring)
I = {G = V, E : G is a graph}
S(V, E) = {F = {C1 , C2 , . . . , Cm } a partition of E such that
∀i ∈ [1..m], (e1 , e2 ∈ Ci ⇒ e1 and e2 are not incident to the same node)}
m(V, E , F ) = |F |
opt = min
Approximability: Min Edge Colouring cannot be approximated
within 4/3 − ε for any ε > 0, Min Edge Colouring ∈ Apx [82].
Algorithm: Min Edge Colouring can be approximated within 4/3.
Min Edge Colouring can be approximated with an absolute error
guarantee of 1 [82].
[1.13] Minimum feedback node set (Min Feedback Node Set)
I = {G = V, E : G is a directed graph}
S(V, E) = {V ⊆ V : every directed cycle in G has a node in V }
m(V, E , V ) = |V |
opt = min
Approximability: Min Feedback Node Set is Max SNP-hard
(Min Node Cover ≤pL Min Feedback Node Set with α = β = 1),
Min Feedback Edge Set ≤pL Min Feedback Node Set with α =
β = 1. Both the reductions are structure preserving [4].
116
Appendix B. A list of optimization problems
[1.14] Minimum feedback edge set (Min Feedback Edge Set)
I = {G = V, E : G is a directed graph}
S(V, E) = {E ⊆ E : every directed cycle in G has an edge in E }
m(V, E , E ) = |E |
opt = min
Approximability: Min Feedback Edge Set is Max SNP-hard
(Min Node Cover ≤pL Min Feedback Edge Set with α = β = 1),
Min Feedback Edge Set ≤pL Min Feedback Node Set with α =
β = 1. Both the reductions are structure preserving [4].
[1.15] Maximum triangle packing (Max Triangle Packing)
I = {G = V, E : G is a graph}
S(V, E) = {F = {C1 , C2 , . . . , Cm } a collection of mutually disjoint
subsets of V such that ∀i ∈ [1..m], |Ci | = 3 ∧ G |Ci is a triangle}
m(V, E , F ) = |F |
opt = max
Approximability: Max Triangle Packing ∈ Apx, Max Triangle Packing is Max SNP-hard (Max 3Sat −B ≤pL Max Triangle
Packing with α = 18B + 7 and β = 1), see Section 5.6.
The planar version of Max Triangle Packing ∈ Ptas [6].
Algorithm: Max Triangle Packing can be approximated within 3,
see Section 5.6.
[1.16] Maximum bounded triangle packing (Max Triangle Packing
−B)
This is the same problem as Max Triangle Packing but the degree
of the graph is bounded by the constant B.
Approximability: Max Triangle Packing −B is Max SNP-complete for B ≥ 4 (Max 3Sat −B ≤pL Max Triangle Packing −4 with
α = 18B + 7 and β = 1), see Section 5.6.
Algorithm: See Max Triangle Packing.
[1.17] Maximum H-matching (Max H-matching)
H is a fixed graph with at least three nodes in some connected component.
I = {G = V, E : G is a graph}
S(V, E) = {D = {C1 , C2 , . . . , Cm } a collection of mutually disjoint
subsets of E such that ∀i ∈ [1..m], G |Ci and H are isomorphic}
m(V, E , D) = |D|
opt = max
Approximability: Max H-matching ∈ Apx, Max H-matching is
Max SNP-hard (Max 3DM −B ≤pL Max H-matching) [53], see Section 5.7.
[1.18] Maximum bounded H-matching (Max H-matching −B)
This is the same problem as Max H-matching but the degree of the
Section B.1. Graph theory 117
graph G is bounded by the constant B.
Approximability: Max H-matching −B ∈ Apx, Max H-matching
−B is Max SNP-complete for any connected H with at least three nodes
(Max 3DM −B ≤pL Max H-matching −B) [53]. Max H-matching
−B is Max SNP-hard for any H with at least three nodes in some
connected component. See Section 5.7.
[1.19] Maximum planar H-matching (Max Planar H-matching)
This is the same problem as Max H-matching but the graph G must
be planar.
Approximability: Max Planar H-matching ∈
/ Fptas [10], Max
Planar H-matching ∈ Ptas [6], Max Planar H-matching cannot
be approximated within 1+O(1/k α) where k = opt(V, E) for any α > 0
[10].
Algorithm:
Max Planar
' H-matching can be approximated within
&
1
[10].
1+O %
log opt(V, E)
[1.20] Maximum induced H-matching (Max Induced H-matching)
H is a fixed graph with at least three nodes in some connected component.
I = {G = V, E : G is a graph}
S(V, E) = {F = {C1 , C2 , . . . , Cm } a collection of mutually disjoint
subsets of V such that ∀i ∈ [1..m], G |Ci and H are isomorphic}
m(V, E , F ) = |F |
opt = max
Approximability: Max Induced H-matching ∈ Apx, Max Induced H-matching is Max SNP-hard (Max 3DM −B ≤pL Max Induced H-matching) [53], see Section 5.7.
[1.21] Maximum bounded induced H-matching (Max Induced H-matching −B)
This is the same problem as Max Induced H-matching but the degree
of the graph G is bounded by the constant B.
Approximability: Max H-matching −B ∈ Apx, Max Induced Hmatching −B is Max SNP-complete for any connected H with at least
three nodes (Max 3DM −B ≤pL Max Induced H-matching −B) [53].
Max Induced H-matching −B is Max SNP-hard for any H with at
least three nodes in some connected component. See Section 5.7.
[1.22] Maximum cut (Max Cut)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V }
m(V, E , V ) = |{(v1 , v2 ) ∈ E : v1 ∈ V ∧ v2 ∈ V − V }|
opt = max
118
Appendix B. A list of optimization problems
Approximability: Max Cut is Max Σ0 -complete (Max Not-allequal 3Sat ≤pL Max Cut) [88].
The planar version of Max Cut ∈ PO, see Section 8.2.
Algorithm: Max Cut can be approximated within 2, see for example
[88].
[1.23] Maximum bounded cut (Max Cut −B)
This is the same problem as Max Cut but the degree of G is bounded
by the constant B.
Approximability: Max Cut −B is Max Σ0 -complete [88].
Algorithm: See Max Cut.
[1.24] Maximum directed cut (Max Directed Cut)
I = {G = V, E : G is a directed graph}
S(V, E) = {V ⊆ V }
m(V, E , V ) = |E | where E = {(v1 , v2 ) ∈ E : v1 ∈ V ∧ v2 ∈ V − V }
∪ {(v2 , v1 ) ∈ E : v1 ∈ V ∧ v2 ∈ V − V }
opt = max
Approximability: Max Directed Cut is Max Σ0 -complete [88].
Algorithm: Max Directed Cut can be approximated within 4 [106].
[1.25] Maximum k-cut (Max k-cut)
I = {G = V, E : G is a complete graph, w : E → N edge weights
bounded by a polynomial in |V |}
S(V, E, w) = {F = {C1 , C2 , . . . , Ck } a partition of V }
k−1
k
m(V, E, w , F ) =
w({v1 , v2 })
i=1 j=i+1
v1 ∈Ci
v2 ∈Cj
opt = max
Approximability: Max k-cut is Max SNP-complete.
Algorithm: Max k-cut can be approximated within k [96].
[1.26] Minimum cut (Min Cut)
I = {G = V, E : G is a complete graph, k ∈ [2.. |V |], w : E → N}
S(V, E, k, w) = {F = {C1 , C2 , . . . , Ck } a partition of V }
k−1
k
w({v1 , v2 })
m(V, E, k, w , F ) =
i=1 j=i+1
v1 ∈Ci
v2 ∈Cj
opt = min
Algorithm: Min Cut can be approximated within 2− k2 [97].
2
For fixed k Min Cut can be solved exactly in time O |V |k [97].
[1.27] Minimum balanced cut (Min Balanced Cut)
I = {G = V, E : G is a complete graph, k ∈ [2.. |V |], w : E → N}
Section B.1. Graph theory 119
S(V, E, k, w) = {F = {C1 , C2 , . . . , Ck } a partition of V :
∀i ∈ [1..k] |Ci | =
m(V, E, k, w , F ) =
k−1
k
i=1 j=i+1
|V |
}
k
w({v1 , v2 })
v1 ∈Ci
v2 ∈Cj
opt = min
Algorithm: Min Balanced Cut can be approximated within
k−1
k · |V | [97].
k2
For fixed k Min Balanced Cut can be solved exactly in time O |V |
[36].
[1.28] Minimum ratio-cut (Min Ratio-cut)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V }
|{(v1 , v2 ) ∈ E : v1 ∈ V ∧ v2 ∈ V − V }|
m(V, E , V ) =
|V | · |V − V |
opt = min
Algorithm:
Min Ratio-cut can be approximated within O(log |V |) [66, 67].
[1.29] Minimum k-clustering (Min k-clustering)
I = {G = V, E a complete graph, f : E → N edge weights satisfying
the triangle inequality}
S(V, E, f ) = {F = {C1 , C2 , . . . , Ck } a partition of V }
m(V, E, f , F ) = max f ({v1 , v2 })
i∈[1..k]
v1 ,v2 ∈Ci
opt = min
Approximability:
Min k-clustering cannot be approximated within 2 − ε for ε > 0 [40].
Algorithm: Min k-clustering can be approximated within 2 [40].
[1.30] Minimum k-clustering sum (Min k-clustering Sum)
I = {G = V, E a complete graph, f : E → N}
S(V, E, f ) = {F = {C1 , C2 , . . . , Ck } a partition of V }
k
m(V, E, f , F ) =
f ({v1 , v2 })
i=1 v1 ,v2 ∈Ci
opt = min
Approximability: Min k-clustering Sum ∈
/ Apx[96].
[1.31] Maximum L-balanced k-clustering sum (Max L-balanced kclustering Sum)
I = {G = V, E a complete graph, f : E → N, w : V → N}
S(V, E, f ) = {F = {C1 , C2 , . . . , Ck } a partition of V such that
120
Appendix B. A list of optimization problems
∀i ∈ [1..k],
m(V, E, f , F ) =
k
w(i) ≤ L}
i∈Ci
f ({v1 , v2 })
i=1 v1 ,v2 ∈Ci
opt = max
Approximability: Max L-balanced k-clustering Sum ∈
/ Apx[96].
[1.32] Minimum k-center (Min k-center)
I = {G = V, E a complete graph, f : E → N edge weights satisfying
the triangle inequality}
S(V, E, f ) = {C ⊆ V }
m(V, E, f , C) = max min f ({v, c})
v∈V c∈C
opt = min
Approximability:
Min k-center cannot be approximated within 2 − ε for ε > 0 [40].
Algorithm: Min k-center can be approximated within 2 [40].
[1.33] Minimum weighted k-center (Min Weighted k-center)
I = {G = V, E a complete graph, f : E → N edge weights satisfying
the triangle inequality, w : V → N}
S(V, E, f, w) = {C ⊆ V }
m(V, E, f, w , C) = max min f ({v, c})
v∈V c∈C
opt = min
Algorithm:
Min Weighted k-center can be approximated within 3 [40].
[1.34] Minimum L-balanced k-center (Min L-balanced k-center)
I = {G = V, E a complete graph, f : E → N edge weights satisfying
the triangle inequality}
S(V, E, f ) = {F = {C1 , C2 , . . . , Ck } a partition of V, C = {c1 , . . . , ck } :
∀i ∈ [1..k], ci ∈ Ci ∧ |Ci | ≤ L + 1}
m(V, E, f , F, C) = max max f ({v, ci })
i∈[1..k] v∈Ci
opt = min
Algorithm: Min L-balanced k-center can be approximated within
16 (10 without proof) [7].
[1.35] Minimum L-balanced weighted k-center (Min L-balanced weighted k-center)
I = {G = V, E a complete graph, f : E → N edge weights satisfying
the triangle inequality, w : V → N}
V,
S(V, E, f, w) = {F = {C1 , C2 , . . . , Cm } a partition of C = {c1 , . . . , cm } : ∀i ∈ [1..m], ci ∈ Ci ∧ |Ci | ≤ L + 1 ∧
w(v) ≤ k}
m(V, E, f, w , F, C) = max max f ({v, ci })
i∈[1..k] v∈Ci
v∈C
Section B.1. Graph theory 121
opt = min
Algorithm: Min L-balanced weighted k-center can be approximated within 21 [7].
[1.36] Minimum k-supplier (Min k-supplier)
I = {G = VC ∪ VS , E a complete graph with VC ∩ VS = ∅, f : E → N
edge weights satisfying the triangle inequality}
S(VC ∪ VS , E, f ) = {C ⊆ VS }
m(VC ∪ VS , E, f , C) = max min f ({v, c})
v∈VC c∈C
opt = min
Approximability:
Min k-supplier cannot be approximated within 3 − ε for ε > 0 [40].
Algorithm: Min k-supplier can be approximated within 3 [40].
[1.37] Minimum k-switching network (Min k-switching Net)
I = {G = V, E a complete graph, f : E → N edge weights satisfying
the triangle inequality}
S(V, E, f ) = {F = {C1 , C2 , . . . , C2k } a partition of V }
m(V, E, f , F ) = max max f ({v1 , v2 })
i∈[1..k]
v1 ∈C2i−1
v2 ∈C2i
opt = min
Approximability: Min k-switching Net cannot be approximated
within 2 − ε for ε > 0 [40].
Algorithm:
Min k-switching Net can be approximated within 3 [40].
[1.38] Minimum ρ-dominating set (Min ρ-dominating Set)
I = {G = V, E a complete graph, f : E → N edge weights satisfying
the triangle inequality}
S(V, E, f ) = {V ⊆ V : max min f ({v, c}) ≤ ρ}
v∈V −V c∈V
m(V, E, f , V ) = |V |
opt = min
Algorithm: Min ρ-dominating Set can be approximated within
log |V | + 1 [74].
[1.39] Minimum L-balanced ρ-dominating set
dominating Set)
(Min L-balanced ρ-
I = {G = V, E a complete graph, f : E → N edge weights satisfying
the triangle inequality}
S(V, E, f ) = {F = {C1 , C2 , . . . , Cm } a partition of V, C = c1 , . . . , cm :
∀i ∈ [1..m]ci ∈ Ci ∧ |Ci | ≤ L + 1}
m(V, E, f , F, C) = |C|
opt = min
Algorithm: Min L-balanced ρ-dominating Set can be approximated within log L + 1 [7].
122
Appendix B. A list of optimization problems
[1.40] Minimum (k, F )-partition with diameter d (Min (k, F )-partition
−d)
I = {G = V, E a graph, f : E → N edge weights satisfying the triangle
inequality, F family of graphs such that ∀H ∈ F, diam(H) ≤ d and
∀i ∈ [1.. |V |], F (i) constructs a member of F with i nodes in polynomial
time}
S(V, E, f, F ) = {F = {C1 , C2 , . . . , Ck } a partition of V, g : F → F , h :
E → N such that ∀c ∈ F ∃ edge subgraph of c isomorphic with g(c)
under the matching given by the function h, h(e) = 0 iff e is not in any
subgraph}
m(V, E, f, F , F, g, h) = max f (e)
e∈E:
h(e)=0
opt = min
Algorithm:
Min (k, F )-partition −d can be approximated within 2d [40].
[1.41] Minimum clique partition (Min Clique Partition)
I = {G = V, E : G is a graph}
S(V, E) = {F = {C1 , C2 , . . . , Cm } a partition of V such that
∀i ∈ [1..m], Ci induces a clique}
m(V, E , F ) = |F |
opt = min
Approximability: Min Clique Partition ≡p Min Graph Colouring [90].
Algorithm:
If Max Clique can be approximated within f (|V |) then Min Clique
Partition can be approximated within O(log |V |) · f (|V |), see Section 8.1 and [101].
[1.42] Minimum clique cover (Min Clique Cover)
I = {G = V, E : G is a graph}
S(V, E) = {F = {A1 , A2 , . . . , Am } subsets of E such that
∀i ∈ [1..m], Ai is a clique and ∀e ∈ E∃i ∈ [1..m] : e ∈ Ai }
m(V, E , F ) = |F |
opt = min
Min Clique Cover
Approximability: Min Clique Partition ≤1+ε
r
2
with a size amplification of |V | /(log |V |)2 [62, 101]. Min Clique
Cover ≤1r Min Clique Partition with a size amplification of |E|
[62, 101].
Algorithm: If Max Clique can be approximated within f (|V |) then
Min Clique Cover can be approximated within O(log |V |) · f (|V |)
[101].
[1.43] Minimum complete bipartite subgraph cover (Min CBSC)
I = {G = V, E : G is a graph}
S(V, E) = {F = {A1 , A2 , . . . , Am } subsets of E such that ∀i ∈ [1..m],
Section B.1. Graph theory 123
Ai is a complete bipartite graph and ∀e ∈ E∃i ∈ [1..m] : e ∈ Ai }
m(V, E , F ) = |F |
opt = min
Min CBSC with a
Approximability: Min Clique Partition ≤1+ε
r
2
size amplification of |E| /ε2 [101]. Min CBSC ≤1r Min Clique Partition with a size amplification of |E| [101].
Algorithm:
If Max Clique can be approximated within f (|V |) then Min CBSC
can be approximated within O(log |V |) · f (|V |) [101].
[1.44] Minimum node disjoint cycle cover (Min Node Disjoint Cycle
Cover)
I = {G = V, E : G is a graph}
S(V, E) = {F family of node disjoint cycles covering V }
m(V, E , F ) = |F |
opt = min
Approximability: Min Node Disjoint Cycle Cover ∈
/ Apx[96].
[1.45] Minimum directed node disjoint cycle cover (Min Directed
Node Disjoint Cycle Cover)
This is the same problem as Min Node Disjoint Cycle Cover but
on a directed graph G.
Approximability:
Min Directed Node Disjoint Cycle Cover ∈
/ Apx[96].
[1.46] Minimum edge disjoint cycle cover (Min Edge Disjoint Cycle
Cover)
I = {G = V, E : G is a graph}
S(V, E) = {F family of edge disjoint cycles covering V }
m(V, E , F ) = |F |
opt = min
Approximability:
Min Edge Disjoint Cycle Cover ∈
/ Apx[96].
[1.47] Minimum directed edge disjoint cycle cover (Min Directed
Edge Disjoint Cycle Cover)
This is the same problem as Min Edge Disjoint Cycle Cover but
on a directed graph G.
Approximability:
Min Directed Edge Disjoint Cycle Cover ∈
/ Apx[96].
[1.48] Maximum clique (Max Clique)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V : v1 , v2 ∈ V ∧ v1 = v2 ⇒ (v1 , v2 ) ∈ E}
m(V, E , V ) = |V |
124
Appendix B. A list of optimization problems
opt = max
Approximability: Max Clique ≡p Max Ind Set, see section 4.11,
Max Clique ∈
/ Max Σ1 [84], Max Clique is Max NP-hard [23], Max
Clique is Max F− Π1 (2)-complete [84], Max Clique ∈
/ Apx [3], there
is a c ∈ R+ such that Max Clique cannot be approximated within |V |c
[2].
The planar version of Max Clique ∈ PO [70].
Algorithm: Reduce to Max Ind Set.
[1.49] Maximum clique in a bounded graph (Max Clique −B)
This is the same problem as Max Clique but the degree of G is bounded
by the constant B. The corresponding decision problem is polynomially
solvable.
Approximability: Max Clique −B ∈ PO,
Max Clique −B ∈
/ Max Σ1 (see Theorem 4.19).
[1.50] Maximum k-hyperclique (Max k-Hyperclique)
I = {A, E : A is a finite set, E ⊆ 2A : e ∈ E ⇒ 1 ≤ |e| ≤ k}
S(A, E) = {A ⊆ A : S ⊆ 2A ∧ 1 ≤ |e| ≤ k ⇒ S ∈ E}
m(A, E , A ) = |A |
opt = max
Approximability: Max Clique ≡pP Max 2-Hyperclique,
Max k-Hyperclique ≡pP Max k Ones Neg,
Max k-Hyperclique is Max F− Π1 (k)-complete [84].
Algorithm: Reduce to Max Ind Set.
[1.51] Maximum complete bipartite subgraph (Max Complete Bipartite Subgraph)
I = {G = V, E : G is a graph}
S(V, E) = {V1 , V2 ⊂ V : ∀v1 ∈ V1 ∪ V2 ∀v2 ∈ V1 ∪ V2 , (v1 , v2 ) ∈ E ⇒
(v1 ∈ V1 ∧ v2 ∈ V2 ) ∨ (v1 ∈ V2 ∧ v2 ∈ V1 )}
m(V, E , V1 , V2 ) = |V1 ∪ V2 |
opt = min
Approximability: Max Ind Set ≤2r Max Complete Bipartite
Subgraph without size amplification [101]. Max Complete Bipartite Subgraph ≤pL Max Ind Set with α = β = 1 and without size
amplification [101].
[1.52] Maximum independent set (Max Ind Set)
I = {G = V, E : G is a graph}
/ E}
S(V, E) = {V ⊆ V : v1 , v2 ∈ V ∧ v1 = v2 ⇒ (v1 , v2 ) ∈
m(V, E , V ) = |V |
opt = max
Approximability: See Max Clique and Section 4.11.
The planar version of Max Ind Set ∈ Ptas [6].
Section B.1. Graph theory 125
Algorithm: Max Ind Set can be approximated within O
where n = |V | [18].
n
(log n)2
[1.53] Maximum bounded independent set (Max Ind Set −B)
This is the same problem as Max Ind Set but the degree of G is
bounded by the constant B.
Approximability: Max Ind Set −B is Max Σ0 -complete
(Max 3Sat −B ≤pL Max Ind Set−(B + 1) with α = β = 1) [88].
Algorithm:
Max Ind Set −B can trivially be approximated within B + 1.
[1.54] Longest induced path in a graph (LIP)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V : G |V is a simple path}
m(V, E , V ) = |V |
opt = max
Approximability:
LIP is NPO PB-complete (LP with Forbidden Pairs ≤pP LIP) [12].
[1.55] Longest path (Longest Path)
I = {G = V, E : G is a graph}
S(V, E) = {(v1 , . . . , vm ) a sequence of m different nodes in V such that
∀i ∈ [1..m − 1](vi , vi+1 ) ∈ E}
m(V, E , (v1 , . . . , vm )) = m
opt = max
Approximability: Longest Path ∈
/ Apx [2].
Algorithm: For Hamiltonian graphs Longest Path can be approximated within O(|V | / log |V |) [81].
[1.56] Longest path with forbidden pairs (LP with Forbidden Pairs)
I = {G = V, E : G is a graph, P ⊂ V × V }
S(V, E, P ) = {(v1 , . . . , vm ) a sequence of m different nodes in V such
that ∀i ∈ [1..m − 1] ((vi , vi+1 ) ∈ E ∧ ∀j ∈ [i + 1..m](vi , vj ) ∈
/ P )}
m(V, E, P , (v1 , . . . , vm )) = m
opt = max
Approximability: LP with Forbidden Pairs is
NPO PB-complete (Longest Computation ≤pP LP with Forbidden
Pairs) [12].
[1.57] Maximum induced connected chordal subgraph (Max Induced
Connected Chordal Subgraph)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V : G |V is connected and chordal}
126
Appendix B. A list of optimization problems
m(V, E , V ) = |V |
opt = max
Approximability: Max Induced Connected Chordal Subgraph
is NPO PB-complete (LP with Forbidden Pairs ≤pP Max Induced
Connected Chordal Subgraph) [12].
[1.58] Maximum common induced subgraph (Max CIS)
I = {G1 = V1 , E1 , G2 = V2 , E2 graphs}
S(G1 , G2 ) = {V1 ⊆ V1 , V2 ⊆ V2 , f : V1 → V2 bijective function such
that G1 |V1 and G2 |V2 are f -isomorphic, that is
) ∀v1, v2 ∈ V1 , (v1 , v2 ) ∈ E1 ⇔ (f (v1 ), f (v2 )) ∈ E2 }
(
m(G1 , G2 , V1 , V2 ) = V1 = V2 opt = max
Approximability: Max CIS is as hard to approximate as Max Clique
(Max Clique ≤pL Max CIS with α = β = 1 and without size amplification, Max CIS≤pL Max Clique with α = β = 1 and a size amplification
of |V1 |+|V2 | with respect to the nodes), see Section 6.2.2 and Section 4.11.
Algorithm: See Section 6.2.2.
[1.59] Maximum bounded common induced subgraph (Max CIS −B)
This is the same problem as Max CIS but the degree of the graphs G1
and G2 is bounded by the constant B.
Approximability: Max CIS −B ∈ Apx, Max CIS −B is Max SNPhard for B ≥ 25 (Max 3Sat −6 ≤pL Max CIS −B with α = 43 and
β = 1), see Section 6.2.1.
Algorithm: Max CIS −B can be approximated within B + 1, see
Section 6.2.1.
[1.60] Maximum common edge subgraph (Max CES)
I = {G1 = V1 , E1 , G2 = V2 , E2 graphs}
S(G1 , G2 ) = {E1 ⊆ E1 , E2 ⊆ E2 , f : V1 → V2 bijective function
from the nodes in the subgraph G1 |E1 to the nodes in G2 |E2 : G1 |E1 and G2 |E2 are f -isomorphic, that is
∀v1 , v2 ∈ V1 ,((v1 , v2 ) ∈) E1 ⇔ (f
(v1 ), f (v2 )) ∈ E2 }
m(G1 , G2 , E1 , E2 ) = E1 = E2 opt = max
Approximability: Max CES is not harder to approximate than Max
Clique (Max CES ≤pL Max Clique with α = β = 1), see Section 6.3.2.
Algorithm: See Section 6.3.2.
[1.61] Maximum bounded common edge subgraph (Max CES −B)
This is the same problem as Max CES but the degree of the graphs G1
and G2 is bounded by the constant B.
Approximability: Max CES −B ∈ Apx,
Max CES −B is not harder to approximate than Max CIS −B (Max
Section B.2. Network design 127
CES −B≤pL Max CIS −(2B + 3) with α = 4B 2 + 10B + 7 and β = 1),
see Section 6.3.1.
Algorithm: Max CES −B can be approximated within B + 1, see
Section 6.3.1.
[1.62] Maximum common induced connected subgraph (Max CICS)
This is the same problem as Max CIS but the only valid solutions are
connected subgraphs.
Approximability: Max CICS is NPO PB-complete (LIP ≤pL Max
CICS with α = β = 1 [55]), see Theorem 6.9.
[1.63] Maximum connected component (Max Connected Component)
I = {G = V, E : G is a graph}
S(V, E) = {V ⊆ V : G |V is connected}
m(V, E , V ) = |V |
opt = max
Approximability: Max Connected Component ∈ PO,
Max Π1 ! Max Connected Component ∈ Max Π2 [61].
Algorithm: Max Connected Component can be solved exactly in
time O (|E|), see for example [1].
[1.64] Minimum interval graph completion (Min Interval Graph Completion)
An interval graph is a graph whose nodes can be mapped to distinct
intervals in the real line such that two nodes in the graph have an edge
between them iff their corresponding intervals overlap.
I = {G = V, E : G is a graph}
S(V, E) = {G = V, E : E ⊆ E , l : V → Z, r : V → Z such that
{v1 , v2 } ∈ E ⇔ l(v1 ) ≤ l(v2 ) ≤ r(v1 ) ∨ l(v2 ) ≤ l(v1 ) ≤ r(v2 )}
m(V, E , E , l, r) = |E |
opt = min
Algorithm: Min
Graph Completion can be approxi
Interval
mated within O log2 |V | [94].
B.2
Network design
[2.1] Travelling salesperson problem (Min Tsp)
I = {G, s : G = V, E is a complete graph, s : E → N}
S(G, s) = {permutation π : [1.. |V |] → [1.. |V |]}
|V |−1
m(G, s , π) = s {vπ(|V |) , vπ(1) } +
s {vπ(i) , vπ(i+1) }
i=1
opt = min
Approximability: Min Tsp ∈
/ Apx [35],
Min Tsp is NPO-complete [83].
128
Appendix B. A list of optimization problems
[2.2] TSP with triangle inequality (Min ∆Tsp)
This is the same problem as Min Tsp but the distance function s satisfies
the triangle inequality, that is for all i, j, k ∈ [1.. |V |],
s(vi , vk ) ≤ s(vi , vj ) + s(vj , vk ) if i = j, i = k and j = k.
Approximability:
Min ∆Tsp ∈ Apx, Min ∆Tsp is Max SNP-hard, see Min (1, 2)Tsp.
Algorithm:
5/2
Min ∆Tsp can be approximated within 32 in time O(|V | ) [21].
[2.3] Travelling k-salesperson problem with triangle inequality (Min
k∆Tsp)
This is the same problem as Min ∆Tsp but we look for a collection of
k subtours, each containing the start node, such that each node is in at
least one subtour.
Approximability: R[Min k∆Tsp] ≤ R[Min ∆Tsp]+1 − 1/k [31].
Algorithm: Min k∆Tsp can be approximated within 52 − k1 [31].
[2.4] TSP with distances one and two (Min (1, 2)Tsp)
This is the same problem as Min Tsp but with the distance function
s : E → {1, 2}. Thus s satisfies the triangle inequality.
Approximability: Min (1, 2)Tsp ∈ Apx, Min (1, 2)Tsp is Max SNPhard (Max 3Sat −B ≤pL Min (1, 2)Tsp) [89].
Algorithm: Min (1, 2)Tsp can be approximated within 76 [89].
[2.5] Bounded travelling salesperson problem with distances one and
two (Min (1, 2)Tsp −B)
This is the same problem as Min (1, 2)Tsp but the number of 1-edges
from each node is bounded by the constant B.
Approximability: Min (1, 2)Tsp −B ∈ Apx, Min (1, 2)Tsp −B is
Max SNP-hard (Max 3Sat −B ≤pL Min (1, 2)Tsp −B) [89].
Algorithm: See Min (1, 2)Tsp.
[2.6] Euclidean travelling salesperson problem (Min ETsp)
I = {C ⊆ Zk set of coordinates (integer k-vectors)}
The length of an edge between
(x2 , y2 ) is the
% two points (x1 , y1 ) and
discretized Euclidean length
(x1 − x2 )2 + (y1 − y2 )2 .
S(C) = {permutation π : [1.. |C|] → [1.. |C|]}
|C|−1
m(C, π) = || cπ(|C|) − cπ(1) || +
|| cπ(i) − cπ(i+1) ||
i=1
opt = min
Approximability: Fptas ! Min ETsp ∈ Apx [65].
Algorithm: See Min ∆Tsp.
[2.7] Stacker crane problem (Min Scp)
Section B.2. Network design 129
I = {G = V, E is a complete graph, A a set of arcs where each arc is
an ordered pair of cities, s : A ∪ E → N edge weights}
S(G, A, s) = {T = (i1 , . . . , im ) minimum length tour, possibly containing repeated nodes, such that ∀(v1 , v2 ) ∈ A∃k : ik = v1 ∧ ik+1 = v2 }
m(G, A, s , T ) = (length of the tour T )
opt = min
Algorithm:
Min Bottleneck ∆ Wsp can be approximated within 9/5 [31, 65].
[2.8] Bottleneck wandering salesperson problem with triangle inequality (Min Bottleneck ∆ Wsp)
I = {G = V, E is a complete graph, u, v ∈ V, s : E → N edge weights
satisfying the triangle inequality}
S(G, u, v, s) = {permutation π : [1.. |V |] → [1.. |V |] such that vπ(1) = u
and vπ(|V |) = v}
m(G, u, v, s , π) = max s {vπ(i) , vπ(i+1) }
i∈[1..|V |−1]
opt = min
Approximability: Min Bottleneck ∆ Wsp cannot be approximated
within 2 − ε for ε > 0 [40].
Algorithm:
Min Bottleneck ∆ Wsp can be approximated within 2 [40].
[2.9] Minimum Steiner tree (Min Steiner Tree)
I = {G, s, S : G = V, E is a complete graph, s : E → N, S ⊆ V }
S(G, s, S) = {Q ⊆ V − S set of Steiner nodes}
m(G, s, S , Q) = mst-length(C ∪ Q) where mst-length is the length of
the minimum spanning tree.
A minimum spanning tree for n points can be found in time O(n2 ), see
for example [87].
opt = min
Approximability: Min Steiner Tree ∈ Apx.
Algorithm:
Min Steiner Tree can be approximated within 16/9 [11].
[2.10] Minimum Steiner tree with distances one and two (Min (1, 2)
Steiner Tree)
This is the same problem as Min Steiner Tree but with the distance
function s : E → {1, 2}. Thus s satisfies the triangle inequality.
Approximability: Min (1, 2) Steiner Tree ∈ Apx,
Min (1, 2) Steiner Tree is Max SNP-hard (Min Node Cover −B
≤pL Min (1, 2) Steiner Tree with α = 2B, β = 1) [14].
Algorithm:
Min (1, 2) Steiner Tree can be approximated within 4/3 [14].
[2.11] Minimum Euclidean Steiner tree (Min Euclidean Steiner Tree)
130
Appendix B. A list of optimization problems
I = {C ⊆ Z2 set of integer coordinates in the plane}
S(C) = {Q ⊆ Z2 set of Steiner points, integer coordinates in the plane}
m(C, Q) = mst-length(C ∪ Q)
where mst-length is the length of the minimum spanning tree. The length
of an edge between
%two points (x1 , y1 ) and (x2 , y2 ) is the discretized
(x1 − x2 )2 + (y1 − y2 )2 .
Euclidean length
opt = min
Approximability: Min Euclidean Steiner Tree ∈ Apx.
Algorithm: Min Euclidean Steiner Tree can be approximated
within √23 − ε for some ε > 0 [27]. The minimum spanning tree for C
approximates Min Euclidean Steiner Tree within √23 [26].
[2.12] Minimum rectilinear Steiner tree (Min Rectilinear Steiner
Tree)
I = {C ⊆ Z2 set of integer coordinates in the plane}
S(C) = {Q ⊆ Z2 set of Steiner points, integer coordinates in the plane}
m(C, Q) = mst-length(C ∪ Q) where mst-length is the length of the
minimum spanning tree. The length of an edge between two points
(x1 , y1 ) and (x2 , y2 ) in the rectilinear metric is |x1 − x2 | + |y1 − y2 |.
opt = min
Approximability: Min Rectilinear Steiner Tree ∈ Apx.
Algorithm: Min Rectilinear Steiner Tree can be approximated
within 97/72 [11].
[2.13] Minimum degree spanning tree (Min Deg Spanning Tree)
I = {G, s : G = V, E is a complete graph, s : E → N}
S(G, s) = {E ⊆ E : G |E is a spanning tree of G}
m(G, s , E ) = deg(G |E ) the maximum degree of the induced graph.
opt = min
Algorithm: Min Deg Spanning Tree can be approximated with an
absolute error guarantee of 1, that is one can in polynomial time find a
spanning tree of G with maximum degree at most opt(G, s) + 1 [32].
B.3
Sets and partitions
[3.1] Maximum three dimensional matching (Max 3DM)
I = {T ⊆ X × Y × Z : X ∩ Y = Y ∩ Z = Z ∩ X = ∅}
S(T ) = {M ⊆ T : no two triples in T agree in any coordinate}
m(T, M ) = |M |
opt = max
Approximability: Max 3DM ∈ Apx, Max 3DM is Max SNP-hard
(Max 3Sat −B ≤pL Max 3DM with α = 18B + 7 and β = 1) [52],
Max 3DM ∈
/ Max Σ1 [84]. See Section 5.2.
The planar version of Max 3DM ∈ Ptas∞ , see Section 8.2.
Section B.3. Sets and partitions 131
Algorithm:
Max 3DM can be approximated within 3 [52], see Section 5.2.
[3.2] Maximum bounded three dimensional matching (Max 3DM
−B)
This is the same problem as Max 3DM but the number of occurrences
of any element in X, Y or Z is bounded by the constant B.
Approximability: Max 3DM −B is Max SNP-complete for B ≥ 3
(Max 3Sat −B ≤pL Max 3DM −3 with α = 18B + 7 and β = 1)
[52, 54], see Section 5.2 and Theorem 4.26.
Algorithm: See Max 3DM.
[3.3] Maximum k-dimensional matching (Max kDM)
I = {T ⊆ X1 × X2 × · · · × Xk : 1 ≤ i < j ≤ k ⇒ Xi ∩ Xj = ∅}
S(T ) = {M ⊆ T : no two k-tuples in T agree in any coordinate}
m(T, M ) = |M |
opt = max
If k = 2 Max kDM is the same problem as maximum bipartite matching.
Approximability: Max kDM ∈ Apx, Max kDM is Max SNP-hard
(Max 3DM ≤pL Max kDM with α = β = 1, see Section 5.5), Max
kDM ∈
/ Max Σ1 [84].
Algorithm: Max kDM can be approximated within k, see Section 5.5.
[3.4] Maximum bounded k-dimensional matching (Max kDM −B)
This is the same problem as Max kDM but the number of any element
in the k-tuples is bounded by the constant B.
Approximability:
Max kDM −B is Max SNP-complete for B ≥ 3, see Section 5.5.
Algorithm: See Max kDM.
[3.5] Maximum bipartite matching (Max 2DM)
The corresponding decision problem is polynomially solvable.
I = {T ⊆ X × Y : X ∩ Y = ∅}
S(T ) = {M ⊆ T : no two tuples in T agree in any coordinate}
m(T, M ) = |M |
opt = max
Approximability: Max 2DM ∈ PO, Max 2DM ∈
/ Max Σ1 [84].
Algorithm:
%
Max 2DM can be solved exactly in time O |T | |X| + |Y | [44].
[3.6] Maximum non-bipartite matching (Max Matching)
The corresponding decision problem is polynomially solvable.
I = {G = V, E : G is a graph}
S(V, E) = {E ⊆ E : no two edges in E are connected}
m(V, E , E ) = |E |
132
Appendix B. A list of optimization problems
opt = max
Approximability: Max Matching ∈ PO,
Max Matching ∈
/ Max Σ1 [84].
Algorithm:
% Max Matching can be solved exactly in time O |E| |V | [78].
[3.7] Maximum set packing (Max SP)
I = {X, C : X is a finite set, C ⊆ 2X is a collection of subsets of X}
S(X, C) = {C ⊆ C : S1 , S2 ∈ C ∧ S1 = S2 ⇒ S1 ∩ S2 = ∅}
m(X, C , C ) = |C |
opt = max
Approximability: Max SP ≡psp Max Clique [4],
Max SP ≡pL Max Clique with α = β = 1 (see Section 5.4),
Max SP is Max F− Π1 (2)-complete [84]. See Max Clique and Section 4.11.
[3.8] Maximum three-set packing (Max 3SP)
This is the same problem as Max SP but C consists only of sets of size
exactly three.
Approximability: Max 3SP ∈ Apx, Max 3SP is Max SNP-hard
/ Max Σ1
(Max 3DM ≤pL Max 3SP with α = β = 1) [52], Max 3SP ∈
[84]. See Section 5.3.
Algorithm:
Max 3SP can be approximated within 3 [52], see Section 5.3.
[3.9] Maximum bounded three-set packing (Max 3SP −B)
This is the same problem as Max 3SP but the number of occurrences
in C of any element in X is bounded by the constant B.
Approximability: Max 3SP −B is Max SNP-complete for B ≥ 3
(Max 3DM −B ≤pL Max 3SP −B with α = β = 1) [52, 54], see
Section 5.3 and Theorem 4.26. Max 3SP −B ∈
/ Max Σ1 (see Theorem 4.19).
Algorithm: See Max 3SP.
[3.10] Maximum k-set packing (Max kSP)
This is the same problem as Max SP but C consists only of sets of size
exactly k.
Approximability: Max kSP ∈ Apx, Max kSP is Max SNP-hard for
all k ≥ 3 (Max 3SP ≤pL Max kSP with α = β = 1), see Section 5.4.
Max kSP ∈
/ Max Σ1 for all k ≥ 2 [84].
If k = 2 Max kSP is the same problem as Max Matching.
Algorithm:
Max kSP can be approximated within k [84], see Section 5.4.
[3.11] Maximum bounded k-set packing (Max kSP −B)
Section B.3. Sets and partitions 133
This is the same problem as Max kSP but the number of occurrences
in C of any element in X is bounded by the constant B.
Approximability: Max kSP −B is Max SNP-complete for B ≥ 3
(Max 3SP −B ≤pL Max kSP −B with α = β = 1) [52, 54], see Section 5.4.
Algorithm: See Max kSP.
[3.12] Minimum set cover (Min SC)
X
I = {X, C : X is a finite
set, C ⊆
2 is a collection of subsets of X}
S(X, C) = {C ⊆ C :
S=
S}
S∈C S∈C
m(X, C , C ) = |C |
opt = min
Approximability:
Min SC ≡pL Min Dominating Set with α = β = 1, see Theorem A.1,
Min SC ≡p Min Hitting Set [4], Min SC is Min F+ Π2 -complete [60].
Algorithm: Min SC can be approximated within 1 + ln |X| [48].
[3.13] Minimum k-set cover (Min kSC)
This is the same problem as Min SC but the number of elements in
every set in C is bounded by the constant k.
Approximability: Min kSC is Max SNP-hard, see Min kSC −B.
k
1
Algorithm: Min kSC can be approximated within
i [48].
i=1
[3.14] Minimum bounded k-set cover (Min kSC −B)
This is the same problem as Min kSC but the number of occurrences of
each element in C is bounded by B.
Approximability: Min kSC −B is Max SNP-complete for k ≥ 15
and B ≥ 15 (Min Dominating Set −B ≤pL Min (B + 1)SC −(B + 1)
where α = β = 1), see Theorem A.1 and [88].
Algorithm:
k
1
Min kSC −B can be approximated within min(B,
i ) [39].
i=1
[3.15] Minimum exact cover (Min EC)
X
I = {X, C : X is a finite
set, C ⊆
2 is a collection of subsets of X}
S(X, C) = {C ⊆ C :
S=
S}
S∈C
S∈C
|S|
m(X, C , C ) =
S∈C opt = min
Note that the only difference between Min SC and Min EC is the
definition of the objective function.
Approximability: Min SC ≤pL Min EC with α = (k + 1) |X| , β =
1/(k |X|) [76].
Algorithm: Min EC can be approximated within 1 + ln |X| [48].
134
Appendix B. A list of optimization problems
[3.16] Minimum test collection (Min Test Collection)
I = {X, C : X is a finite set, C ⊆ 2X is a collection of subsets of X}
S(X, C) = {C ⊆ C : ∀x1 , x2 ∈ X∃S ∈ C :
x1 = x2 ∨ (x1 ∈ S ∧ x2 ∈
/ S) ∨ (x1 ∈
/ S ∧ x2 ∈ S)}
m(X, C , C ) = |C |
opt = min
Approximability:
Min Test Collection ≤pL Min SC with α = β = 1, see Theorem A.4.
[3.17] Minimum hitting set (Min Hitting Set)
I = {X, C : X is a finite set, C ⊆ 2X is a collection of subsets of X}
S(X, C) = {X ⊆ X : S ∈ C ⇒ S ∩ X = ∅}
m(X, C , X ) = |X |
opt = min
Approximability: Min Hitting Set ≡p Min SC [4],
Min Hitting Set is Min F+ Π2 -complete [60].
Algorithm: Min Hitting Set can be approximated within 1 + ln |X|
by reduction to Min SC, see Min SC.
B.4
Storage and retrieval
[4.1] Bin packing (Min Bin Packing)
I = {U, c, s : U is a finite set, c ∈ Z+ , s : U → [0..c]}
S(U, c, s) = {L = {B1 , B2 , . . . , Bm } a partition of U such
that
∀i ∈ [1..m],
s(x) ≤ c}
x∈Bi
m(U, c, s , L) = |L|
opt = min
Approximability: Ptas ! Min Bin Packing ∈ Apx, Min Bin Packing ∈ Fptas∞ , see Section 4.4.
Algorithm: Min Bin Packing can be approximated
within 2
log (opt(U, c, s))
1 + ε in time polynomial in 1/ε where ε = O
[56].
opt(U, c, s)
[4.2] Minimum height three dimensional packing (Min 3D Packing)
+
+
+
I = {w ∈ Z+ width, d ∈ Z+ depth, B ⊂ 2Z ×Z ×Z set of boxes
(xi , yi , zi ) with width xi , depth yi and height zi }
S(w, d, B) = {packing P of the boxes B in a large box with width w,
depth d and unbounded height; the boxes must be packed orthogonally
and oriented}
m(w, d, B , P ) =height of the packing P
opt = min
Approximability: Min 3D Packing ∈ Apx [69].
Algorithm: R∞ [Min 3D Packing]≤ 3.25 [69].
Section B.5. Sequencing and scheduling
135
There are lots of variants of packing problems. A survey of approximation results of packing problems can be found in [22].
[4.3] Shortest common supersequence (Shortest Common Supersequence)
I = {Σ finite alphabet, R finite set of strings from Σ∗ }
S(Σ, R) = {w ∈ Σ∗ : x ∈ R ⇒ (x is a subsequence of w, i.e. one can
get x by taking away letters from w}
m(Σ, R , w) = |w|
opt = min
Approximability: Shortest Common Supersequence ∈ Apx,
Shortest Common Supersequence is Max SNP-hard
(Min (1, 2)Tsp −B ≤pL Shortest Common Supersequence with α =
2B + 3 and β = 1) [17].
Algorithm: Shortest Common Supersequence can be approximated within 3 [17].
[4.4] Longest common subsequence (Longest Common Subsequence)
I = {Σ finite alphabet, R finite set of strings from Σ∗ }
S(Σ, R) = {w ∈ Σ∗ : x ∈ R ⇒ (w is a subsequence of x, i.e. one can
get w by taking away letters from x}
m(Σ, R , w) = |w|
opt = max
Approximability:
Max Ind Set ≤pL Longest Common Subsequence for a Σ of the
same size as the set of nodes in the Max Ind Set problem [12, 77].
The Longest Common Subsequence problem is still NP-complete
for alphabets of size two, but it is an open problem whether it is hard
to approximate for constant size alphabets.
B.5
Sequencing and scheduling
[5.1] Minimum storage-time single-processor scheduling (Min S/T
1-processor Scheduling)
I = {G = V, E : G is a directed acyclic graph (DAG), l : V → N,
w : E → N}
where the nodes in G corresponds to the tasks to be scheduled, l(v) is
the execution time of task v and w(v1 , v2 ) is the storage required to save
the intermediate results generated by task v1 until it is consumed by
task v2 .
S(V, E, l, w) = {permutation π : [1.. |V |] → [1.. |V |]}
max(i,j)
m(V, E, l, w , π) =
w(vπ(i) , vπ(j) )
l(vπ(k) )
i,j∈[1..|V |]
(vπ(i) ,vπ(j) )∈E
k=min(i,j)
136
Appendix B. A list of optimization problems
opt = min
Algorithm: Min
S/T 1-processor
Scheduling can be approxi
mated within O log |V | log
l(v) [94].
v∈V
[5.2] Minimum m-processor scheduling makespan (Min m-processor
Scheduling)
m is the number of processors.
I = {T set of tasks, l : T × [1..m] → N execution times}
S(T, l) = {f : T → [1..m]}
l(t, i)
m(T, l , f ) = max
i∈[1..m]
t∈T :
f (t)=i
opt = min
Approximability: Min m-processor Scheduling ∈ Fptas [45].
If m is included in the input instance Min m-processor Scheduling
cannot be approximated within 3/2 − ε for ε > 0 [68].
Algorithm: For all m Min m-processor Scheduling can be approximated within 2 [68].
[5.3] Minimum m-processor scheduling makespan with speed factors
(Min m-processor Scheduling Speed Factors)
I = {T set of tasks, l : T → N execution times, s : [1..m] → Q speed
factors such that s(1) = 1 and ∀i, s(i) ≥ 1}
S(T, l, s) = {f : T → [1..m]}
l(t)/s(i)
m(T, l, s , f ) = max
i∈[1..m]
t∈T :
f (t)=i
opt = min
Approximability:
Min m-processor Scheduling Speed Factors ∈ Fptas [45]. If m
is included in the input instance Fptas ! Min m-processor Scheduling ∈ Ptas [42].
[5.4] Minimum uniform m-processor scheduling makespan (Min Uniform m-processor Scheduling)
I = {T set of tasks, l : T → N execution times}.
S(T, l) = {f : T → [1..m]}
m(T, l , f ) = max
l(t)
i∈[1..m]
t∈T :
f (t)=i
opt = min
Approximability:
Min Uniform m-processor Scheduling ∈ Fptas [95], if m is included in the input instance then Fptas ! Min Uniform m-processor
Scheduling ∈ Ptas [41].
Algorithm:
For all m and ε > 0 Min Uniform m-processor Scheduling can be
Section B.6. Mathematical programming 137
2
approximated within 1 + ε in time O (n/ε)1/ε [41].
[5.5] Maximum k-multicommodity flow (Max k-Multicom Flow)
I = {G = V, E a graph, u : E → Z+ edge capacities, C ⊂ V × V × Z+ :
|C| = k commodities}
where (s, t, d) ∈ C is a commodity with source s, sink t and demand d.
S(G, u, C) = {flow of each commodity through each edge in G}
the flow of the commodity (s, t, d) from s to t
m = min
d
(s,t,d)∈C
opt = max
Approximability: Max k-Multicom Flow ∈ Fptas [59, 66].
Algorithm: For each ε > 0 Max
k-Multicom Flow can
be approxi
mated within 1 + ε in time O (|E| |V | log3 |V | k 2 log k)/ε2 [66].
B.6
Mathematical programming
[6.1] Minimum 0 − 1 programming (Min 0 − 1 Programming)
I = {A ∈ Zm·n integer m × n-matrix, b ∈ Zm integer m-vector, c ∈ Nn
non-negative integer n-vector}
S(A, b, c) = {x ∈ {0, 1}n : Ax ≥ b}
n
ci xi
m(A, b, c , x) = cT x =
i=1
opt = min
Approximability: Min 0 − 1 Programming is NPO-complete (Min
Weighted 3Sat ≤ps Min 0 − 1 Programming) [83].
[6.2] Maximum bounded 0 − 1 programming (Max PB 0 − 1 Programming)
I = {A ∈ Zm·n integer m × n-matrix, b ∈ Zm integer m-vector,
c ∈ {0, 1}n binary n-vector}
n
S(A, b, c) = {x ∈ {0, 1} : Ax ≤ b}
n
ci xi
m(A, b, c , x) = cT x =
i=1
opt = max
Approximability:
Max PB 0 − 1 Programming is NPO PB-complete (LP with Forbidden Pairs ≤pP Max PB 0 − 1 Programming) [12].
[6.3] Minimum generalized 0 − 1 assignment (Min 0 − 1 Assignment)
I = {A ∈ Zm·n integer m × n-matrix, b ∈ Zm integer m-vector,
C ∈ {0, 1}m·n binary m × n-matrix}
m·n
S(A, C) = {X ∈ {0, 1}
binary m × n-matrix such that ∀i ∈ [1..m],
n
Ai,j Xi,j ≤ bi and there is exactly one 1 in each column of X}
j=1
138
Appendix B. A list of optimization problems
m(A, C , X) =
m n
Ci,j Xi,j
i=1 j=1
opt = min
Approximability: Min 0 − 1 Assignment = Apx [96].
[6.4] Minimum quadratic 0 − 1 assignment (Min Quadratic 0 − 1
Assignment)
I = {C ∈ Nn·n non-negative integer n × n-matrix, D ∈ Nm·m nonnegative integer m × m-matrix}
S(C, D) = {X ∈ {0, 1}n·m binary n × m-matrix such that there is at
most one 1 in each row of X and exactly one 1 in each column of X}
n
m
Ci,j Dk,l Xi,k Xj,l
m(C, D , X) =
i,j=1 k,l=1
i=j
k=l
opt = min
Approximability: Min Quadratic 0 − 1 Assignment ∈
/ Apx [96].
[6.5] Minimum planar record packing (Min Planar Record Packing)
I = {p = (p1 , . . . , pn ) vector of n probabilities, 0 ≤ pi ≤ 1}
S(p) = {C ⊆ Z2 : |C| = n set of integer coordinates in the plane}
n n
pi pj d(ci , cj )
m(p, C) =
i=1 j=1
where d(ci , cj ) is the discretized Euclidean distance between the points
ci and cj in C.
opt = min
Algorithm: Min Planar Record Packing
√
√ can be approximated
with an absolute error guarantee of +4 2 + 8 π,, that is one can in
polynomial √time find
√ a solution with objective function value at most
opt(p) + +4 2 + 8 π, [57].
[6.6] Knapsack (Max Knapsack)
+
+
+
I = {U, s, v, b : U is a finite
set, s : U → Z , v : U → Z , b ∈ Z }
s(u) ≤ b}
S(U, s, v, b) = {U ⊆ U :
m(U, s, v, b , U ) =
u∈U v(u)
u∈U opt = max
Approximability: Max Knapsack ∈ Fptas [46].
[6.7] Integer m-dimensional knapsack (Max Integer m-dimensional
Knapsack)
I = {A ∈ Nm·n non-negative integer m × n-matrix, b ∈ Nm non-negative
integer m-vector, c ∈ Nn non-negative integer n-vector}
S(A, b, c) = {x ∈ Nn : Ax ≤ b}
Section B.7. Logic 139
m(A, b, c , x) = cT x =
nci xi
i=1
opt = max
Approximability: For constant m Max Integer m-dimensional
Knapsack ∈ Ptas [20].
Algorithm: For each ε > 0 Max Integer m-dimensional Knapsack can be approximated within 1 + ε in time O(nm/ε ) [20].
[6.8] Integer k-choice knapsack (Max Integer k-choice Knapsack)
I = {k ∈ Z+ , A, C ∈ Nk·n non-negative integer k × n-matrices,
b ∈ N non-negative integer}
n
ai,f (i) xi ≤ b}
S(k, A, C, b) = {x ∈ Nn , f : [1..n] → [1..k] such that
i=1
nci,f (i) xi
m(k, A, C, b , x, f ) =
i=1
opt = max
Approximability: Max Integer k-choice Knapsack ∈ Fptas [20].
B.7
Logic
[7.1] Maximum satisfiability (Max Sat)
I = {U, C : U finite set of variables, C set of disjunctive clauses of
literals}
A literal is a variable or a negated variable.
S(U, C) = {C ⊆ C : there is a truth assignment for U such that every
clause in C is satisfied}
m(U, C , C ) = |C |
opt = max
Approximability: Max Sat ∈ Max Σ1 [88], Max Sat is Max SNPhard [88], Max Sat ∈
/ Max Σ0 [61].
Algorithm: Max Sat can be approximated within 4/3 [110].
[7.2] Maximum k-satisfiability (Max kSat)
I = {U, C : U finite set of variables, C set of disjunctive clauses, each
involving at most k literals, where k ≥ 2}
S(U, C) = {C ⊆ C : there is a truth assignment for U such that every
clause in C is satisfied}
m(U, C , C ) = |C |
opt = max
Approximability:
Max kSat is Max Σ0 -complete for every constant k ≥ 2 [88].
The planar version of Max 3Sat ∈ Ptas∞ , see Section 8.2.
Algorithm: Max kSat can be approximated within 1/(1 − 2−k ) if
every clause consists of exactly k literals [48].
140
Appendix B. A list of optimization problems
[7.3] Maximum bounded k-satisfiability (Max kSat −B)
This is the same problem as Max kSat but the total number of occurrences of each variable is bounded by the constant B.
Approximability: Max kSat −B is Max Σ0 -complete for every constant k ≥ 3 if B ≥ 6 or if there are at most 4 occurrences of each literal
(Max kSat ≤pL Max kSat −B) [88]. There is a constant B such that
Max 2Sat −B is Max Σ0 -complete [88].
Algorithm: See Max kSat.
[7.4] Minimum 3DNF satisfiability (Min 3DNF Sat)
I = {U, C : U finite set of variables, C set of conjunctive clauses, each
involving at most three literals}
S(U, C) = {C ⊆ C : there is a truth assignment for U such that every
clause in C is satisfied}
m(U, C , C ) = |C |
opt = min
Min 3DNF Sat is the optimization problem version of the NP-complete
problem Non-tautology of 3dnf formulas [35].
Approximability:
Min 3DNF Sat ∈
/ Apx, Min 3DNF Sat is Min Σ0 -complete under
P -reductions [61].
[7.5] Maximum not-all-equal 3-satisfiability (Max Not-all-equal 3Sat)
I = {U, C : U finite set of variables, C set of disjunctive clauses, each
involving at most 3 literals}
S(U, C) = {C ⊆ C : there is a truth assignment for U such that each
clause in C has at least one true literal and at least one false literal}
m(U, C , C ) = |C |
opt = max
Approximability: Max Not-all-equal 3Sat is Max Σ0 -complete
(Max 2Sat ≤pL Max Not-all-equal 3Sat with α = β = 1) [88].
[7.6] Maximum generalized k-satisfiability (Max G kSat)
I = {U, C : U finite set of variables, C set of clauses, where each clause
is a disjunction of conjunctions of literals and each conjunction consists
of at most k literals}
S(U, C) = {C ⊆ C : there is a truth assignment for U such that every
clause in C is satisfied}
m(U, C , C ) = |C |
opt = max
Approximability: Max G kSat ∈ Max Σ1 for each k > 0 [88],
Max G 1Sat=Max Sat, ∃k > 1 :Max G kSat is Max NP-hard [88],
Max G kSat ∈
/ Max Σ0 (see Max Sat).
[7.7] Minimum weighted satisfiability (Min Weighted Sat)
Section B.7. Logic 141
I = {U, F, w : U finite set of variables, F boolean formula, w : U → N
weight function}
S(U, F, w) = {U ⊆ U : F is satisfied when the variables in U are set
to 1 and the variables
in U − U are set to 0}
m(U, F, w , U ) =
w(v)
v∈U opt = min
Approximability: Min Weighted Sat is NPO-complete [83].
[7.8] Minimum weighted 3-satisfiability (Min Weighted 3Sat)
This is the same problem as Min Weighted Sat but the formula must
be in 3CNF.
Approximability: Min Weighted 3Sat is NPO-complete [83].
[7.9] Maximum weighted satisfiability (Max Weighted Sat)
I = {U, C, w : U finite set of variables, C set of clauses, where each
clause is a disjunction of conjunctions of literals, w : C → N weight
function}
S(U, C, w) = {C ⊆ C : there is a truth assignment for U such that
every clause in C is
satisfied}
m(U, C, w , C ) =
w(c)
c∈C opt = max
Approximability: Max Weighted Sat is Max NP-hard (Max Sat
≤pL Max Weighted Sat with α = β = 1).
Algorithm:
Max Weighted Sat can be approximated within 4/3 [110].
[7.10] Maximum weighted satisfiability with bound (Max Weighted
Sat with Bound)
I = {U, F, B, w : U finite set of variables, F boolean formula,
B ∈ N,
w(u) ≤ 2 B}
w : U → N weight function such that
S(U, F, B, w) = {U ⊆ U }




w(v)

m(U, F, B, w , U ) =
v∈U 



B
u∈U
if F is satisfied when the variables
in U are set to 1 and the variables
in U − U are set to 0,
otherwise.
opt = max
Approximability:
Max Weighted Sat with Bound is Apx-complete with respect to
the P-reduction [24]. See Section 4.6.
[7.11] Maximum weighted satisfiability with small bound (Max Weighted Sat with Small Bound)
142
Appendix B. A list of optimization problems
I = {U, F, B, w : U finite set of variables,
F boolean formula, B ∈ N,
w : U → N weight function such that
w(u) ≤ (1 + 1/(|U | − 1)) B}
S(U, F, B, w) = {U ⊆ U }




w(v)

v∈U m(U, F, B, w , U ) =




B
u∈U
if F is satisfied when the variables
in U are set to 1 and the variables
in U − U are set to 0,
otherwise.
opt = max
Approximability:
Max Weighted Sat with Bound is Ptas-complete with respect to
the F-reduction [24]. See Section 4.3.
[7.12] Maximum number of satisfiable formulas (Max # Sat)
I = {U, S : U finite set of variables, S set of 3CNF formulas}
S(U, S) = {U ⊆ U }
m(U, S , U ) =| {F ∈ S : F is satisfied when the variables in U are set
to 1 and the variables in U − U are set to 0} |
opt = max
Approximability:
Max # Sat is Max Π1 -complete [84], Max # Sat is NPO PB-complete
(LIP ≤pL Max # Sat with α = β = 1), see Theorem 4.32.
[7.13] Max distinguished ones (Max Dones)
I = {X, Z, C : X and Z finite set of variables, C set of disjunctive
clauses, each involving at most 3 literals}
S(X, Z, C) = {X , Z : X ⊆ X ∧ Z ⊆ Z∧ every clause in C is
satisfied when the variables in X and Z are set to 1 and the variables
in X − X and Z − Z are set to 0}
m(X, Z, C , X , Z ) = |Z |
opt = max
Approximability: Max Dones is Max Π1 -complete [84], Max Dones
is NPO PB-complete (Max # Sat ≤pL Max Dones with α = β = 1
[84]), see Theorem 4.32.
[7.14] Max ones (Max Ones)
I = {U, F : U finite set of variables, F boolean formula in 3CNF}
S(U, F ) = {U ⊆ U : F is satisfied when the variables in U are set to
1 and the variables in U − U are set to 0}
m(U, F , U ) = |U |
opt = max
Approximability: Max Ones is Max Π1 -complete [84], Max Ones
is NPO PB-complete (Max Dones ≤pP Max Ones [84]), see Theorem 4.32.
Section B.8. Automata and language theory 143
[7.15] Max k ones with negated variables (Max k Ones Neg)
I = {U, F : U finite set of variables, F boolean formula in kCNF where
every variable appears negated}
S(U, F ) = {U ⊆ U : F is satisfied when the variables in U are set to
1 and the variables in U − U are set to 0}
m(U, F , U ) = |U |
opt = max
Approximability: Max k Ones Neg is Max F− Π1 (k)-complete [84].
[7.16] Minimum equivalence deletion (Min ≡Deletion)
I = {U, C : U finite set of variables, C set of pairs of literals}
S(U, C) = {C ⊆ C : there is a truth assignment for U such that
l1 ≡ l2 for every pair (l1 , l2 ) ∈ C }
m(U, C , C ) = |C| − |C |
opt = min
Algorithm:
Min ≡Deletion can be approximated within O(log3 |C|) [59].
[7.17] Maximum k-constraint satisfaction (Max k-constraint Sat)
I = {U, C : U finite set of variables, C vector of conjunctions, each
involving at most k literals, where k ≥ 2}
S(U, C) = {C ⊆ C : there is a truth assignment for U such that every
conjunction in C is satisfied}
m(U, C , C ) = |C |
opt = max
Approximability: Max k-constraint Sat is Max Σ0 -complete for
every constant k ≥ 2 when the same conjunction appears at most a constant number of times in the input (Max 2Sat ≤pL Max 2-constraint
Sat with α = β = 1), see Theorem A.3.
Algorithm:
Max k-constraint Sat can be approximated within 2k [12].
If Max 2-constraint Sat cannot be approximated within o(1), then
Max k-constraint Sat cannot be approximated within 2o(k) when
k ≤ log |C| [12].
B.8
Automata and language theory
[8.1] Minimum consistent deterministic finite automata (Min Consistent DFA)
I = {P, N : P, N sets of binary strings}
S(P, N ) = {A = Q, {0, 1}, δ, q0, F a deterministic finite automata
accepting all strings in P and rejecting all strings in N }
m(P, N , A) = |Q| number of states in the automata.
Min Consistent
Approximability: Min Graph Colouring ≤1+ε
r
DFA with a size amplification of |V | /ε [101],
144
Appendix B. A list of optimization problems
For each ε > 0 Min Consistent DFA cannot be approximated within
(|P | + |N |)1/14−ε [92].
[8.2] Longest computation (Longest Computation)
I = {M, x : M nondeterministic Turing machine, x binary string}
S(M, x) = {c guess string produced by M on input x}
m(M, x , c) = min(|x| , |c|) where |c| denotes the length of the guess
string c
opt = max
Approximability: Longest Computation is NPO PB-complete [12].
Section B.8. Automata and language theory 145
I would like to express my sincere gratitude to those, friends and colleagues,
who in various ways helped me throughout this study:
Stefan Arnborg and Germund Dahlquist who interested me in the
field of theoretical computer science and helped me to get started.
Johan Håstad, my supervisor, for drawing my attention to the area
of complexity and especially approximation, always giving me new
ideas and suggestions, and for his continuous encouragement and
invaluable support. I have many times made use of his great knowledge and broad network of contacts.
Mikael Goldmann, for careful reading of the whole of my thesis and
many suggestions for improvements.
The rest of the TD project group at NADA, Lars Langemyr , Jens
Lagergren, Joachim Hollman, Henry Feng, Kalev Kask and Ulf
Berggren for always being willing to discuss questions related to
and unrelated to this work.
Magnus Halldórsson for constantly informing me about what in the
approximation area is currently going on in the world.
All the colleagues at NADA, in particular the computer group for
maintaining the computers.
Fysikalen’s writer’s group Björn-Olof Skytt , Bengt Erlandsson,
Johan Groth, Johan Karlander , Pontus Lindblad , Mats Löfdahl ,
Håkan Huss and Kimmo Eriksson for continuously giving me writing practice and a good laugh.
My wife Linda and my family Gerd , Henrik , Kimmo and Jonna
Eriksson for always being accessible for talks, questions, help, proofreading, music and much more.
The faculty of computer science at KTH “sektion D” for my graduate position “doktorandtjänst”, which made this work possible.
Thanks, all of you!
Index
Max H-matching −B,
64, 104, 116
Max Ind Set, 11, 15, 34, 52, 100,
102, 107, 124
Max Ind Set −B, 41, 104, 125
Max Ind Set class, 52, 106
Max Induced Connected
Chordal Subgraph,
107, 125
Max Induced H-matching,
64, 105, 117
Max Induced H-matching −B,
64, 104, 117
Max Integer k-choice
Knapsack, 103, 139
Max Integer m-dimensional
Knapsack, 103, 138
Max k Ones Neg, 143
Max k-colourable ES, 104, 114
Max k-colourable IS, 107, 115
Max k-constraint Sat,
52, 104, 110, 143
Max k-cut, 104, 118
Max k-Hyperclique, 51, 124
Max k-Multicom Flow, 103, 137
Max kDM, 63, 105, 131
Max kDM −B, 63, 104, 131
Max Knapsack, 103, 138
Max kSat, 104, 139
Max kSat −B, 104, 140
Max kSP, 62, 105, 132
Max kSP −B, 62, 104, 132
Max L-balanced k-clustering
Sum, 106, 119
Max Matching, 131
Max Not-all-equal 3Sat,
104, 140
Max Ones, 107, 142
Problem index
LIP, 36, 48, 86, 107, 125
Longest Common Subsequence,
107, 135
Longest Computation, 107, 144
Longest Path, 106, 125
LP with Forbidden Pairs,
36, 107, 125
Max 2 Ones Neg, 107
Max 2-Hyperclique, 107
Max 2DM, 39, 40, 131
Max 2Sat, 104
Max 2Sat −B, 104
Max 3DM, 8, 39, 49, 101, 105, 130
Max 3DM −B, 40, 44, 54, 104, 131
Max 3Sat, 41, 48, 101, 104, 139
Max 3Sat −B, 41, 104, 140
Max 3SP, 34, 39, 61, 105, 132
Max 3SP −B, 40, 44, 61, 104, 132
Max CES, 82, 107, 126
Max CES −B, 82, 105, 126
Max CICS, 86, 107, 127
Max CIS, 74, 107, 126
Max CIS −B, 74, 105, 126
Max Clique, 15, 39, 47, 52, 101,
107, 123
Max Clique −B, 40, 124
Max Complete Bipartite Subgraph, 107, 124
Max Connected Component,
47, 127
Max Cut, 101, 104, 117
Max Cut −B, 104, 118
Max Directed Cut, 104, 118
Max Dones, 107, 142
Max G kSat, 38, 105, 140
Max H-matching,
64, 102, 105, 116
146
Index
Max PB 0 − 1 Programming,
36, 107, 137
Max Planar 3DM, 104
Max Planar 3Sat, 104
Max Planar H-matching,
103, 117
Max Planar Independent Set,
103
Max Planar k-colourable IS,
104
Max Planar kSat, 104
Max Sat, 34, 38, 47, 105, 139
Max SP, 62, 107, 132
Max Triangle Packing,
63, 64, 102, 105, 116
Max Triangle Packing −B,
63, 104, 116
Max Weighted Sat, 105, 141
Max Weighted Sat with
Bound, 34, 105, 141
Max Weighted Sat with Small
Bound, 32, 103, 141
Max # Sat, 48, 107, 142
Min (1, 2) Steiner Tree, 105, 129
Min (1, 2)Tsp, 89, 105, 128
Min (1, 2)Tsp −B, 105, 128
Min (k, F )-partition −d, 105, 122
Min 0 − 1 Assignment, 106, 137
Min 0 − 1 Programming,
35, 107, 137
Min ∆Tsp, 88, 105, 127
Min ≡Deletion, 107, 143
Min ρ-dominating Set, 107, 121
Min 3D Packing, 105, 134
Min 3DNF Sat, 47, 48, 106, 140
Min Balanced Cut, 107, 118
Min Bin Packing, 33, 103, 134
Min Bottleneck ∆ Wsp,
106, 129
Min CBSC, 106, 122
Min Clique Cover, 106, 122
Min Clique Partition,
100, 106, 122
Min Consistent DFA, 106, 143
Min Cut, 105, 118
Min Deg Spanning Tree,
102, 130
147
Min Directed Edge Disjoint
Cycle Cover,
106, 123
Min Directed Node Disjoint
Cycle Cover,
106, 123
Min Dominating Set,
51, 102, 106, 108, 113
Min Dominating Set −B,
104, 113
Min EC, 107, 133
Min ETsp, 34, 90, 102, 105, 128
Min Edge Colouring,
102, 106, 115
Min Edge Disjoint Cycle
Cover, 106, 123
Min Edge Dominating Set, 113
Min Euclidean Steiner Tree,
102, 105, 129
Min Feedback Edge Set,
107, 115
Min Feedback Node Set,
107, 115
Min Graph Colouring,
47, 100, 106, 114
Min Graph Colouring class, 106
Min Hitting Set, 106, 134
Min Ind Dom Set,
106, 113
Min Ind Dom Set −B,
104, 109, 114
Min Interval Graph Completion, 107, 127
Min k-center, 106, 120
Min k-clustering, 106, 119
Min k-clustering Sum, 106, 119
Min k-hypernode Cover,
50, 51, 105, 113
Min k-supplier, 106, 121
Min k-switching Net, 106, 121
Min k∆Tsp, 105, 128
Min kSC, 105, 133
Min kSC −B, 104, 133
Min L-balanced ρ-dominating
Set, 105, 121
Min L-balanced k-center,
105, 120
148
Index
Min L-balanced weighted
k-center, 105, 120
Min m-processor Scheduling,
103, 136
Min m-processor Scheduling
Speed Factors, 103, 136
Min Node Cover, 47, 49, 50, 53,
101, 102, 105, 112
Min Node Cover −B,
42, 104, 112
Min Node Disjoint Cycle
Cover, 106, 123
Min Planar Dominating Set,
103
Min Planar Edge Dominating
Set, 103
Min Planar Ind Dom Set, 104
Min Planar Node Cover, 103
Min Planar Record Packing,
102, 138
Min Quadratic 0−1 Assignment,
106, 138
Min Ratio-cut, 107, 119
Min Rectilinear Steiner Tree,
105, 130
Min S/T 1-processor Scheduling, 107, 135
Min SC, 26, 51, 106, 108, 133
Min Scp, 105, 128
Min Steiner Tree, 105, 129
Min Test Collection,
107, 111, 134
Min Tsp, 35, 88, 107, 127
Min Uniform m-processor
Scheduling, 103, 136
Min Weighted 3Sat, 35, 107, 141
Min Weighted k-center,
105, 120
Min Weighted Sat, 107, 140
Shortest Common Supersequence, 105, 135
General index
A-reduction, 16
absolute continuous reduction, 21
absolute error, 9
guarantee of, 10
approximation preserving
reduction, 14
approximation scheme, 11
approximation within
p, 10
asymptotically, 10
p(n), 11
Apx, 34, 43, 105
Apx PB, 35
Apx-complete, 34
best asymptotic performance ratio,
11
best performance ratio, 10
asymptotic, 11
bin packing, 33, 134
bottleneck wandering salesperson
problem with triangle
inequality, 129
bounded approximation, 11
bounded reduction, 16
bounded travelling salesperson
problem with distances
one and two, 128
chromatic index, 115
chromatic number, 114
closure of a class, 30
colouring of graph, 114
complete problem, 29
constant absolute error guarantee,
10, 102
continuous reduction, 17, 21
convex NPO problem, 27
cost-respecting, 10, 35
difference guarantee, 10
error, measurement of, 8
Euclidean travelling salesperson
problem, 34, 90, 102, 128
F-reduction, 19
Index
feasible solution, 8
Fptas, 11, 30, 103
Fptas PB, 35
Fptas∞ , 33, 103
fully polynomial time
approximation scheme, 11
gadget, 69
graph, 7
restriction, 7
graph colouring, 114
hard problem, 29
hierarchies of problems, 46
I, 8
input instance, 8
integer k-choice knapsack, 139
integer m-dimensional knapsack,
138
intermediate degrees, 37
knapsack, 138
L-reduction, 18
linear reduction, 18
ln, 7
log, 7
logical characterization of NP, 37
longest
common subsequence, 135
computation, 144
induced path in a graph,
36, 48, 86, 125
path, 125
path with forbidden pairs,
36, 125
master and slave problems, 100
matching problems, 54
max
distinguished ones, 142
k ones with negated variables,
143
ones, 142
Max Πi , 46
Max Σi , 46
Max F− Π1 (k), 51
149
Max NP, 37, 45, 104
Max NP, 38, 42
Max PB, 46
Max SNP, 37, 45, 104
Max SNP, 38, 42, 104
Max SNP-hard, 105
maximal, 8
maximization problem, 8
maximum, 8
3-satisfiability, 41, 48, 139
planar, 101
bipartite matching, 39, 40, 131
bounded
0 − 1 programming, 36, 137
3-satisfiability, 41, 140
common edge subgraph,
82, 126
common induced subgraph,
74, 126
cut, 118
H-matching, 64, 116
independent set, 41, 125
induced H-matching, 64, 117
k-dimensional matching,
63, 131
k-satisfiability, 140
k-set packing, 62, 132
three dimensional matching,
40, 44, 54, 131
three-set packing,
40, 44, 61, 132
triangle packing, 63, 116
clique, 15, 39, 47, 52, 123
bounded graph, 40, 124
planar, 101
common
edge subgraph, 82, 126
induced connected subgraph,
86, 127
induced subgraph, 74, 126
subgraph, 74
complete bipartite subgraph,
124
connected component, 47, 127
cut, 117
planar, 101
directed cut, 118
150
Index
generalized k-satisfiability,
38, 140
H-matching, 64, 116
planar, 102
independent set,
12, 15, 34, 52, 100, 124
bounded, 41, 125
planar, 11, 102
induced connected chordal
subgraph, 125
induced H-matching, 64, 117
k-colourable
edge subgraph, 114
induced subgraph, 115
k-constraint satisfaction,
52, 110, 143
k-cut, 118
k-dimensional matching,
63, 131
k-hyperclique, 51, 124
k-multicommodity flow, 137
k-satisfiability, 139
k-set packing, 62, 132
L-balanced k-clustering sum,
119
matching, 131
non-bipartite matching, 131
not-all-equal 3-satisfiability,
140
number of satisfiable formulas,
48, 142
planar H-matching, 117
satisfiability, 34, 38, 47, 139
set packing, 62, 132
subset sum, 138
three dimensional matching,
8, 12, 39, 49, 54, 101, 130
three-set packing,
34, 39, 61, 132
triangle packing, 63, 64, 116
planar, 102
weighted satisfiability, 141
with bound, 34, 141
with small bound, 32, 141
measure of approximation, 8, 10
Min Πi , 46
Min Σi , 46
Min FΠ1 , 49
Min F+ Π1 , 50
Min F+ Π2 , 50, 106
Min PB, 46
minimal, 8
minimization problem, 8
minimum, 8
(k, F )-partition with diameter
d, 122
0 − 1 programming, 12, 35, 137
ρ-dominating set, 121
3DNF satisfiability, 47, 48, 140
balanced cut, 118
bounded
dominating set, 113
independent dominating set,
109, 114
k-set cover, 133
node cover, 42, 112
clique cover, 122
clique partition, 100, 122
colouring
edge, 102, 115
node, 114
complete bipartite subgraph
cover, 122
consistent deterministic finite
automata, 143
cut, 118
degree spanning tree, 130
directed edge disjoint cycle
cover, 123
directed node disjoint cycle
cover, 123
dominating set, 51, 108, 113
planar, 102
edge colouring, 115
edge disjoint cycle cover, 123
edge dominating set, 113
equivalence deletion, 143
Euclidean Steiner tree, 102, 129
exact cover, 133
feedback
edge set, 115
node set, 115
generalized 0 − 1 assignment,
137
Index
graph colouring, 47, 100, 114
height three dimensional packing, 134
hitting set, 134
independent dominating set,
113
interval graph completion,
127
k-center, 120
k-clustering, 119
k-clustering sum, 119
k-hypernode cover, 50, 51, 113
k-hypervertex cover, 113
k-set cover, 133
k-supplier, 121
k-switching network, 121
L-balanced
ρ-dominating set, 121
k-center, 120
weighted k-center, 120
m-processor scheduling
makespan, 136
with speed factors, 136
maximal independent set, 114
node cover,
12, 47, 49, 50, 53, 112
planar, 101, 102
node disjoint cycle cover, 123
planar record packing, 138
quadratic 0 − 1 assignment,
138
ratio-cut, 119
rectilinear Steiner tree, 130
set cover, 26, 51, 108, 133
Steiner tree, 129
with distances one and two,
129
storage-time single-processor
scheduling, 135
test collection, 111, 134
uniform m-processor
scheduling makespan, 136
vertex cover, 12, 112
weighted 3-satisfiability,
35, 141
weighted k-center, 120
weighted satisfiability, 140
151
N, 7
non-constructive reductions, 25
normalized relative error, 9
NP optimization problem, 8
NP-complete in the strong sense,
30
NPO, 35, 106
NPO problem, 8
NPO PB, 12, 35, 86
NPO PB-complete, 36, 107
NPO-complete, 35, 107
objective function, 8
opt, 8
OptP[log n], 12, 36
P-reduction, 17
p-simple, 31
packing problems, 54
parameter dependent reductions, 24
parsimonious reduction, 27
performance ratio, 10
planar problems, 100
PO, 8
PO PB, 35, 43, 47
polynomial time approximation
scheme, 11
fully, 11
randomized, 33
polynomially bounded optimum,
12, 35
pseudo-polynomial time algorithm,
30
Ptas, 11, 32, 43, 53, 103
Ptas PB, 35
Ptas-complete, 32
Ptas∞ , 33, 103
Q, 7
R, 7
R+ , 7
R-reduction, 18
randomized polynomial approximation scheme, 33
ratio preserving reduction, 20
ratio preserving reduction scheme,
22
152
Index
reduction
A (approximation preserving),
16
F (Fptas preserving), 19
L (linear), 18
non-constructive, 25
P (Ptas preserving), 17
parsimonious, 27
preserving relative error, 16
R (Rptas preserving), 18
ratio preserving, 20
reencoding, 15
S (size dependent), 24
strict, 16
structure preserving, 26
reductions preserving approximability, 14
reencoding, 15
relative error, 9
normalized, 9
relative error preserving reductions,
16
restriction of graph, 7
ring of trees, 54
Rmax, 51
Rmax(k), 51
Rptas, 33
S-reduction, 24
satisfiability problem, 37
shortest common supersequence,
135
size dependent reductions, 24
slave problem, 100
stacker crane problem, 128
strict reduction, 16
strong NP-completeness, 30
structure preserving reduction, 26
Syntactic Max NP, 38
Syntactic Max SNP, 38, 40
transitivity, 20
travelling k-salesperson problem
with triangle inequality,
128
travelling salesperson problem, 12,
35, 87, 127
TSP, 87
bottleneck, with triangle
inequality, 129
Euclidean, 90, 128
in two dimensions, 128
general, 88, 127
with distances one and two,
89, 128
with k salespersons, 128
with triangle inequality,
88, 127, 128
Z, 7
Z+ , 7
Bibliography
[1] A. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of
Computer Algorithms. Addison-Wesley, Reading, Mass., 1974.
[2] S. Arora, C. Lund, R. Motwani, M. Sudan, and M. Szegedy. Proof verification and hardness of approximation problems. In Proc. of 33rd Annual
IEEE Sympos. on Foundations of Computer Science, pages 14–23, 1992.
[3] S. Arora and S. Safra. Probabilistic checking of proofs; a new characterization of NP. In Proc. of 33rd Annual IEEE Sympos. on Foundations of
Computer Science, pages 2–13, 1992.
[4] G. Ausiello, A. D’Atri, and M. Protasi. Structure preserving reductions
among convex optimization problems. Journal of Computer and System
Sciences, 21:136–153, 1980.
[5] G. Ausiello, A. Marchetti-Spaccamela, and M. Protasi. Toward a unified
approach for the classification of NP-complete optimization problems.
Theoretical Computer Science, 12:83–96, 1980.
[6] B. S. Baker. Approximation algorithms for NP-complete problems on
planar graphs. In Proc. of 24th Annual IEEE Sympos. on Foundations
of Computer Science, pages 265–273, 1983.
[7] J. Bar-Ilan and D. Peleg. Approximation algorithms for selecting network
centers. In Algorithms and Data structures, pages 343–354. SpringerVerlag, 1991. Lecture Notes in Computer Science 519.
[8] R. Bar-Yehuda and S. Even. A local-ratio theorem for approximating the
weighted vertex cover problem, volume 25 of Annals of Discrete Mathematics, pages 27–46. Elsevier science publishing company, Amsterdam,
1985.
[9] H. Barrow and R. Burstall. Subgraph isomorphism, matching relational
structures and maximal cliques. Information Processing Letters, 4:83–84,
1976.
[10] F. Berman, D. Johnson, T. Leighton, P. W. Shor, and L. Snyder. Generalized planar matching. J. Algorithms, 11:153–184, 1990.
153
154
Bibliography
[11] P. Berman and V. Ramaiyer. Improved approximations for the Steiner
tree problem. In Proc. Third Annual ACM-SIAM Symp. on Discrete
Algorithms, 1992.
[12] P. Berman and G. Schnitger. On the complexity of approximating the
independent set problem. In Proc. 6th Annual Symposium on Theoretical Aspects of Computer Science, pages 256–268. Springer-Verlag, 1989.
Lecture Notes in Computer Science 349.
[13] P. Berman and G. Schnitger. On the complexity of approximating the
independent set problem. Inform. and Comput., 96:77–94, 1992.
[14] M. Bern and P. Plassmann. The Steiner problem with edge lengths 1 and
2. Information Processing Letters, 32:171–176, 1989.
[15] A. Blum. An O(n0.4 )-approximation algorithm for 3-coloring. In Proc.
Twenty first Annual ACM symp. on Theory of Comp., pages 535–542.
ACM, 1989.
[16] A. Blum. Interactive protocols and clique lower bounds. Technical report,
MIT, Laboratory for Computer Science, 1991.
[17] A. Blum, T. Jiang, M. Li, J. Tromp, and M. Yannakakis. Linear approximation of shortest superstrings. In Proc. Twenty third Annual ACM
symp. on Theory of Comp., pages 328–336. ACM, 1991.
[18] R. Boppana and M. M. Halldórsson. Approximating maximum independent sets by excluding subgraphs. Bit, 32(2):180–196, 1992.
[19] D. Bruschi, D. Joseph, and P. Young. A structural overview of NP
optimization problems. In Proc. Optimal Algorithms, pages 205–231.
Springer-Verlag, 1989. Lecture Notes in Computer Science 401.
[20] A. K. Chandra, D. S. Hirschberg, and C. K. Wong. Approximate algorithms for some generalized knapsack problems. Theoretical Computer
Science, 3:293–304, 1976.
[21] N. Christofides. Worst-case analysis of a new heuristic for the travelling salesman problem. Technical report, Graduate School of Industrial
Administration, Carnegie-Mellon University, Pittsburgh, 1976.
[22] E. G. Coffman, Jr, M. R. Garey, and D. S. Johnson. Approximation
Algorithms for Bin-Packing – An Updated Survey, pages 49–106. SpV,
New York, 1984.
[23] P. Crescenzi, C. Fiorini, and R. Silvestri. A note on the approximation of
the max clique problem. Information Processing Letters, 40:1–5, 1991.
[24] P. Crescenzi and A. Panconesi. Completeness in approximation classes.
Inform. and Comput., 93(2):241–262, 1991.
[25] H. N. Djidjev. On the problem of partitioning planar graphs. SIAM J.
Alg. Disc. Meth., 3(2):229–240, 1982.
Bibliography 155
[26] D. Z. Du and F. K. Hwang. An approach for proving lower bounds:
solution of Gilbert-Pollak’s conjecture on Steiner ratio. In Proc. of 31st
Annual IEEE Sympos. on Foundations of Computer Science, pages 76–
85, 1991.
[27] D. Z. Du, Y. Zhang, and Q. Feng. On better heuristic for Euclidean
Steiner minimum trees. In Proc. of 32nd Annual IEEE Sympos. on Foundations of Computer Science, pages 431–439, 1991.
[28] M. E. Dyer and A. M. Frieze. Planar 3DM is NP-complete. J. Algorithms,
11:174–184, 1986.
[29] R. Fagin. Generalized first-order spectra, and polynomial-time recognizable sets. In R. Karp, editor, Complexity and Computations. AMS,
1974.
[30] U. Feige, S. Goldwasser, L. Lovász, S. Safra, and M. Szegedy. Approximating clique is almost NP-complete. In Proc. of 32nd Annual IEEE
Sympos. on Foundations of Computer Science, pages 2–12, 1991.
[31] G. N. Frederickson, M. S. Hecht, and C. E. Kim. Approximation algorithms for some routing problems. SIAM Journal on Computing, 7:178–
193, 1978.
[32] M. Fürer and B. Raghavachari. Approximating the minimum degree
spanning tree to within one from the optimal degree. In Proc. Third
Annual ACM-SIAM Symp. on Discrete Algorithms, 1992.
[33] M. R. Garey and D. S. Johnson. Approximation algorithms for combinatorial problems: an annotated bibliography, pages 41–52. Academic Press,
New York, 1976.
[34] M. R. Garey and D. S. Johnson. Strong NP completeness results: Motivations, examples and implications. Journal of the ACM, 25:499–508,
1978.
[35] M. R. Garey and D. S. Johnson. Computers and Intractability: a guide
to the theory of NP-completeness. W. H. Freeman and Company, San
Francisco, 1979.
[36] O. Goldschmidt and D. S. Hochbaum. Polynomial algorithm for the kcut problem. In Proc. of 29th Annual IEEE Sympos. on Foundations of
Computer Science, pages 444–451, 1988.
[37] M. M. Halldórsson. Approximating the independent set and vertex cover
problems. Manuscript, 1992.
[38] M. M. Halldórsson. A still better performance guarantee for approximate
graph coloring. Information Processing Letters, 45(1):19–23, 1993.
[39] D. S. Hochbaum. Approximation algorithms for the set covering and vertex cover problems. SIAM Journal on Computing, 11(3):555–556, 1982.
156
Bibliography
[40] D. S. Hochbaum and D. B. Shmoys. A unified approach to approximation
algorithms for bottleneck problems. Journal of the ACM, 33(3):533–550,
1986.
[41] D. S. Hochbaum and D. B. Shmoys. Using dual approximation algorithms
for scheduling problems: theoretical and practical results. Journal of the
ACM, 34(1):144–162, 1987.
[42] D. S. Hochbaum and D. B. Shmoys. A polynomial approximation scheme
for machine scheduling on uniform processors: using the dual approach.
SIAM Journal on Computing, 17(3):539–551, 1988.
[43] U. Holyer. The NP-completeness of edge-coloring. SIAM Journal on
Computing, 10:718–720, 1981.
[44] J. E. Hopcroft and R. M. Karp. A n5/2 algorithm for maximum matching
in bipartite graphs. SIAM Journal on Computing, 2:225–231, 1973.
[45] E. Horowitz and S. K. Sahni. Exact and approximate algorithms for
scheduling nonidentical processors. Journal of the ACM, 23(2):317–327,
1976.
[46] O. H. Ibarra and C. E. Kim. Fast approximation for the knapsack and
sum of subset problems. Journal of the ACM, 22(4):463–468, 1975.
[47] R. W. Irving. On approximating the minimum independent dominating
set. Information Processing Letters, 37:197–200, 1991.
[48] D. S. Johnson. Approximation algorithms for combinatorial problems.
Journal of Computer and System Sciences, 9:256–278, 1974.
[49] D. S. Johnson. Local optimization and the traveling salesman problem.
In Proc. ICALP-90, pages 446–461. Springer-Verlag, 1990. Lecture Notes
in Computer Science 443.
[50] D. S. Johnson, C. H. Papadimitriou, and M. Yannakakis. How easy is
local search? Journal of Computer and System Sciences, 37:79–100, 1988.
[51] V. Kann. An algorithm solving the Euclidean travelling salesperson problem. Technical Report TRITA-NA-9102, ISSN 0348-2952, Department of
Numerical Analysis and Computing Science, Royal Institute of Technology, Stockholm, 1991.
[52] V. Kann. Maximum bounded 3-dimensional matching is MAX SNPcomplete. Information Processing Letters, 37:27–35, 1991.
[53] V. Kann. Maximum bounded H-matching is MAX SNP-complete.
Manuscript, submitted for publication, 1991.
[54] V. Kann. Which definition of MAX SNP is the best?
submitted for publication, 1991.
Manuscript,
Bibliography 157
[55] V. Kann. On the approximability of the maximum common subgraph
problem. In Proc. 9th Annual Symposium on Theoretical Aspects of Computer Science, pages 377–388. Springer-Verlag, 1992. Lecture Notes in
Computer Science 577.
[56] N. Karmarkar and R. M. Karp. An efficient approximation scheme for
the one-dimensional bin packing problem. In Proc. of 23rd Annual IEEE
Sympos. on Foundations of Computer Science, pages 312–320, 1982.
[57] R. M. Karp, A. C. McKellar, and C. K. Wong. Near-optimal solutions
to a 2-dimensional placement problem. SIAM Journal on Computing,
4(3):271–286, 1975.
[58] D. Kavadias, L. M. Kirousis, and P. Spirakis. The complexity of the
reliable connectivity problem. Information Processing Letters, 39:245–
252, 1991.
[59] P. Klein, A. Agrawal, R. Ravi, and S. Rao. Approximation through multicommodity flow. In Proc. of 31st Annual IEEE Sympos. on Foundations
of Computer Science, pages 726–737, 1990.
[60] P. G. Kolaitis and M. N. Thakur. Approximation properties of NP minimization classes. In Proc. 6th Annual Conf. on Structures in Computer
Science, pages 353–366, 1991.
[61] P. G. Kolaitis and M. N. Thakur. Logical definability of NP optimization
problems. Technical Report UCSC-CRL-93-10, Board of Studies in Computer and Information Sciences, University of California at Santa Cruz,
1993. To be published in Information and Computation.
[62] L. T. Kou, L. J. Stockmeyer, and C. K. Wong. Covering edges by cliques
with regard to keyword conflicts and intersection graphs. Communications of the ACM, 21(2):135–139, 1978.
[63] M. W. Krentel. The complexity of optimization problems. Journal of
Computer and System Sciences, 36:490–509, 1988.
[64] M. W. Krentel. Structure in locally optimal solutions. In Proc. of 30th
Annual IEEE Sympos. on Foundations of Computer Science, pages 216–
221, 1989.
[65] E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan, and D. B. Shmoys.
The Traveling Salesman Problem. John Wiley & Sons, 1985.
[66] T. Leighton, F. Makedon, S. Plotkin, C. Stein, E. Tardos, and
S. Tragoudas. Fast approximation algorithms for multicommodity flow
problems. In Proc. Twenty third Annual ACM symp. on Theory of Comp.,
pages 101–111, 1991.
[67] T. Leighton and S. Rao. An approximate max-flow min-cut theorem for
uniform multicommodity flow problems with applications to approximation algorithms. In Proc. of 29th Annual IEEE Sympos. on Foundations
of Computer Science, pages 422–431, 1988.
158
Bibliography
[68] J. K. Lenstra, D. B. Shmoys, and É. Tardos. Approximation algorithms
for scheduling unrelated parallel machines. In Proc. of 28th Annual IEEE
Sympos. on Foundations of Computer Science, pages 217–224, 1987.
[69] K. Li and K. Cheng. On three-dimensional packing. SIAM Journal on
Computing, 19(5):847–867, 1990.
[70] D. Lichtenstein. Planar formulae and their uses. SIAM Journal on Computing, 11(2):329–343, 1982.
[71] N. Linial and U. Vazirani. Graph products and chromatic numbers. In
Proc. of 30th Annual IEEE Sympos. on Foundations of Computer Science, pages 124–128, 1989.
[72] R. J. Lipton and R. E. Tarjan. A separator theorem for planar graphs.
SIAM J. Appl. Math., 36:177–189, 1979.
[73] R. J. Lipton and R. E. Tarjan. Applications of a planar separator theorem. SIAM Journal on Computing, 9(3):615–627, 1980.
[74] L. Lovász. On the ratio of optimal integral and fractional covers. Discrete
Mathematics, 13:383–390, 1975.
[75] L. Lovász and M. D. Plummer. Matching Theory, volume 29 of Annals of
Discrete Mathematics. Elsevier science publishing company, Amsterdam,
1986.
[76] C. Lund and M. Yannakakis. On the hardness of approximating minimization problems. In Proc. Twenty fifth Annual ACM symp. on Theory
of Comp., pages 286–293, 1993.
[77] D. Maier. The complexity of some problems on subsequences and supersequences. Journal of the ACM, 25:322–336, 1978.
%
[78] S. Micali and V. V. Vazirani. An O( |V | · |E|) algorithm for finding
maximum matching in general graphs. In Proc. of 21st Annual IEEE
Sympos. on Foundations of Computer Science, pages 17–27, 1980.
[79] G. L. Miller. Finding small simple cycle separators for 2-connected planar
graphs. Journal of Computer and System Sciences, 32:265–279, 1986.
[80] B. Monien and E. Speckenmeyer. Some further approximation algorithms for the vertex cover problem. In Proc. CAAP ’83, pages 341–349.
Springer-Verlag, 1983. Lecture Notes in Computer Science 159.
[81] R. Motwani and G. D. S. Ramkumar. On finding long paths in (weakly)
Hamiltonian graphs. Manuscript, 1991.
[82] T. Nishizeki and N. Chiba. Planar Graphs: Theory and Algorithms,
volume 32 of Annals of Discrete Mathematics. Elsevier science publishing
company, Amsterdam, 1988.
Bibliography 159
[83] P. Orponen and H. Mannila. On approximation preserving reductions:
Complete problems and robust measures. Technical Report C-1987-28,
Department of Computer Science, University of Helsinki, 1987.
[84] A. Panconesi and D. Ranjan. Quantifiers and approximation. In Proc.
Twenty second Annual ACM symp. on Theory of Comp., pages 446–456.
ACM, 1990.
[85] C. H. Papadimitriou. The Euclidean travelling salesman problem is NPcomplete. Theoretical Computer Science, 4:237–244, 1977.
[86] C. H. Papadimitriou, 1990. Private communication.
[87] C. H. Papadimitriou and K. Steiglitz. Combinatorial Optimization, Algorithms and Complexity. Prentice Hall, 1982.
[88] C. H. Papadimitriou and M. Yannakakis. Optimization, approximation, and complexity classes. Journal of Computer and System Sciences,
43:425–440, 1991.
[89] C. H. Papadimitriou and M. Yannakakis. The traveling salesman problem
with distances one and two. Mathematics of Operations Research, 1992.
To appear.
[90] A. Paz and S. Moran. Non deterministic polynomial optimization problems and their approximations. Theoretical Computer Science, 15:251–
277, 1981.
[91] J. G. Peters and L. Rudolph. Parallel approximation schemes for subset
sum and knapsack problems. Acta Informatica, 24:417–432, 1987.
[92] L. Pitt and M. K. Warmuth. The minimum consistent DFA problem
cannot be approximated within any polynomial. In Proc. Twenty first
Annual ACM symp. on Theory of Comp., pages 421–432. ACM, 1989.
[93] S. Rao. Finding near optimal separators in planar graphs. In Proc. of
28th Annual IEEE Sympos. on Foundations of Computer Science, pages
225–236, 1987.
[94] R. Ravi, A. Agrawal, and P. Klein. Ordering problems approximated:
single-processor scheduling and interval graph completion. In Automata,
Languages and Programming, pages 751–762. Springer-Verlag, 1991. Lecture Notes in Computer Science 510.
[95] S. K. Sahni. Algorithms for scheduling independent tasks. Journal of the
ACM, 23(1):116–127, 1976.
[96] S. K. Sahni and T. Gonzalez. P-complete approximation problems. Journal of the ACM, 23(3):555–565, 1976.
[97] H. Saran and V. Vazirani. Finding k-cuts within twice the optimal. In
Proc. of 32nd Annual IEEE Sympos. on Foundations of Computer Science, pages 743–751, 1991.
160
Bibliography
[98] M. Serna. Approximating linear programming is log-space complete for
P. Information Processing Letters, 37:233–236, 1991.
[99] M. Serna and P. Spirakis. The approximability of problems complete for
p. In Proc. Optimal Algorithms, pages 193–204. Springer-Verlag, 1989.
Lecture Notes in Computer Science 401.
[100] W. Shih, S. Wu, and Y. S. Kuo. Unifying maximum cut and minimum
cut of a planar graph. IEEE Trans. on Computers, 39(5):694–697, 1990.
[101] H. U. Simon. On approximate solutions for combinatorial optimization
problems. SIAM J. Disc. Math., 3(2):294–310, 1990.
[102] W. D. Smith, 1990. Unpublished result.
[103] L. J. Stockmeyer. The polynomial time hierarchy. Theoretical Computer
Science, 3:1–22, 1976.
[104] L. J. Stockmeyer. On approximation algorithms for #P. SIAM Journal
on Computing, 14(4):849–861, 1985.
[105] K. J. Supowit, E. M. Reingold, and D. A. Plaisted. The traveling salesman problem and minimum matching in the unit square. SIAM Journal
on Computing, 12(1):144–156, 1983.
[106] P. Vitanyi. How well can a graph be n-colored?
Mathematics, 21, 1981.
Annals of Discrete
[107] M. Yannakakis. The effect of a connectivity requirement on the complexity of maximum subgraph problems. Journal of the ACM, 26:618–630,
1979.
[108] M. Yannakakis. Edge deletion problems. SIAM Journal on Computing,
10:297–309, 1981.
[109] M. Yannakakis. The analysis of local search problems and their heuristics.
In Proc. 7th Annual Symposium on Theoretical Aspects of Computer Science, pages 298–311. Springer-Verlag, 1990. Lecture Notes in Computer
Science 415.
[110] M. Yannakakis. On the approximation of maximum satisfiability. In
Proc. Third Annual ACM-SIAM Symp. on Discrete Algorithms, pages
1–9, 1992.
[111] X. Yao. Finding approximate solutions to NP-hard problems by neural
networks is hard. Information Processing Letters, 41:93–98, 1992.